From bae72a9feeb6636339752fc5fd19c48202372b7e Mon Sep 17 00:00:00 2001 From: OrangeSpork <57274555+OrangeSpork@users.noreply.github.com> Date: Sat, 12 Feb 2022 16:39:09 -0700 Subject: [PATCH] Fix neck motion in KK/KKS. Retuned default neck motion in HS2/AI. --- AI_AdvIKPlugin/AI_AdvIKPlugin.csproj | 4 ++-- AdvIKPlugin/AdvIKGUI.cs | 8 ++++++++ AdvIKPlugin/AdvIKHooks.cs | 7 ++++++- AdvIKPlugin/AdvIKPlugin.cs | 2 +- AdvIKPlugin/Algos/BreathingBoneEffect.cs | 7 ++++++- HS2_AdvIKPlugin/HS2_AdvIKPlugin.csproj | 5 +++-- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/AI_AdvIKPlugin/AI_AdvIKPlugin.csproj b/AI_AdvIKPlugin/AI_AdvIKPlugin.csproj index 11df981..5dc7f43 100644 --- a/AI_AdvIKPlugin/AI_AdvIKPlugin.csproj +++ b/AI_AdvIKPlugin/AI_AdvIKPlugin.csproj @@ -20,7 +20,7 @@ full false ..\bin\ - DEBUG;TRACE + TRACE;DEBUG;AI prompt 4 true @@ -29,7 +29,7 @@ none true ..\bin\ - TRACE + TRACE;AI prompt 4 true diff --git a/AdvIKPlugin/AdvIKGUI.cs b/AdvIKPlugin/AdvIKGUI.cs index 9db1495..833e543 100644 --- a/AdvIKPlugin/AdvIKGUI.cs +++ b/AdvIKPlugin/AdvIKGUI.cs @@ -699,6 +699,14 @@ public static void SetupBreathShapeControls() } }); +#if KOIKATSU || KKS +// KK Skeleton does not require neck adjustments for upper chest movement as the upper chest has a different scaling center system. + + neckMotionSliderText.gameObject.SetActive(false); + NeckMotionSlider.gameObject.SetActive(false); + +#endif + // Clear controls foreach (Transform child in BreathShapePanel.transform) { diff --git a/AdvIKPlugin/AdvIKHooks.cs b/AdvIKPlugin/AdvIKHooks.cs index f4b5d2b..aa52a45 100644 --- a/AdvIKPlugin/AdvIKHooks.cs +++ b/AdvIKPlugin/AdvIKHooks.cs @@ -1,8 +1,13 @@ -using HarmonyLib; +#if !KKS && !KOIKATSU +using AIChara; +#endif +using HarmonyLib; +using IllusionUtility.GetUtility; using System; using System.Collections.Generic; using System.Linq; using System.Text; +using UnityEngine; namespace AdvIKPlugin { diff --git a/AdvIKPlugin/AdvIKPlugin.cs b/AdvIKPlugin/AdvIKPlugin.cs index f962d35..035b142 100644 --- a/AdvIKPlugin/AdvIKPlugin.cs +++ b/AdvIKPlugin/AdvIKPlugin.cs @@ -26,7 +26,7 @@ public partial class AdvIKPlugin : BaseUnityPlugin { public const string GUID = "orange.spork.advikplugin"; public const string PluginName = "AdvIKPlugin"; - public const string Version = "1.7.0"; + public const string Version = "1.7.1"; public static AdvIKPlugin Instance { get; set; } diff --git a/AdvIKPlugin/Algos/BreathingBoneEffect.cs b/AdvIKPlugin/Algos/BreathingBoneEffect.cs index 9999186..13cb37e 100644 --- a/AdvIKPlugin/Algos/BreathingBoneEffect.cs +++ b/AdvIKPlugin/Algos/BreathingBoneEffect.cs @@ -177,7 +177,7 @@ public override BoneModifierData GetEffect(string bone, BoneController origin, C newUpperChestPos.z = ((1 + newUpperChestPos.z) * appliedUpperBreathScale.z) - ((1 + newUpperChestPos.z)); newUpperChestPos.y = ((1 + newUpperChestPos.y) * appliedUpperBreathScale.y) - ((1 + newUpperChestPos.y)); - Vector3 newNeckPos = new Vector3(0, newUpperChestPos.y + (newUpperChestPos.y * NeckMotionDampeningFactor), 0); + Vector3 newNeckPos = new Vector3(0, (newUpperChestPos.y * NeckMotionDampeningFactor), 0); // Same with lower chest Vector3 newLowerChestPos = new Vector3(0, 0, 0); @@ -285,12 +285,17 @@ public override BoneModifierData GetEffect(string bone, BoneController origin, C } else if (bone.Equals(Neck)) { +#if KOIKATSU || KKS +// Upper Chest doesn't move in KK so this isn't needed/useful. + return null; +#else // Looks like applying a 0 position offset to a bone with a length adjustment causes ABMX to incorrectly revert the length adjustment // Work around by supplying a very small position offset instead if (FrameEffects.NeckAdj.y == 0) return UpdateBoneModifier(bone, Vector3.one, new Vector3(0f, 0.001f, 0f)); else return UpdateBoneModifier(bone, Vector3.one, FrameEffects.NeckAdj); +#endif } else { diff --git a/HS2_AdvIKPlugin/HS2_AdvIKPlugin.csproj b/HS2_AdvIKPlugin/HS2_AdvIKPlugin.csproj index 89bf4b7..26eb82a 100644 --- a/HS2_AdvIKPlugin/HS2_AdvIKPlugin.csproj +++ b/HS2_AdvIKPlugin/HS2_AdvIKPlugin.csproj @@ -20,7 +20,7 @@ full false ..\bin\ - DEBUG;TRACE + TRACE;DEBUG;HS2 prompt 4 @@ -28,9 +28,10 @@ none true ..\bin\ - TRACE + TRACE;HS2 prompt 4 + true