diff --git a/CHANGELOG-PRERELEASE.md b/CHANGELOG-PRERELEASE.md index 704189f0..cacdb22b 100644 --- a/CHANGELOG-PRERELEASE.md +++ b/CHANGELOG-PRERELEASE.md @@ -17,6 +17,8 @@ The format is based on [Keep a Changelog]. ### Fixed - Prefab overrides on the scene are reverted on first load of the scene at first launch `#1372` +- Animating transform with C# named properties are broken by merge bone `#1373` + - Animator window won't create such animation but some script generates and it works surprisingly ### Security diff --git a/CHANGELOG.md b/CHANGELOG.md index 764bf7cd..45f183b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ The format is based on [Keep a Changelog]. ### Fixed - Prefab overrides on the scene are reverted on first load of the scene at first launch `#1372` +- Animating transform with C# named properties are broken by merge bone `#1373` + - Animator window won't create such animation but some script generates and it works surprisingly ### Security diff --git a/Editor/Processors/MergePhysBoneProcessor.cs b/Editor/Processors/MergePhysBoneProcessor.cs index f039c2fd..ef398dd7 100644 --- a/Editor/Processors/MergePhysBoneProcessor.cs +++ b/Editor/Processors/MergePhysBoneProcessor.cs @@ -413,6 +413,9 @@ private static Vector3 QuaternionToEulerXZY(Quaternion q) { "m_LocalRotation.x", "m_LocalRotation.y", "m_LocalRotation.z", "m_LocalRotation.w", "m_LocalPosition.x", "m_LocalPosition.y", "m_LocalPosition.z" , + // Animator Window won't create the following properties, but generated by some scripts and works in runtime + "localRotation.x", "localRotation.y", "localRotation.z", "localRotation.w", + "localPosition.x", "localPosition.y", "localPosition.z", }; sealed class MergePhysBoneMerger : MergePhysBoneEditorModificationUtils diff --git a/Editor/Processors/TraceAndOptimize/FindUnusedObjectsProcessor.cs b/Editor/Processors/TraceAndOptimize/FindUnusedObjectsProcessor.cs index 336b89c7..3281e3cf 100644 --- a/Editor/Processors/TraceAndOptimize/FindUnusedObjectsProcessor.cs +++ b/Editor/Processors/TraceAndOptimize/FindUnusedObjectsProcessor.cs @@ -416,6 +416,10 @@ bool GameObjectAnimated(Transform transform, BuildContext context) "m_LocalRotation.x", "m_LocalRotation.y", "m_LocalRotation.z", "m_LocalRotation.w", "m_LocalPosition.x", "m_LocalPosition.y", "m_LocalPosition.z", "m_LocalScale.x", "m_LocalScale.y", "m_LocalScale.z", + // Animator Window won't create the following properties, but generated by some scripts and works in runtime + "localRotation.x", "localRotation.y", "localRotation.z", "localRotation.w", + "localPosition.x", "localPosition.y", "localPosition.z", + "localScale.x", "localScale.y", "localScale.z", "localEulerAnglesRaw.x", "localEulerAnglesRaw.y", "localEulerAnglesRaw.z" }; } diff --git a/Editor/Processors/TraceAndOptimize/OptimizePhysBone.cs b/Editor/Processors/TraceAndOptimize/OptimizePhysBone.cs index 6612bd8c..e05666ab 100644 --- a/Editor/Processors/TraceAndOptimize/OptimizePhysBone.cs +++ b/Editor/Processors/TraceAndOptimize/OptimizePhysBone.cs @@ -187,6 +187,10 @@ private static bool IsAnimatedExternally(VRCPhysBoneBase physBone, AnimationComp "m_LocalRotation.x", "m_LocalRotation.y", "m_LocalRotation.z", "m_LocalRotation.w", "m_LocalPosition.x", "m_LocalPosition.y", "m_LocalPosition.z", "m_LocalScale.x", "m_LocalScale.y", "m_LocalScale.z", + // Animator Window won't create the following properties, but generated by some scripts and works in runtime + "localRotation.x", "localRotation.y", "localRotation.z", "localRotation.w", + "localPosition.x", "localPosition.y", "localPosition.z", + "localScale.x", "localScale.y", "localScale.z", "localEulerAnglesRaw.x", "localEulerAnglesRaw.y", "localEulerAnglesRaw.z" };