コード例 #1
0
        public void MeshInSpaceAnimationController_CalculateBoneTransforms(NeoAxis.Component_MeshInSpaceAnimationController sender, NeoAxis.Component_SkeletonAnimationTrack.CalculateBoneTransformsItem[] result)
        {
            //to enable this event handler in the editor change "When Enable" property to "Simulation | Instance | Editor".
            //component: Character/Mesh In Space/C# Script/Event Handler CalculateBoneTransforms.
            var boneIndex = sender.GetBoneIndex("chest");

            if (boneIndex != -1)
            {
                ref var item = ref result[boneIndex];
                //calculate bone offset
                var angle  = new Degree(60) * Math.Sin(Time.Current);
                var offset = Matrix3F.FromRotateByY((float)angle.InRadians()).ToQuaternion();
                //update the bone
                item.Rotation *= offset;
            }
コード例 #2
0
 public static void FromRotateByY(RadianF angle, out QuaternionF result)
 {
     Matrix3F.FromRotateByY(angle, out var mat);
     mat.ToQuaternion(out result);
 }
コード例 #3
0
 public static QuaternionF FromRotateByY(RadianF angle)
 {
     Matrix3F.FromRotateByY(angle, out var mat);
     return(mat.ToQuaternion());
 }