【MMD】横顔になったら消える鼻線をスフィアで設定する【PMXE】

学園アイドルマスターこと学マスで正面で見える鼻線が横顔になると消えるというのがそこそこ話題になってたので、MMDでもスフィアを使うことで簡単にそれっぽくできるよという話です。

 

 

3d.nicovideo.jp

 

今回は最初から鼻に筋が描いてあるTda式ミクさんでやってみます。

 

まず鼻線が描いてある顔のテクスチャを鼻線とそれ以外に分離します。

鼻筋なしのテクスチャは肌色で塗り潰して、

鼻筋を取り出す場合はGimpなどで特定の「色を透明度」にすることで取り出せます。

(綺麗に抜くにはあらかじめテクスチャを2枚以上乗算で重ねて色を濃くしておくといいと思います)

 

次にテクスチャを当てている顔の材質を複製します。

 

複製方法は「面のみ複製」「頂点/面を複製」「頂点/面/関連モーフをすべて複製」の3通りあります。ここではとりあえず「頂点/面を複製」で。

どの方法でもいいのですが、モーフをすべて複製すると増えたモーフを後で統合マージするのが少し面倒です。鼻をモーフで動かせるようなモデルでなければ、モーフまで複製する必要はないし、「面のみ複製」するとPMXファイルの状態検証で「重複面があります」というメッセージが出続けます(それ自体は問題ありません)

 

元の顔材質の「face00」に鼻線がないテクスチャを割り当て、複製した材質の「face00+」に鼻線だけのテクスチャを割り当てます。

複製した材質の順番は材質リストの下の「↑」「↓」で動かせます。

上の画像だと鼻線がオリジナルより少し色が濃くなっていますが、テクスチャを色調するか、そうでなければ材質の「非透過度」をいじるのでも調整できます。

 

下の画像テクスチャをダウンロードして(名前は自分で適当にリネームしてください)、鼻線だけになっている材質「face00+」に乗算スフィアとして適用します。

 

(上の画像を「nose224.png」として使っています、224は円の半径)

 

とりあえずこれだけで横顔になると鼻線が消えるようになります。

 

 

モデルによってスフィア内の黒い円の部分の最適な大きさが違うので、その辺は各自調整してみてください。

 

上の作業では顔全部を複製していますが、実際には必要なのは鼻の部分だけなので、不必要な頂点や面は削除して大丈夫です。

スフィアの出方は法線によって変化します。どうにもうまくいかないと思ったら複製した顔材質の方の法線を以下のようなプラグインですべて完全に前に向けてしまってもいいと思います。

 

bowlroll.net

 

【仕組み&注意】

スフィアは面の向き(実際には法線)によって出方が変わるのですが、スフィアに透過値を使うことで、鼻が正面を向いている場合は鼻線を表示し、横を向いている場合は見えなくするようにできます。

ただし、シェーダーやエフェクトによって透過を使ったスフィアがうまく反映されない場合があります(加算スフィアの方が透過値が反映されないケースが多いです)。今回のように鼻線だけの材質なら特殊なシェーダーを使う必要はないと思うので、その材質だけシェーダーを解除するんでいいと思います。