예제 #1
0
        private void SetBone(H3DAnimQuatTransform Transform, Bone Bone, int Frame, float Weight)
        {
            if (Transform.HasScale)
            {
                Bone.Scale = Vector3.Lerp(
                    Transform.GetScaleValue(Frame + 0).ToVector3(),
                    Transform.GetScaleValue(Frame + 1).ToVector3(), Weight);
            }

            if (Transform.HasRotation)
            {
                Bone.Rotation = Quaternion.Slerp(
                    Transform.GetRotationValue(Frame + 0).ToQuaternion(),
                    Transform.GetRotationValue(Frame + 1).ToQuaternion(), Weight);
            }

            if (Transform.HasTranslation)
            {
                Bone.Translation = Vector3.Lerp(
                    Transform.GetTranslationValue(Frame + 0).ToVector3(),
                    Transform.GetTranslationValue(Frame + 1).ToVector3(), Weight);
            }
        }
예제 #2
0
        public Vector3 GetLocationAtFrame(int frame)
        {
            if (_transform != null)
            {
                return(new Vector3(
                           _transform.TranslationX.GetFrameValue(frame),
                           _transform.TranslationY.GetFrameValue(frame),
                           _transform.TranslationZ.GetFrameValue(frame)
                           ));
            }
            else if (_quaternion != null)
            {
                return(_quaternion.GetTranslationValue(frame));
            }

            return(default);
예제 #3
0
        private void SetBone(H3DAnimQuatTransform Transform, Bone Bone, int Frame)
        {
            if (Transform.HasScale)
            {
                Bone.Scale = Transform.GetScaleValue(Frame).ToVector3();
            }

            if (Transform.HasRotation)
            {
                Bone.Rotation = Transform.GetRotationValue(Frame).ToQuaternion();
            }

            if (Transform.HasTranslation)
            {
                Bone.Translation = Transform.GetTranslationValue(Frame).ToVector3();
            }
        }