From 999add24c90a1b6b52b1dbf6c368f6bc3db5c9e7 Mon Sep 17 00:00:00 2001 From: bd_ Date: Sat, 19 Nov 2022 18:57:06 -0800 Subject: [PATCH] Fix blend tree parameters not being remapped Closes: #91 --- .../Editor/RenameParametersHook.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Packages/nadena.dev.modular-avatar/Editor/RenameParametersHook.cs b/Packages/nadena.dev.modular-avatar/Editor/RenameParametersHook.cs index 59d22eb8..65a94230 100644 --- a/Packages/nadena.dev.modular-avatar/Editor/RenameParametersHook.cs +++ b/Packages/nadena.dev.modular-avatar/Editor/RenameParametersHook.cs @@ -273,6 +273,25 @@ namespace nadena.dev.modular_avatar.core.editor ProcessDriver(driver, remaps); } } + + if (state.motion is BlendTree blendTree) + { + ProcessBlendtree(blendTree, remaps); + } + } + + private void ProcessBlendtree(BlendTree blendTree, ImmutableDictionary remaps) + { + blendTree.blendParameter = remap(remaps, blendTree.blendParameter); + blendTree.blendParameterY = remap(remaps, blendTree.blendParameterY); + + foreach (var childMotion in blendTree.children) + { + if (childMotion.motion is BlendTree subTree) + { + ProcessBlendtree(subTree, remaps); + } + } } private void ProcessDriver(VRCAvatarParameterDriver driver, ImmutableDictionary remaps)