0

腕、脚、頭、背骨の体に(実生活で)多数のジャイロスコープが取り付けられています。各ジャイロスコープには一意の ID があり、これを 3D モデルの身体部分にマッピングします。

各センサーのジャイロスコープ データはクォータニオンです。

私は基本的に、このデータに基づいて 3D モデルをアニメーション化したいだけです。

したがって、頭を右に回転させると、3D モデルも同様に頭を回転させるはずです。私が片足で立つと、3D モデルも同じようになります。

Box2d のような 2D 物理エンジンを使用する場合、これは変換を適用するのと同じくらい簡単です。Unity でこれを行う同等の方法は何ですか?

編集: Godot では、本当に単純です。

https://docs.godotengine.org/en/3.0/tutorials/3d/working_with_3d_skeletons.html

extends Spatial
var skel
var id

func _ready():
    skel = get_node("skel")
    id = skel.find_bone("upperarm")
    print("bone id:", id)
    var parent = skel.get_bone_parent(id)
    print("bone parent id:", id)
    var t = skel.get_bone_pose(id)
    print("bone transform: ", t)
    set_process(true)

func _process(delta):
    var t = skel.get_bone_pose(id)
    t = t.rotated(Vector3(0.0, 1.0, 0.0), 0.1 * delta)
    skel.set_bone_pose(id, t)
4

1 に答える 1