メインコンテンツまでスキップ

BlendShape

メッシュに対して複数の「形」を記憶させておき、形を混ぜ合わせるための技術

ブレンドシェイプ(Blend: 混ぜる, Shape: 形状)とは、3DCGにおいて元となるモデルの様々な「差分の形」を記憶させておき、それらを混ぜ合わせることのできる機能です。

ブレンドシェイプを使うことで、例えば口の動きをスムーズに表現したり、衣装の袖の長さを改変ユーザの好みに応じて細かく調整したりできます。

アバター改変においては、アバター・衣装製作者が予めブレンドシェイプとして設定した項目をSkinnedMeshRenderer コンポーネントプロパティから調整することでモデルの形状に変化をつけることができます。

たとえばハオランくん1 の場合、顔のパーツである「Body」GameObjectには様々なブレンドシェイプの項目が割り当てられています。

ハオラン君のブレンドシェイプ

たとえば「あ」ブレンドシェイプの値を変更するとSceneウィンドウ上で口の形が反映されたことが確認できます。

あ0 あ100

口などの表情は、いわゆる表情改変としてハンドジェスチャーに対応した好みの表情を割り当てることができます。詳しいやり方は必修科目にて取り扱う予定です。

ブレンドシェイプはアバター容量を逼迫させる原因の1つとされているため、可能であればAAOなどのアバター軽量化 ツールを使って不要なブレンドシェイプを削ることが望ましいです。こちらのやり方も必修科目にて取り扱う予定です。

ちなみに、ブレンドシェイプは他のソフトウェア(Blenderなど)では「シェイプキー」などと呼ばれることもありますが、指している技術や概念はほぼ同じものとなります。

また、繰り返しにはなりますがブレンドシェイプは予めアバター・衣装製作者が設定したものであり、アバター改変ユーザがUnity上で新たに項目を増やすことはあまり想定されていません。どうしても新たにブレンドシェイプを増やしたい場合、配布されている衣装やアバターに同梱されたFBXファイルを使って3DCGツール上でシェイプキーを新たに割り当てる作業が必要になります。

Footnotes

  1. https://booth.pm/ja/items/3818504