Exemplo n.º 1
0
        public void RestoreLookUp(ControlData.EyelidBoneMode eyelidBoneMode)
        {
            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Rotation )
                transform.localRotation = lookUpQ;

            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Position )
                if ( isLookUpPosSet)
                    transform.localPosition = lookUpPos;
        }
Exemplo n.º 2
0
        public void RestoreClosed(ControlData.EyelidBoneMode eyelidBoneMode)
        {
            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Rotation )
                transform.localRotation = closedQ;

            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Position )
                if ( isClosedPosSet )
                    transform.localPosition = closedPos;
        }
Exemplo n.º 3
0
        public void RestoreDefault(ControlData.EyelidBoneMode eyelidBoneMode)
        {
            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Rotation )
                transform.localRotation = defaultQ;

            if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Position )
                if ( isDefaultPosSet )
                    transform.localPosition = defaultPos;
        }
Exemplo n.º 4
0
        public void GetRotationAndPosition( float eyeAngle, float blink01, float eyeWidenOrSquint, bool isUpper, out Quaternion rotation, ref Vector3 position, ControlData.EyelidBoneMode eyelidBoneMode )
        {
            bool isLookingDown = eyeAngle > 0;
            float angle01 = Mathf.InverseLerp(0, isLookingDown	? eyeMaxDownAngle : -eyeMaxUpAngle, eyeAngle);

            if ( eyeWidenOrSquint < 0 )
                blink01 = Mathf.Lerp(blink01, 1, -eyeWidenOrSquint);

            //*** Rotation
            {
                if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Rotation )
                {
                    rotation = Quaternion.Slerp(defaultQ, isLookingDown ? lookDownQ : lookUpQ, angle01);
                    rotation = Quaternion.Slerp(rotation, closedQ, blink01);
                    if ( eyeWidenOrSquint > 0 )
                        rotation = Quaternion.Slerp(rotation, isUpper ? lookUpQ : lookDownQ, eyeWidenOrSquint);
                }
                else
                    rotation = Quaternion.identity;
            }

            //*** Position
            {
                if ( eyelidBoneMode == ControlData.EyelidBoneMode.RotationAndPosition || eyelidBoneMode == ControlData.EyelidBoneMode.Position )
                {
                    if ( isLookingDown )
                    {
                        if ( isDefaultPosSet && isLookDownPosSet )
                            position = Vector3.Lerp(defaultPos, lookDownPos, angle01);
                    }
                    else
                    {
                        if ( isDefaultPosSet && isLookUpPosSet )
                            position = Vector3.Lerp(defaultPos, lookUpPos, angle01);
                    }

                    if ( isDefaultPosSet && isClosedPosSet )
                        position = Vector3.Lerp(position, closedPos, blink01);
                    if ( eyeWidenOrSquint > 0 )
                        position = Vector3.Lerp(position, isUpper ? lookUpPos : lookDownPos, eyeWidenOrSquint);
                }
            }
        }