Skip to content

Commit

Permalink
wip feat: expressions, clarify the behavior when isBinary and overrid…
Browse files Browse the repository at this point in the history
…e interacts each other

- The original discussion: pixiv/three-vrm#1484
- The implementation example on three-vrm: pixiv/three-vrm#1489

TODO: english translation
  • Loading branch information
0b5vr committed Sep 6, 2024
1 parent 36dc80e commit 02677f5
Showing 1 changed file with 12 additions and 0 deletions.
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が指定されている場合、その表情の出力値である「0.5以上なら1、0.5未満なら0」を評価し、その値で影響を与えなければいけません(MUST)。

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

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

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

0 comments on commit 02677f5

Please sign in to comment.