VRoid(VRM)モデルに半透明テクスチャを設定する方法について説明しています。VRoid Studio内ではできないのでBlenderかUnityで設定する必要があります。
半透明テクスチャを扱いたい
VRoid Studioで制作してる人の中にはこんな衣装・アクセサリーを制作したい人がいると思う。
- 透けて見える服(シースルーなど)
- 眼鏡
- ガラス・水晶付きのアクセサリー
こういったものを作るのに必要となるのが半透明のテクスチャなのだがVRoid Studioでレイヤーの透明度をいじるにせよ半透明テクスチャをインポートするにせよ正しく表示されない。半透明にならないか、まったく表示されないかのどっちかになるはず。
公式のQ&AによるとVRoid Studioの仕様とのこと。VRoid/VRMで主に使われているMToonというシェーディングでは本来半透明テクスチャを設定できるのだが現在VRoid Studio内では対応していないので表示も設定もできない。
今後対応するかもしれないが2024年8月現在でVRMファイルで半透明テクスチャを扱いたい場合は一旦VRMとして出力し、BlenderまたはUnityから設定する必要がある。
ちなみにVRoid HubではMToonに対応しているため半透明テクスチャは表示される。
Blenderで設定する
BlenderでVRoid/VRMを編集する場合、専用のアドオンが必要。詳しくこちらの記事にて。
BlenderでVRMファイルを読み込んだら画面右のプロパティから「マテリアル」をクリックして半透明にしたいテクスチャがあるマテリアルを選択する。
「VRMマテリアル」を展開してRenderingのアルファ…を「透過」に設定する。
下の「Transparent With ZWhite Mode」は半透明部分のオブジェクトが重なった場合手前にある方のみを描画するかどうかの設定。基本はオフで問題ない。
公式リファレンスによると半透明部分の輪郭線は正しく描画されないことが多いようなのでそこには注意。
Unityで設定する
UnityでVRoid/VRMを編集する場合も専用のアドオンが必要。詳しくはこちらの記事にて。
VRMファイルを読み込んだら画面下のAssetsの部分からVRMに使われているテクスチャをクリックし、画面右のInspectorの部分からRendering Typeを「Transparent」もしくは「TransparenatWithZWhite」にする。基本は「Transparent」でOK。
「Transparent With ZWhite Mode」は半透明部分のオブジェクトが重なった場合手前にある方のみを描画するようになる。
設定が終わったら保存を忘れずに(しないままVRMの出力をすると反映されないことがある)。
またこちらも半透明部分の輪郭線は正しく描画されないことが多いようなのでそこには注意。
コメント