Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip feat: expressions, clarify the behavior when isBinary and override interacts each other #487

Merged
merged 6 commits into from
Oct 21, 2024
12 changes: 12 additions & 0 deletions specification/VRMC_vrm-1.0/expressions.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,18 @@ var factor = 1.0 - saturate(value);
SetBlinkWeight(blinkWeight * factor);
```

### オーバーライドとisBinaryの相互作用について

オーバーライドの影響を与える表情にisBinaryが指定されている場合、出力値である二値化された値を評価し、出力値で他のオーバーライドの影響を受ける表情に影響を与えなければいけません(MUST)。
0b5vr marked this conversation as resolved.
Show resolved Hide resolved

> これは、オーバーライドの影響を与える表情がキャラクター上に見た目として発現していないにも関わらず、他の表情がオーバーライドによって抑制されることを防ぐための仕様です。
> 例えば、表情 `happy` の `isBinary` が `true` で、かつ `overrideBlink` に `block` もしくは `blend` が指定されている場合、 `happy` の値が 0.5 以上のとき、 `blink` は完全に抑制されます。逆に、 `happy` の値が 0.5 未満のとき、 `blink` は `happy` の値に関係なく評価されます。

オーバーライドの影響を受ける表情にisBinaryが指定されている場合、受けているオーバーライドの影響が0.0より大きければ、完全に抑制されなければいけません(MUST)。
0b5vr marked this conversation as resolved.
Show resolved Hide resolved

> これは、オーバーライドの影響を受ける `isBinary` が `true` の表情が0もしくは1以外の値で発現することを防ぐための仕様です。
> 例えば、表情 `happy` の `overrideBlink` が `block` もしくは `blend` で、表情 `blink` が `isBinary` の場合、 `happy` が少しでもオーバーライドの影響を与えているならば、 `blink` は完全に抑制されます。

### MorphTargetBind

`extensions.VRMC_vrm.expressions[*].morphTargetBinds[*]`
Expand Down