VroidStudioで作ったモデルの前髪を透過して眉毛を表に出す方法の顛末


趣味でVroidモデルを作っている者です。
先日、Xの相互フォロワーさんのオリジナルキャラのモデルを作成しました。
そのキャラの大きな特徴として外から眉毛が見えるというものがありまして
通常、Vroidで作成したものは前髪が透けません。
そもそも半透明のテクスチャを当てても不透過になるので、何か良い手はないものか・・。

眉が透けてない妙ちゃん

何か手は無いかと検索したところ2つの方法がありました。
一つは、Unityで髪の毛に当たる部分のテクスチャを透過させる方法
二つ目はblenderを使って眉毛を前髪より上に表示させる方法。

1.Unityで髪の毛に当たる部分のテクスチャを透過させる方法

ヤフー知恵袋に似たような質問に対して紹介されていたnote記事がありましたので紹介させていただきます。

この方法を試したところ、確かに眉毛は透過したものの髪の毛からアウトラインとハイライトが消えてしまい、位置によっては頭のリボンも透けてしまいます。
私が意図した感じにはなりませんでした。


髪の毛のアウトラインが消えてしまった妙ちゃん

2.blenderを使って眉毛を前髪より上に表示させる方法

もう一つ、youtubeでblenderを使って紹介されていた方法。

こちらは素体がVroidではないですが応用が利くのではないかとやってみました。
前髪を透過させるのではなく眉の表示を一番上にするという方法?

しかし、顔のパーツ分けをする段階で親子関係が崩壊するのか、
透過処理を施した時点でblenderでの表示は成功しているものの、VRMにエクスポートすると表情が反映されなかったり顔のパーツ(目やまつ毛)が消失してしまい、これまた躓く結果となりました。

blender上では成功している妙ちゃん

3.結果

あれやこれやと試しているうちに、前髪の一部の透けたいところだけ別テクスチャにすればいいんじゃね?という結論に至りました。

1.VroidStudioで髪の毛用のテクスチャをもう一つ作り、(髪の毛Aと髪の毛B)
赤丸のところだけ透かしたいのでここの毛束をテクスチャBに差し替えます。
透過させるとアウトラインとハイライトも消えてしまうので前髪を部分的に二重にしておきます。(赤い線のあたりが二重になってます)
これをVRMで出力します。

2.uniVRMを当てたunityにVroidStudioで作ったVRMファイルをインポートします。
*uniVRM導入方法はたくさん情報がありますので調べてください。

3.unityにインポート出来たらAssetの中の「○○.Materials」の中から透過させたい髪の毛のテクスチャを選択します。

髪の毛のマテリアルです

4.選択したテクスチャのRenderingのRendering Type を「Transpaernt」にします。

5.その下のCollarの「Texture」Lit Color,Alphaをクリックして


カラー変更のヤツが出るので四角のところにある丸を上下にドラッグして髪の色味を合わせてください。


見事に眉が透けた妙ちゃん

あぱもん様
ありがとうございました。



いいなと思ったら応援しよう!