Onoty3D

Unityに関するメモとか

おきゅらすたんのスカート用にToonShaderを改造する

ヨコイさんの手によるおきゅらすたんの3Dモデル、ニコニ立体で公開されております。

自分はMMDは浅学なので、MMD4MecanimでUnityに取り込んでから遊ばせてもらっています。

f:id:onoty3d:20160425133842p:plain

ところで、VR草の者式~の方のおきゅらすたんのスカート部分。
本来半円のレース状になっているのですが、Toon/Lit Outlne Shaderだと透過をサポートしていないので、こんな感じになります。f:id:onoty3d:20160425134516p:plain

 

残念なので、clip関数を使ってCutOut表現が出来るようにしてみます。f:id:onoty3d:20160425134831p:plain

これでレースは表示されましたが、アウトラインがメッシュの形そのままで出てるので変。

 アウトラインもclip。

f:id:onoty3d:20160425135632p:plainこれだけだとレース部分にアウトラインがほとんど出ません。

 通常テクスチャのCutOutの閾値とアウトラインの閾値を別パラメータにして少しずらしてみます。これでレース部分にもアウトラインが出てきます。
※アルファ値が0/100で綺麗に分かれているようなテクスチャだとこの方法が使えないので別法を探る必要がありますが、今回はとりあえずこれで。
f:id:onoty3d:20160425134946p:plainただ、Toon/Lit Outlne ShaderのOutlineはCull Frontされているので、レースの前面の方は線が出ません。

とりあえずCull Offにすると、通常テクスチャの上にアウトラインの膜がでるような感じになってしまいます(アウトラインは頂点を膨張させて描画する仕様なので)。f:id:onoty3d:20160425135405p:plain

なのでCull Off状態で、ちょっとアウトラインをZ方向(奥方向)にずらします。f:id:onoty3d:20160425140355p:plain

なんとなく出来たかな?

とりあえず現状のShaderを公開してみます。
Dropbox - ToonCutoutShaders.unitypackage

 

パラメータこんな感じ。
f:id:onoty3d:20160425141349p:plain