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; }
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; }
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; }
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); } } }