fix: ParameterAssignerPass forces all parameters to float type (#1337)

Closes: #1335
This commit is contained in:
bd_ 2024-11-03 18:32:29 -08:00 committed by GitHub
parent 973e7d2448
commit 81ad82b765
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -189,7 +189,11 @@ namespace nadena.dev.modular_avatar.core.editor
expParams.parameters = expParams.parameters.Concat(newParameters.Values).ToArray(); expParams.parameters = expParams.parameters.Concat(newParameters.Values).ToArray();
} }
if (_mamiByParam.Count > 0) var mamiWithRC = _mamiByParam.Where(kvp => kvp.Value.Any(
component => component.TryGetComponent<ReactiveComponent>(out _)
)).ToList();
if (mamiWithRC.Count > 0)
{ {
// This make sures the parameters are correctly merged into the FX layer. // This make sures the parameters are correctly merged into the FX layer.
var mergeAnimator = context.AvatarRootObject.AddComponent<ModularAvatarMergeAnimator>(); var mergeAnimator = context.AvatarRootObject.AddComponent<ModularAvatarMergeAnimator>();
@ -197,9 +201,9 @@ namespace nadena.dev.modular_avatar.core.editor
mergeAnimator.deleteAttachedAnimator = false; mergeAnimator.deleteAttachedAnimator = false;
mergeAnimator.animator = new AnimatorController mergeAnimator.animator = new AnimatorController
{ {
parameters = _mamiByParam.Keys.Select(name => new AnimatorControllerParameter parameters = mamiWithRC.Select(kvp => new AnimatorControllerParameter
{ {
name = name, name = kvp.Key,
type = AnimatorControllerParameterType.Float, type = AnimatorControllerParameterType.Float,
}).ToArray(), }).ToArray(),
}; };