腕、脚、頭、背骨の体に(実生活で)多数のジャイロスコープが取り付けられています。各ジャイロスコープには一意の 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)