Skip to content

Commit

Permalink
fix: ParameterAssignerPass forces all parameters to float type
Browse files Browse the repository at this point in the history
Closes: #1335
  • Loading branch information
bdunderscore committed Nov 4, 2024
1 parent 6fd8ac0 commit 31a3952
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions Editor/ReactiveObjects/ParameterAssignerPass.cs
Original file line number Diff line number Diff line change
Expand Up @@ -189,17 +189,21 @@ protected override void Execute(ndmf.BuildContext context)
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.
var mergeAnimator = context.AvatarRootObject.AddComponent<ModularAvatarMergeAnimator>();
mergeAnimator.layerType = VRCAvatarDescriptor.AnimLayerType.FX;
mergeAnimator.deleteAttachedAnimator = false;
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,
}).ToArray(),
};
Expand Down

0 comments on commit 31a3952

Please sign in to comment.