//姿勢情報とそれに応じた描画内容の更新を行います。 void Update() { if (_model.AttachedQumarion == null) { return; } UpdateAccelerometerSetting(); //主要な処理部分: 本体情報を更新し、結果のうちWorld位置情報を特に用いて各ボーンの位置を指定 _model.Update(); foreach (var kvp in _spheres) { var boneType = kvp.Key; var sphere = kvp.Value; var t = _model.Bones[boneType].WorldMatrix.Translate; sphere.transform.localPosition = 0.01f * new Vector3(-t.X, t.Y, t.Z); var r = MatrixToQuaternion.CreateFrom(_model.Bones[boneType].WorldMatrix); sphere.transform.localRotation = r; } foreach (var bone in _drawableBones) { bone.Update(); } }
/// <summary>デバイスの姿勢情報を更新し、適用先モデルにも更新が必要であることを通知します。</summary> void Update() { if (_model.AttachedQumarion == null) { return; } UpdateAccelerometerSetting(); _model.Update(); _rootBone.Update(); }
/// <summary>デバイスの姿勢情報を更新し、ヒューマノイドの姿勢に適用します。</summary> void Update() { if (_model.AttachedQumarion == null || animator == null) { return; } UpdateAccelerometerSetting(); _model.Update(); _rootBone.Update(); ApplyQumaLocalRotations(); }