diff --git a/Assets/VRM10/Editor/Components/VRM10ControllerEditor.cs b/Assets/VRM10/Editor/Components/VRM10ControllerEditor.cs index 5190aca3a..5d652011e 100644 --- a/Assets/VRM10/Editor/Components/VRM10ControllerEditor.cs +++ b/Assets/VRM10/Editor/Components/VRM10ControllerEditor.cs @@ -179,9 +179,9 @@ namespace UniVRM10 EditorGUILayout.LabelField("Override weights", EditorStyles.boldLabel); EditorGUI.BeginDisabledGroup(true); { - EditorGUILayout.Slider("Blink override weight", m_target.Expression.OverrideBlinkWeight, 0f, 1f); - EditorGUILayout.Slider("LookAt override weight", m_target.Expression.OverrideLookAtWeight, 0f, 1f); - EditorGUILayout.Slider("Mouth override weight", m_target.Expression.OverrideMouthWeight, 0f, 1f); + EditorGUILayout.Slider("Blink nullify weight", m_target.Expression.BlinkNullifyWeight, 0f, 1f); + EditorGUILayout.Slider("LookAt nullify weight", m_target.Expression.LookAtNullifyWeight, 0f, 1f); + EditorGUILayout.Slider("Mouth nullify weight", m_target.Expression.MouthNullifyWeight, 0f, 1f); } EditorGUI.EndDisabledGroup(); diff --git a/Assets/VRM10/Runtime/Components/Expression/DefaultExpressionValidator.cs b/Assets/VRM10/Runtime/Components/Expression/DefaultExpressionValidator.cs index e06fb2381..589a39b3c 100644 --- a/Assets/VRM10/Runtime/Components/Expression/DefaultExpressionValidator.cs +++ b/Assets/VRM10/Runtime/Components/Expression/DefaultExpressionValidator.cs @@ -10,7 +10,8 @@ namespace UniVRM10 } - public void Validate(IReadOnlyDictionary inputWeights, IDictionary actualWeights) + public void Validate(IReadOnlyDictionary inputWeights, IDictionary actualWeights, out float blinkNullifyWeight, + out float lookAtNullifyWeight, out float mouthNullifyWeight) { foreach (var (key, weight) in inputWeights) { @@ -21,6 +22,10 @@ namespace UniVRM10 actualWeights[key] = weight; } + + blinkNullifyWeight = 0f; + lookAtNullifyWeight = 0f; + mouthNullifyWeight = 0f; } public sealed class Factory : IExpressionValidatorFactory diff --git a/Assets/VRM10/Runtime/Components/Expression/IExpressionValidator.cs b/Assets/VRM10/Runtime/Components/Expression/IExpressionValidator.cs index 8f6aad267..43f69b7e9 100644 --- a/Assets/VRM10/Runtime/Components/Expression/IExpressionValidator.cs +++ b/Assets/VRM10/Runtime/Components/Expression/IExpressionValidator.cs @@ -10,6 +10,7 @@ namespace UniVRM10 /// /// Validate input weights with Expression constraints. /// - void Validate(IReadOnlyDictionary inputWeights, IDictionary actualWeights); + void Validate(IReadOnlyDictionary inputWeights, IDictionary actualWeights, + out float blinkNullifyWeight, out float lookAtNullifyWeight, out float mouthNullifyWeight); } } \ No newline at end of file diff --git a/Assets/VRM10/Runtime/Components/VRM10ControllerExpression.cs b/Assets/VRM10/Runtime/Components/VRM10ControllerExpression.cs index d4ecfd489..447ffb83a 100644 --- a/Assets/VRM10/Runtime/Components/VRM10ControllerExpression.cs +++ b/Assets/VRM10/Runtime/Components/VRM10ControllerExpression.cs @@ -23,9 +23,9 @@ namespace UniVRM10 public IReadOnlyList ExpressionKeys => _keys; public IReadOnlyDictionary ActualWeights => _actualWeights; - public float OverrideBlinkWeight { get; private set; } - public float OverrideLookAtWeight { get; private set; } - public float OverrideMouthWeight { get; private set; } + public float BlinkNullifyWeight { get; private set; } + public float LookAtNullifyWeight { get; private set; } + public float MouthNullifyWeight { get; private set; } public void Dispose() { @@ -93,8 +93,11 @@ namespace UniVRM10 /// private void Apply() { - _validator.Validate(_inputWeights, _actualWeights); + _validator.Validate(_inputWeights, _actualWeights, out var blink, out var lookAt, out var mouth); _merger.SetValues(_actualWeights); + BlinkNullifyWeight = blink; + LookAtNullifyWeight = lookAt; + MouthNullifyWeight = mouth; } } }