Unity で MMD4Mecanim を使ってMMDモデルを読み込んだときに特定の部位を透明化する方法を解説します。シェーダーを使って透明化する方法と、透明なマテリアル素材を使って透明化する方法の2つがあります。
画面への描画を最終的に行う仕組みが『シェーダー』です。メッシュやテクスチャ、マテリアルやライティングなどの情報が統合され、最後にシェーダーを通じて画面に表示されます。シェーダーを変更することでオブジェクトの見た目を変更することができます。
Unity には、このシェーダーの仕組みが備わっており、各部位のシェーダーを変えることで、その部位の色を変えたり、透明にすることができます。
MMD4Mecanim パッケージをインストールすると、マテリアルで様々なシェーダーが使えるようになります。
透明化したい部位を決めたら、その部位のマテリアルを選択し、Inspector でシェーダーをMMD4Mecanim 内にある、「MMDLit-Dummy」シェーダーに変えることでその部位を透明化できます。
MMD4Mecanim をインストールしていないときは、MMDモデルをWindows10+Unity2017で使えるようにする方法(MMD4Mecanim編)を参考にどうぞ。
今回の場合は、MMD4Mecanim のシェーダーを使いたいだけなので、MMD4Mecanimパッケージをインストールすれば、Mac環境でも大丈夫です。
方法1はシェーダーを変更することで透明化する方法でしたが、透明なマテリアル素材を作ってそれをモデルに適用するという実装方法もあります。
透明化のポイントは、マテリアルの色指定でアルファ値を0にすれば、そのマテリアル素材は透明になるということ。
部位を透明にする透明マテリアル素材の作り方は、このような流れです。
これで、透明のマテリアル素材が完成です。
透明なマテリアル素材がすぐに欲しいときは、
のzipファイルをダウンロードして解凍して下さい。
解凍後に Toumei.mat ファイルがあるので、それをモデルの各部位に適用すればすぐに透明化できます。
透明ではなく、ガラスのような質感にするには、Rendering Mode を Transparent に変更すれば、ガラスのような光沢感が表現でき、Inspector の真ん中あたりにある Emission(放射)にチェックを入れると光り輝かせるような表現もできます。
透明化はいろいろな方法がありますが、シェーダーを変更するのが基本。MMD4Mecanim を使っていないときは、このようなキーワードでも調べてみて下さい。