//姿勢情報とそれに応じた描画内容の更新を行います。
    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();
    }