mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-07 12:09:17 +00:00
Desktop sync fix
This commit is contained in:
parent
25c4eaad51
commit
724cfb5937
2 changed files with 62 additions and 68 deletions
|
@ -11,7 +11,6 @@ namespace ml_lme
|
||||||
class LeapTracked : MonoBehaviour
|
class LeapTracked : MonoBehaviour
|
||||||
{
|
{
|
||||||
static readonly float[] ms_tposeMuscles = typeof(ABI_RC.Systems.IK.SubSystems.BodySystem).GetField("TPoseMuscles", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) as float[];
|
static readonly float[] ms_tposeMuscles = typeof(ABI_RC.Systems.IK.SubSystems.BodySystem).GetField("TPoseMuscles", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) as float[];
|
||||||
static readonly FieldInfo ms_ikSystemPoseHandler = typeof(IKSystem).GetField("_poseHandler", BindingFlags.Instance | BindingFlags.NonPublic);
|
|
||||||
static readonly FieldInfo ms_indexGestureToggle = typeof(InputModuleSteamVR).GetField("_steamVrIndexGestureToggleValue", BindingFlags.Instance | BindingFlags.NonPublic);
|
static readonly FieldInfo ms_indexGestureToggle = typeof(InputModuleSteamVR).GetField("_steamVrIndexGestureToggleValue", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||||
static readonly Quaternion ms_offsetLeft = Quaternion.Euler(0f, 0f, 270f);
|
static readonly Quaternion ms_offsetLeft = Quaternion.Euler(0f, 0f, 270f);
|
||||||
static readonly Quaternion ms_offsetRight = Quaternion.Euler(0f, 0f, 90f);
|
static readonly Quaternion ms_offsetRight = Quaternion.Euler(0f, 0f, 90f);
|
||||||
|
@ -127,9 +126,13 @@ namespace ml_lme
|
||||||
{
|
{
|
||||||
m_leftIK.solver.IKPositionWeight = Mathf.Lerp(m_leftIK.solver.IKPositionWeight, (p_data.m_handsPresenses[0] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
m_leftIK.solver.IKPositionWeight = Mathf.Lerp(m_leftIK.solver.IKPositionWeight, (p_data.m_handsPresenses[0] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
m_leftIK.solver.IKRotationWeight = Mathf.Lerp(m_leftIK.solver.IKRotationWeight, (p_data.m_handsPresenses[0] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
m_leftIK.solver.IKRotationWeight = Mathf.Lerp(m_leftIK.solver.IKRotationWeight, (p_data.m_handsPresenses[0] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
|
if(m_trackElbows)
|
||||||
|
m_leftIK.solver.arm.bendGoalWeight = Mathf.Lerp(m_leftIK.solver.arm.bendGoalWeight, (p_data.m_handsPresenses[0] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
|
|
||||||
m_rightIK.solver.IKPositionWeight = Mathf.Lerp(m_rightIK.solver.IKPositionWeight, (p_data.m_handsPresenses[1] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
m_rightIK.solver.IKPositionWeight = Mathf.Lerp(m_rightIK.solver.IKPositionWeight, (p_data.m_handsPresenses[1] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
m_rightIK.solver.IKRotationWeight = Mathf.Lerp(m_rightIK.solver.IKRotationWeight, (p_data.m_handsPresenses[1] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
m_rightIK.solver.IKRotationWeight = Mathf.Lerp(m_rightIK.solver.IKRotationWeight, (p_data.m_handsPresenses[1] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
|
if(m_trackElbows)
|
||||||
|
m_rightIK.solver.arm.bendGoalWeight = Mathf.Lerp(m_rightIK.solver.arm.bendGoalWeight, (p_data.m_handsPresenses[1] && !m_fingersOnly) ? 1f : 0f, 0.25f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if((m_vrIK != null) && !m_fingersOnly)
|
if((m_vrIK != null) && !m_fingersOnly)
|
||||||
|
@ -174,15 +177,13 @@ namespace ml_lme
|
||||||
CVRInputManager.Instance.fingerCurlLeftRing = p_data.m_leftFingersBends[3];
|
CVRInputManager.Instance.fingerCurlLeftRing = p_data.m_leftFingersBends[3];
|
||||||
CVRInputManager.Instance.fingerCurlLeftPinky = p_data.m_leftFingersBends[4];
|
CVRInputManager.Instance.fingerCurlLeftPinky = p_data.m_leftFingersBends[4];
|
||||||
|
|
||||||
if(m_isInVR)
|
IKSystem.Instance.FingerSystem.controlActive = true;
|
||||||
{
|
|
||||||
IKSystem.Instance.FingerSystem.leftThumbCurl = p_data.m_leftFingersBends[0];
|
IKSystem.Instance.FingerSystem.leftThumbCurl = p_data.m_leftFingersBends[0];
|
||||||
IKSystem.Instance.FingerSystem.leftIndexCurl = p_data.m_leftFingersBends[1];
|
IKSystem.Instance.FingerSystem.leftIndexCurl = p_data.m_leftFingersBends[1];
|
||||||
IKSystem.Instance.FingerSystem.leftMiddleCurl = p_data.m_leftFingersBends[2];
|
IKSystem.Instance.FingerSystem.leftMiddleCurl = p_data.m_leftFingersBends[2];
|
||||||
IKSystem.Instance.FingerSystem.leftRingCurl = p_data.m_leftFingersBends[3];
|
IKSystem.Instance.FingerSystem.leftRingCurl = p_data.m_leftFingersBends[3];
|
||||||
IKSystem.Instance.FingerSystem.leftPinkyCurl = p_data.m_leftFingersBends[4];
|
IKSystem.Instance.FingerSystem.leftPinkyCurl = p_data.m_leftFingersBends[4];
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(p_data.m_handsPresenses[1])
|
if(p_data.m_handsPresenses[1])
|
||||||
{
|
{
|
||||||
|
@ -193,8 +194,7 @@ namespace ml_lme
|
||||||
CVRInputManager.Instance.fingerCurlRightRing = p_data.m_rightFingersBends[3];
|
CVRInputManager.Instance.fingerCurlRightRing = p_data.m_rightFingersBends[3];
|
||||||
CVRInputManager.Instance.fingerCurlRightPinky = p_data.m_rightFingersBends[4];
|
CVRInputManager.Instance.fingerCurlRightPinky = p_data.m_rightFingersBends[4];
|
||||||
|
|
||||||
if(m_isInVR)
|
IKSystem.Instance.FingerSystem.controlActive = true;
|
||||||
{
|
|
||||||
IKSystem.Instance.FingerSystem.rightThumbCurl = p_data.m_rightFingersBends[0];
|
IKSystem.Instance.FingerSystem.rightThumbCurl = p_data.m_rightFingersBends[0];
|
||||||
IKSystem.Instance.FingerSystem.rightIndexCurl = p_data.m_rightFingersBends[1];
|
IKSystem.Instance.FingerSystem.rightIndexCurl = p_data.m_rightFingersBends[1];
|
||||||
IKSystem.Instance.FingerSystem.rightMiddleCurl = p_data.m_rightFingersBends[2];
|
IKSystem.Instance.FingerSystem.rightMiddleCurl = p_data.m_rightFingersBends[2];
|
||||||
|
@ -203,7 +203,6 @@ namespace ml_lme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateTrackingLate(GestureMatcher.GesturesData p_data)
|
public void UpdateTrackingLate(GestureMatcher.GesturesData p_data)
|
||||||
{
|
{
|
||||||
|
@ -216,8 +215,6 @@ namespace ml_lme
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateFingers(GestureMatcher.GesturesData p_data)
|
void UpdateFingers(GestureMatcher.GesturesData p_data)
|
||||||
{
|
|
||||||
if(m_enabled && (CVRInputManager.Instance != null) && (IKSystem.Instance != null))
|
|
||||||
{
|
{
|
||||||
if(p_data.m_handsPresenses[0])
|
if(p_data.m_handsPresenses[0])
|
||||||
{
|
{
|
||||||
|
@ -275,7 +272,6 @@ namespace ml_lme
|
||||||
UpdatePoseMuscle(ref m_pose, (int)MuscleIndex.RightLittleSpread, Mathf.Lerp(-0.5f, 1f, p_data.m_rightFingersSpreads[4]));
|
UpdatePoseMuscle(ref m_pose, (int)MuscleIndex.RightLittleSpread, Mathf.Lerp(-0.5f, 1f, p_data.m_rightFingersSpreads[4]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void OnAvatarClear()
|
public void OnAvatarClear()
|
||||||
{
|
{
|
||||||
|
@ -432,8 +428,6 @@ namespace ml_lme
|
||||||
void RefreshFingersTracking()
|
void RefreshFingersTracking()
|
||||||
{
|
{
|
||||||
CVRInputManager.Instance.individualFingerTracking = (m_enabled || (m_isInVR && Utils.AreKnucklesInUse() && !(bool)ms_indexGestureToggle.GetValue(m_steamVrModule)));
|
CVRInputManager.Instance.individualFingerTracking = (m_enabled || (m_isInVR && Utils.AreKnucklesInUse() && !(bool)ms_indexGestureToggle.GetValue(m_steamVrModule)));
|
||||||
|
|
||||||
if(m_isInVR)
|
|
||||||
IKSystem.Instance.FingerSystem.controlActive = CVRInputManager.Instance.individualFingerTracking;
|
IKSystem.Instance.FingerSystem.controlActive = CVRInputManager.Instance.individualFingerTracking;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
[assembly: AssemblyVersion("1.2.8")]
|
[assembly: AssemblyVersion("1.2.8")]
|
||||||
[assembly: AssemblyFileVersion("1.2.8")]
|
[assembly: AssemblyFileVersion("1.2.8")]
|
||||||
|
|
||||||
[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.2.8-experimental", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.2.8-ex2", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||||
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||||
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue