SL-242 - more tweaks around alt eyes and wings. Alt eyes are now parented to face root, and alt eyes animate along with the original eyes inside the LLHeadRotMotion code.
parent
9d8986337a
commit
2929922ef2
|
|
@ -285,7 +285,10 @@ LLEyeMotion::LLEyeMotion(const LLUUID &id) : LLMotion(id)
|
|||
mName = "eye_rot";
|
||||
|
||||
mLeftEyeState = new LLJointState;
|
||||
mAltLeftEyeState = new LLJointState;
|
||||
|
||||
mRightEyeState = new LLJointState;
|
||||
mAltRightEyeState = new LLJointState;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -318,18 +321,38 @@ LLMotion::LLMotionInitStatus LLEyeMotion::onInitialize(LLCharacter *character)
|
|||
return STATUS_FAILURE;
|
||||
}
|
||||
|
||||
mAltLeftEyeState->setJoint( character->getJoint("mFaceEyeAltLeft") );
|
||||
if ( ! mAltLeftEyeState->getJoint() )
|
||||
{
|
||||
LL_INFOS() << getName() << ": Can't get alt left eyeball joint." << LL_ENDL;
|
||||
return STATUS_FAILURE;
|
||||
}
|
||||
|
||||
mRightEyeState->setJoint( character->getJoint("mEyeRight") );
|
||||
if ( ! mRightEyeState->getJoint() )
|
||||
{
|
||||
LL_INFOS() << getName() << ": Can't get Right eyeball joint." << LL_ENDL;
|
||||
LL_INFOS() << getName() << ": Can't get right eyeball joint." << LL_ENDL;
|
||||
return STATUS_FAILURE;
|
||||
}
|
||||
|
||||
mAltRightEyeState->setJoint( character->getJoint("mFaceEyeAltRight") );
|
||||
if ( ! mAltRightEyeState->getJoint() )
|
||||
{
|
||||
LL_INFOS() << getName() << ": Can't get alt right eyeball joint." << LL_ENDL;
|
||||
return STATUS_FAILURE;
|
||||
}
|
||||
|
||||
mLeftEyeState->setUsage(LLJointState::ROT);
|
||||
mAltLeftEyeState->setUsage(LLJointState::ROT);
|
||||
|
||||
mRightEyeState->setUsage(LLJointState::ROT);
|
||||
mAltRightEyeState->setUsage(LLJointState::ROT);
|
||||
|
||||
addJointState( mLeftEyeState );
|
||||
addJointState( mAltLeftEyeState );
|
||||
|
||||
addJointState( mRightEyeState );
|
||||
addJointState( mAltRightEyeState );
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
|
@ -343,17 +366,98 @@ BOOL LLEyeMotion::onActivate()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLEyeMotion::adjustEyeTarget()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLEyeMotion::adjustEyeTarget(LLVector3* targetPos, LLJointState& left_eye_state, LLJointState& right_eye_state)
|
||||
{
|
||||
// Compute eye rotation.
|
||||
BOOL has_eye_target = FALSE;
|
||||
LLQuaternion target_eye_rot;
|
||||
LLVector3 eye_look_at;
|
||||
F32 vergence;
|
||||
|
||||
if (targetPos)
|
||||
{
|
||||
LLVector3 skyward(0.f, 0.f, 1.f);
|
||||
LLVector3 left;
|
||||
LLVector3 up;
|
||||
|
||||
eye_look_at = *targetPos;
|
||||
has_eye_target = TRUE;
|
||||
F32 lookAtDistance = eye_look_at.normVec();
|
||||
|
||||
left.setVec(skyward % eye_look_at);
|
||||
up.setVec(eye_look_at % left);
|
||||
|
||||
target_eye_rot = LLQuaternion(eye_look_at, left, up);
|
||||
// convert target rotation to head-local coordinates
|
||||
target_eye_rot *= ~mHeadJoint->getWorldRotation();
|
||||
// eliminate any Euler roll - we're lucky that roll is applied last.
|
||||
F32 roll, pitch, yaw;
|
||||
target_eye_rot.getEulerAngles(&roll, &pitch, &yaw);
|
||||
target_eye_rot.setQuat(0.0f, pitch, yaw);
|
||||
// constrain target orientation to be in front of avatar's face
|
||||
target_eye_rot.constrain(EYE_ROT_LIMIT_ANGLE);
|
||||
|
||||
// calculate vergence
|
||||
F32 interocular_dist = (left_eye_state.getJoint()->getWorldPosition() - right_eye_state.getJoint()->getWorldPosition()).magVec();
|
||||
vergence = -atan2((interocular_dist / 2.f), lookAtDistance);
|
||||
llclamp(vergence, -F_PI_BY_TWO, 0.f);
|
||||
}
|
||||
else
|
||||
{
|
||||
target_eye_rot = LLQuaternion::DEFAULT;
|
||||
vergence = 0.f;
|
||||
}
|
||||
|
||||
//RN: subtract 4 degrees to account for foveal angular offset relative to pupil
|
||||
vergence += 4.f * DEG_TO_RAD;
|
||||
|
||||
// calculate eye jitter
|
||||
LLQuaternion eye_jitter_rot;
|
||||
|
||||
// vergence not too high...
|
||||
if (vergence > -0.05f)
|
||||
{
|
||||
//...go ahead and jitter
|
||||
eye_jitter_rot.setQuat(0.f, mEyeJitterPitch + mEyeLookAwayPitch, mEyeJitterYaw + mEyeLookAwayYaw);
|
||||
}
|
||||
else
|
||||
{
|
||||
//...or don't
|
||||
eye_jitter_rot.loadIdentity();
|
||||
}
|
||||
|
||||
// calculate vergence of eyes as an object gets closer to the avatar's head
|
||||
LLQuaternion vergence_quat;
|
||||
|
||||
if (has_eye_target)
|
||||
{
|
||||
vergence_quat.setQuat(vergence, LLVector3(0.f, 0.f, 1.f));
|
||||
}
|
||||
else
|
||||
{
|
||||
vergence_quat.loadIdentity();
|
||||
}
|
||||
|
||||
// calculate eye rotations
|
||||
LLQuaternion left_eye_rot = target_eye_rot;
|
||||
left_eye_rot = vergence_quat * eye_jitter_rot * left_eye_rot;
|
||||
|
||||
LLQuaternion right_eye_rot = target_eye_rot;
|
||||
vergence_quat.transQuat();
|
||||
right_eye_rot = vergence_quat * eye_jitter_rot * right_eye_rot;
|
||||
|
||||
left_eye_state.setRotation( left_eye_rot );
|
||||
right_eye_state.setRotation( right_eye_rot );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLEyeMotion::onUpdate()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLEyeMotion::onUpdate(F32 time, U8* joint_mask)
|
||||
{
|
||||
// Compute eye rotation.
|
||||
LLQuaternion target_eye_rot;
|
||||
LLVector3 eye_look_at;
|
||||
F32 vergence;
|
||||
|
||||
//calculate jitter
|
||||
if (mEyeJitterTimer.getElapsedTimeF32() > mEyeJitterTime)
|
||||
{
|
||||
|
|
@ -426,83 +530,10 @@ BOOL LLEyeMotion::onUpdate(F32 time, U8* joint_mask)
|
|||
}
|
||||
}
|
||||
|
||||
BOOL has_eye_target = FALSE;
|
||||
LLVector3* targetPos = (LLVector3*)mCharacter->getAnimationData("LookAtPoint");
|
||||
|
||||
if (targetPos)
|
||||
{
|
||||
LLVector3 skyward(0.f, 0.f, 1.f);
|
||||
LLVector3 left;
|
||||
LLVector3 up;
|
||||
|
||||
eye_look_at = *targetPos;
|
||||
has_eye_target = TRUE;
|
||||
F32 lookAtDistance = eye_look_at.normVec();
|
||||
|
||||
left.setVec(skyward % eye_look_at);
|
||||
up.setVec(eye_look_at % left);
|
||||
|
||||
target_eye_rot = LLQuaternion(eye_look_at, left, up);
|
||||
// convert target rotation to head-local coordinates
|
||||
target_eye_rot *= ~mHeadJoint->getWorldRotation();
|
||||
// eliminate any Euler roll - we're lucky that roll is applied last.
|
||||
F32 roll, pitch, yaw;
|
||||
target_eye_rot.getEulerAngles(&roll, &pitch, &yaw);
|
||||
target_eye_rot.setQuat(0.0f, pitch, yaw);
|
||||
// constrain target orientation to be in front of avatar's face
|
||||
target_eye_rot.constrain(EYE_ROT_LIMIT_ANGLE);
|
||||
|
||||
// calculate vergence
|
||||
F32 interocular_dist = (mLeftEyeState->getJoint()->getWorldPosition() - mRightEyeState->getJoint()->getWorldPosition()).magVec();
|
||||
vergence = -atan2((interocular_dist / 2.f), lookAtDistance);
|
||||
llclamp(vergence, -F_PI_BY_TWO, 0.f);
|
||||
}
|
||||
else
|
||||
{
|
||||
target_eye_rot = LLQuaternion::DEFAULT;
|
||||
vergence = 0.f;
|
||||
}
|
||||
|
||||
//RN: subtract 4 degrees to account for foveal angular offset relative to pupil
|
||||
vergence += 4.f * DEG_TO_RAD;
|
||||
|
||||
// calculate eye jitter
|
||||
LLQuaternion eye_jitter_rot;
|
||||
|
||||
// vergence not too high...
|
||||
if (vergence > -0.05f)
|
||||
{
|
||||
//...go ahead and jitter
|
||||
eye_jitter_rot.setQuat(0.f, mEyeJitterPitch + mEyeLookAwayPitch, mEyeJitterYaw + mEyeLookAwayYaw);
|
||||
}
|
||||
else
|
||||
{
|
||||
//...or don't
|
||||
eye_jitter_rot.loadIdentity();
|
||||
}
|
||||
|
||||
// calculate vergence of eyes as an object gets closer to the avatar's head
|
||||
LLQuaternion vergence_quat;
|
||||
|
||||
if (has_eye_target)
|
||||
{
|
||||
vergence_quat.setQuat(vergence, LLVector3(0.f, 0.f, 1.f));
|
||||
}
|
||||
else
|
||||
{
|
||||
vergence_quat.loadIdentity();
|
||||
}
|
||||
|
||||
// calculate eye rotations
|
||||
LLQuaternion left_eye_rot = target_eye_rot;
|
||||
left_eye_rot = vergence_quat * eye_jitter_rot * left_eye_rot;
|
||||
|
||||
LLQuaternion right_eye_rot = target_eye_rot;
|
||||
vergence_quat.transQuat();
|
||||
right_eye_rot = vergence_quat * eye_jitter_rot * right_eye_rot;
|
||||
|
||||
mLeftEyeState->setRotation( left_eye_rot );
|
||||
mRightEyeState->setRotation( right_eye_rot );
|
||||
adjustEyeTarget(targetPos, *mLeftEyeState, *mRightEyeState);
|
||||
adjustEyeTarget(targetPos, *mAltLeftEyeState, *mAltRightEyeState);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -519,11 +550,23 @@ void LLEyeMotion::onDeactivate()
|
|||
joint->setRotation(LLQuaternion::DEFAULT);
|
||||
}
|
||||
|
||||
joint = mAltLeftEyeState->getJoint();
|
||||
if (joint)
|
||||
{
|
||||
joint->setRotation(LLQuaternion::DEFAULT);
|
||||
}
|
||||
|
||||
joint = mRightEyeState->getJoint();
|
||||
if (joint)
|
||||
{
|
||||
joint->setRotation(LLQuaternion::DEFAULT);
|
||||
}
|
||||
|
||||
joint = mAltRightEyeState->getJoint();
|
||||
if (joint)
|
||||
{
|
||||
joint->setRotation(LLQuaternion::DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
// End
|
||||
|
|
|
|||
|
|
@ -176,6 +176,8 @@ public:
|
|||
// it will be deactivated
|
||||
virtual BOOL onActivate();
|
||||
|
||||
void adjustEyeTarget(LLVector3* targetPos, LLJointState& left_eye_state, LLJointState& right_eye_state);
|
||||
|
||||
// called per time step
|
||||
// must return TRUE while it is active, and
|
||||
// must return FALSE when the motion is completed.
|
||||
|
|
@ -193,6 +195,8 @@ public:
|
|||
LLJoint *mHeadJoint;
|
||||
LLPointer<LLJointState> mLeftEyeState;
|
||||
LLPointer<LLJointState> mRightEyeState;
|
||||
LLPointer<LLJointState> mAltLeftEyeState;
|
||||
LLPointer<LLJointState> mAltRightEyeState;
|
||||
|
||||
LLFrameTimer mEyeJitterTimer;
|
||||
F32 mEyeJitterTime;
|
||||
|
|
|
|||
|
|
@ -807,6 +807,39 @@
|
|||
<bone
|
||||
name="mHindLimb2Right"
|
||||
scale="0 0 0.1" />
|
||||
|
||||
<bone
|
||||
name="mWing1Left"
|
||||
offset="0 0 0" />
|
||||
<bone
|
||||
name="mWing2Left"
|
||||
offset="-0.015 0.015 0" />
|
||||
<bone
|
||||
name="mWing3Left"
|
||||
offset="-0.025 0.025 0" />
|
||||
<bone
|
||||
name="mWing4Left"
|
||||
offset="-0.03 0.03 0" />
|
||||
<bone
|
||||
name="mWing4FanLeft"
|
||||
offset="-0.03 0.03 0" />
|
||||
|
||||
<bone
|
||||
name="mWing1Right"
|
||||
offset="0 0 0" />
|
||||
<bone
|
||||
name="mWing2Right"
|
||||
offset="-0.015 -0.015 0" />
|
||||
<bone
|
||||
name="mWing3Right"
|
||||
offset="-0.025 -0.025 0" />
|
||||
<bone
|
||||
name="mWing4Right"
|
||||
offset="-0.03 -0.03 0" />
|
||||
<bone
|
||||
name="mWing4FanRight"
|
||||
offset="-0.03 -0.03 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
|
|
@ -1163,56 +1196,57 @@
|
|||
name="mEyeRight"
|
||||
scale="0 0 0"
|
||||
offset="0 -.009 0" />
|
||||
|
||||
<bone
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0 "
|
||||
offset="0 .009 0" />
|
||||
offset="0 .0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0 "
|
||||
offset="0 -.009 0" />
|
||||
|
||||
offset="0 -.0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerLeft"
|
||||
scale="0 0 0 "
|
||||
offset="0 .00930 0" />
|
||||
offset="0 .0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerRight"
|
||||
scale="0 0 0 "
|
||||
offset="0 -.00930 0" />
|
||||
offset="0 -.0090 0" />
|
||||
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperLeft"
|
||||
scale="0 0 0 "
|
||||
offset="0 .00930 0" />
|
||||
offset="0 .0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
scale="0 0 0 "
|
||||
offset="0 -.00930 0" />
|
||||
offset="0 -.0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyebrowInnerLeft"
|
||||
scale="0 0 0 "
|
||||
offset="0 .00930 0" />
|
||||
offset="0 .0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyebrowInnerRight"
|
||||
scale="0 0 0 "
|
||||
offset="0 -.00930 0" />
|
||||
offset="0 -.0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyebrowCenterLeft"
|
||||
scale="0 0 0 "
|
||||
offset="0 .00930 0" />
|
||||
offset="0 .0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyebrowCenterRight"
|
||||
scale="0 0 0 "
|
||||
offset="0 -.00930 0" />
|
||||
offset="0 -.0090 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyebrowOuterLeft"
|
||||
|
|
@ -1257,16 +1291,16 @@
|
|||
name="mEyeRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 -.004" />
|
||||
|
||||
<bone
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0 .004" />
|
||||
|
||||
<bone
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 -.004" />
|
||||
offset="0 0 -.004" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseRight"
|
||||
|
|
@ -1421,11 +1455,6 @@
|
|||
value_min="-1"
|
||||
value_max="1">
|
||||
<param_skeleton>
|
||||
<bone
|
||||
name="mFaceRoot"
|
||||
scale="0.25 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mEyeLeft"
|
||||
scale="0 0 0"
|
||||
|
|
@ -1436,131 +1465,6 @@
|
|||
scale="0 0 0"
|
||||
offset=".016 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset=".016 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset=".016 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperLeft"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseCenter"
|
||||
scale="0 0 0"
|
||||
offset=".01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseRight"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseLeft"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseBase"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperCenter"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperRight"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipCornerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipCornerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerCenter"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
|
||||
<bone
|
||||
name="mFaceCheekLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.007 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceCheekLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.007 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceChin"
|
||||
scale="0 0 0"
|
||||
offset="0.014 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTeethUpper"
|
||||
scale="0.28 0 0"
|
||||
offset="0 0 0" />
|
||||
<bone
|
||||
name="mFaceTeethLower"
|
||||
scale="0.28 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTongueBase"
|
||||
scale="0.3 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTongueTip"
|
||||
scale="0 0 0"
|
||||
offset="0.004 0 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
|
|
@ -1584,6 +1488,7 @@
|
|||
name="mEyeRight"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
|
|
@ -1593,7 +1498,7 @@
|
|||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerLeft"
|
||||
scale="0 0 0 "
|
||||
|
|
@ -1727,17 +1632,17 @@
|
|||
name="mEyeRight"
|
||||
scale="1 1 1"
|
||||
offset="0 0 0" />
|
||||
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="1 1 1"
|
||||
offset="0 0 0" />
|
||||
offset="0 0 -0.001" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="1 1 1"
|
||||
offset="0 0 0" />
|
||||
|
||||
offset="0 0 -0.001" />
|
||||
|
||||
<bone
|
||||
name="mFaceForeheadLeft"
|
||||
scale="1 1 1"
|
||||
|
|
@ -2087,6 +1992,16 @@
|
|||
offset=" 0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
scale="0 0.3 0.7"
|
||||
offset=" 0 0 0" />
|
||||
|
|
@ -3173,6 +3088,16 @@
|
|||
name="mFaceEyeLidUpperLeft"
|
||||
scale="0 0.1 0.2"
|
||||
offset=" 0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
|
@ -3351,6 +3276,16 @@
|
|||
name="mFaceEyebrowInnerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0.00225 -0.0048" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 -0.0042 -0.0035" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0.0042 -0.0035" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
|
|
@ -3754,6 +3689,16 @@
|
|||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 -.006" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0 -.006" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 0 -.006" />
|
||||
|
||||
</param_skeleton>
|
||||
|
|
@ -3929,6 +3874,16 @@
|
|||
offset = "0.015 0.00 0.005"
|
||||
scale = "0.0 0.0 0.0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0 -0.0033 0.0025" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0 0.0033 0.0025" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerRight"
|
||||
scale="0 0 0"
|
||||
|
|
@ -4098,10 +4053,184 @@
|
|||
name="mFaceEyeAltRight"
|
||||
scale="0.3195 0.3280 0.3280"
|
||||
offset="-0.005 0 0" />
|
||||
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
<param
|
||||
id="30772"
|
||||
group="1"
|
||||
name="EyeBone_Head_Elongate"
|
||||
value_min="-1"
|
||||
value_max="1">
|
||||
<param_skeleton>
|
||||
|
||||
<bone
|
||||
name="mFaceRoot"
|
||||
scale="0.25 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperLeft"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidUpperRight"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeLidLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="-0.0038 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseCenter"
|
||||
scale="0 0 0"
|
||||
offset=".01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseRight"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseLeft"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceNoseBase"
|
||||
scale="0 0 0"
|
||||
offset=".005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperCenter"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipUpperRight"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipCornerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipCornerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.005 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerCenter"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceLipLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.01 0 0" />
|
||||
|
||||
|
||||
<bone
|
||||
name="mFaceCheekLowerLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.007 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceCheekLowerRight"
|
||||
scale="0 0 0"
|
||||
offset="0.007 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceChin"
|
||||
scale="0 0 0"
|
||||
offset="0.014 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTeethUpper"
|
||||
scale="0.28 0 0"
|
||||
offset="0 0 0" />
|
||||
<bone
|
||||
name="mFaceTeethLower"
|
||||
scale="0.28 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTongueBase"
|
||||
scale="0.3 0 0"
|
||||
offset="0 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceTongueTip"
|
||||
scale="0 0 0"
|
||||
offset="0.004 0 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
<param
|
||||
id="31772"
|
||||
group="1"
|
||||
name="EyeBone_Head_Elongate"
|
||||
value_min="0"
|
||||
value_max="1">
|
||||
<param_skeleton>
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="0.0058 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="0.0058 0 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
<param
|
||||
id="32772"
|
||||
group="1"
|
||||
name="EyeBone_Head_Elongate"
|
||||
value_min="0"
|
||||
value_max="1">
|
||||
<param_skeleton>
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltLeft"
|
||||
scale="0 0 0"
|
||||
offset="-0.0032 0 0" />
|
||||
|
||||
<bone
|
||||
name="mFaceEyeAltRight"
|
||||
scale="0 0 0"
|
||||
offset="-0.0032 0 0" />
|
||||
|
||||
</param_skeleton>
|
||||
</param>
|
||||
|
||||
|
||||
<!-- Eye Brow sliders -->
|
||||
|
||||
<param
|
||||
|
|
@ -14577,6 +14706,23 @@ render_pass="bump">
|
|||
|
||||
<driven
|
||||
id="772" />
|
||||
|
||||
<driven
|
||||
id="30772" />
|
||||
|
||||
<driven
|
||||
min1="0"
|
||||
max1="0"
|
||||
max2="0"
|
||||
min2="0.45"
|
||||
id="31772" />
|
||||
|
||||
<driven
|
||||
min1="0.5"
|
||||
max1="1"
|
||||
max2="1"
|
||||
min2="1"
|
||||
id="32772" />
|
||||
|
||||
</param_driver>
|
||||
</param>
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@
|
|||
<bone aliases="head avatar_mHead" connected="true" end="0.000 0.000 0.079" group="Torso" name="mHead" pivot="0.000000 -0.000000 0.075630" pos="0.000 -0.000 0.076" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" support="base">
|
||||
<collision_volume end="0.000 0.000 0.100" group="Collision" name="HEAD" pos="0.02 0 0.07" rot="0.000000 0.000000 0.000000" scale="0.11 0.09 0.12" support="base"/>
|
||||
<bone aliases="figureHair avatar_mSkull" connected="false" end="0.000 0.000 0.033" group="Extra" name="mSkull" pivot="0.000000 0.000000 0.079000" pos="0.000 0.000 0.079" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" support="base"/>
|
||||
<bone aliases="avatar_mEyeRight" connected="false" end="0.100 0.000 0.000" group="Extra" name="mEyeRight" pivot="0.098466 -0.036000 0.079000" pos="0.098 -0.036 0.079" rot="0.000000 0.000000 -0.000000" scale="1.000 1.000 1.000" support="base"/>
|
||||
<bone aliases="avatar_mEyeLeft" connected="false" end="0.100 0.000 0.000" group="Extra" name="mEyeLeft" pivot="0.098461 0.036000 0.079000" pos="0.098 0.036 0.079" rot="0.000000 -0.000000 0.000000" scale="1.000 1.000 1.000" support="base"/>
|
||||
<bone connected="false" end="0.022 0.000 0.000" group="Face" name="mFaceEyeAltRight" pivot="0.098466 -0.036000 0.079000" pos="0.098 -0.036 0.079" rot="0.000000 0.000000 0.000000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.022 0.000 0.000" group="Face" name="mFaceEyeAltLeft" pivot="0.098461 0.036000 0.079000" pos="0.098 0.036 0.079" rot="0.000000 0.000000 0.000000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.020 0.000 0.000" group="Face" name="mFaceRoot" pivot="0.025 0.000 0.045" pos="0.025 0.000 0.045" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended">
|
||||
<bone aliases="avatar_mEyeRight" connected="false" end="0.025 0.000 0.000" group="Extra" name="mEyeRight" pivot="0.098466 -0.036000 0.079000" pos="0.098 -0.036 0.079" rot="0.000000 0.000000 -0.000000" scale="1.000 1.000 1.000" support="base"/>
|
||||
<bone aliases="avatar_mEyeLeft" connected="false" end="0.025 0.000 0.000" group="Extra" name="mEyeLeft" pivot="0.098461 0.036000 0.079000" pos="0.098 0.036 0.079" rot="0.000000 -0.000000 0.000000" scale="1.000 1.000 1.000" support="base"/>
|
||||
<bone connected="false" end="0.020 0.000 0.000" group="Face" name="mFaceRoot" pivot="0.025000 0.000000 0.045000" pos="0.025 0.000 0.045" rot="0.000000 0.000000 0.000000" scale="1.00 1.00 1.00" support="extended">
|
||||
<bone connected="false" end="0.025 0.000 0.000" group="Face" name="mFaceEyeAltRight" pivot="0.073466 -0.036000 0.0339300" pos="0.073 -0.036 0.034" rot="0.000000 0.000000 0.000000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.025 0.000 0.000" group="Face" name="mFaceEyeAltLeft" pivot="0.073461 0.036000 0.0339300" pos="0.073 0.036 0.034" rot="0.000000 0.000000 0.000000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.024 0.004 0.018" group="Face" name="mFaceForeheadLeft" pivot="0.061 0.035 0.083" pos="0.061 0.035 0.083" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.024 -0.004 0.018" group="Face" name="mFaceForeheadRight" pivot="0.061 -0.035 0.083" pos="0.061 -0.035 0.083" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
<bone connected="false" end="0.023 0.013 0.000" group="Eyes" name="mFaceEyebrowOuterLeft" pivot="0.064 0.051 0.048" pos="0.064 0.051 0.048" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue