Ad-Hoc BlendShape Split

収録パッケージ: kb10uy’s Various Tools / org.kb10uy.zatools (>= 3.2.0)

概要

アバターのビルド時に既存の BlendShape (シェイプキー) をある平面で分割してそれぞれを新規 BlendShape として追加するコンポーネントです。

主に Ad-Hoc BlendShape Mix と組み合わせて使うことを想定しています。

NDMF Preview に対応していますが、パフォーマンス上の問題によりデフォルトで無効になっています。

使い方

SkinnedMeshRenderer が付いている GameObject に Zatools Bend Normal on Build を追加します。

Component View Component View

  • 分割する BlendShape: 分割したい BlendShape を名前で指定します。各 BlendShape の正確な名前の取得には BlendShape Listなどを利用してください。
  • 基底: 分割する際の空間的な基底となる Transform を指定します。この Transform から見て YZ 平面で空間を分割した際、+X 側にある頂点が「右」、 -X 側にある頂点が左となります。None の場合はアバタールートの Transform (通常はアバター正面方向)を採用します。
  • サフィックス(左側/右側): 生成される BlendShape の名前の末尾に追加される文字列を指定します。デフォルトはそれぞれ _sL_sR です。例えば Blink を分割する場合、生成される BlendShape の名前は Blink_sLBlink_sR となります。

その他

各プレフィックスを空欄にすると、その側の BlendShape は生成されなくなります。また、既存の BlendShape と名前が重複する場合も生成されません。

このコンポーネントの処理は NDMF アバタービルドプロセスのうち Generating Phase で実行されます。 Transforming Phase 以降に動作する NDMF プラグインは生成された BlendShape を発見可能ですが、Edit Mode では(たとえ NDMF Preview が有効でも)表示されている SkinnedMeshRenderer の BlendShapes のリストには表示されません。 このため、生成される BlendShape を他プラグインで利用するためには存在しない BlendShape を名前で指定できる必要があります。

概要にもあるとおり、Ad-Hoc BlendShape Mix より後に動作するためそれと併用することで「両目同時にしか動かない BlendShape を別の片目ずつの BlendShape に適用させたい」というようなケースに利用可能です。