mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-03 23:09:22 +00:00
fix issue with initialheadheight
This commit is contained in:
parent
862aecc0f9
commit
63048bd4c4
1 changed files with 4 additions and 1 deletions
|
@ -167,6 +167,7 @@ internal class DesktopVRIKSystem : MonoBehaviour
|
||||||
Vector3 _vrikInitialFootPosRight;
|
Vector3 _vrikInitialFootPosRight;
|
||||||
Quaternion _vrikInitialFootRotLeft;
|
Quaternion _vrikInitialFootRotLeft;
|
||||||
Quaternion _vrikInitialFootRotRight;
|
Quaternion _vrikInitialFootRotRight;
|
||||||
|
float _vrikInitialHeadHeight;
|
||||||
float _vrikInitialFootDistance;
|
float _vrikInitialFootDistance;
|
||||||
float _vrikInitialStepThreshold;
|
float _vrikInitialStepThreshold;
|
||||||
float _vrikInitialStepHeight;
|
float _vrikInitialStepHeight;
|
||||||
|
@ -245,7 +246,7 @@ internal class DesktopVRIKSystem : MonoBehaviour
|
||||||
// Get Upright value
|
// Get Upright value
|
||||||
Vector3 delta = avatarIKSolver.spine.headPosition - avatarTransform.position;
|
Vector3 delta = avatarIKSolver.spine.headPosition - avatarTransform.position;
|
||||||
Vector3 deltaRotated = Quaternion.Euler(0, avatarTransform.rotation.eulerAngles.y, 0) * delta;
|
Vector3 deltaRotated = Quaternion.Euler(0, avatarTransform.rotation.eulerAngles.y, 0) * delta;
|
||||||
float upright = Mathf.InverseLerp(0f, avatarIKSolver.spine.headHeight * _scaleDifference, deltaRotated.y);
|
float upright = Mathf.InverseLerp(0f, _vrikInitialHeadHeight * _scaleDifference, deltaRotated.y);
|
||||||
return upright > 0.85f;
|
return upright > 0.85f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -579,6 +580,8 @@ internal class DesktopVRIKSystem : MonoBehaviour
|
||||||
|
|
||||||
SetAvatarPose(AvatarPose.IKPose);
|
SetAvatarPose(AvatarPose.IKPose);
|
||||||
|
|
||||||
|
_vrikInitialHeadHeight = Mathf.Abs(avatarVRIK.references.head.position.y - avatarVRIK.references.rightFoot.position.y);
|
||||||
|
|
||||||
// Calculate initial IK scaling values with IKPose
|
// Calculate initial IK scaling values with IKPose
|
||||||
VRIKUtils.CalculateInitialIKScaling(avatarVRIK, out _vrikInitialFootDistance, out _vrikInitialStepThreshold, out _vrikInitialStepHeight);
|
VRIKUtils.CalculateInitialIKScaling(avatarVRIK, out _vrikInitialFootDistance, out _vrikInitialStepThreshold, out _vrikInitialStepHeight);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue