無用の長物の彼方

・・・

           

ハニセレFurShader

え~今回は衣装にも使いましたFurShaderについて記事にしてみようかと思いま~す。

初めに「FurShader」の再使用を許可下さった方にはとても感謝しています。
もふもふ好きにはたまらないご配慮だったかと。

んで、本題ですが

FurShaderですが、読んで字のごとくファーを作り出すシェーダーって言うのは皆さんお解りですよねぇ

このシェーダーを一早く衣装に取り入れられたHFのDilldoe氏作のFurCoatを使ってみた感じだと
なんとな~く色々透けているよなぁっと思た方も少なくないかと思います。

私もFurShaderを使っているうちに「これってもしかしたら描き出されるファーは半透明扱いなのでは?」
っという疑問を持ち始めました。

いつぞやも不透明と半透明などで絵画計算する時の計算順みたいなのに区分があると書きましたよねぇ
元々配られていたFurShaderをセットされているマテリアルのCustomRenderQに「2000」という数値がセット
されていたんですけど、この「2000」という数値は不透明のメッシュの絵画計算領域でして
当然ですが不透明の上に半透明を重ねると、下にあった不透明が消されその上に半透明が絵画されます。

つまりは透過病と同じような現象が起きやすい領域にわざわざセットしちゃってたってことなのです。

これが解れば後は、半透明のメッシュが計算される領域は「3000から3999」なので
FurShaderがセットされているマテリアルもその領域にCustomRenderQを変更すれば
不透明のメッシュとの透過病は最低限避けられるということになりますよねぇ。

残すは、半透明同士のCustomRenderQの比較とかMonoBehaviourのSetRenderQとの兼ね合いで
不透明同士の透過病を出来るだけ目立ちにくい方へ調整していけば、なんとな~く違和感が少ない
仕上がりへとなっていくんですけど~、これがとってもややこしい事極まりないんですぅ(;^_^A

ハニセレに内包されているほとんどの半透明用のマテリアルにはCustomRenderQに「3000」がセットされてますが
殆どの半透明メッシュにはSetRenderQがセットされていまして、その中身を見ますと色々と数値を決めているルールみたいな
ものはあるものの、全部を覗いてみない限りはとってもバラバラな状態に見えちゃうんです(;^_^A

っということで検証する物だけを対象に透過病の有無をいつも確認するのですが、
当然ですが全ての物との検証をしていないため、必ずどこかで目立つ透過病が起きちゃうってことに(;^_^A

っとまぁ、透過病自体は3Dゲームの永遠の厄介者っぽいんで~そこら辺は適当に経験則で数値を決めてしまって
ある程度は妥協する方向にいつもなるって言うのがお約束~

っと言うことで、ちょっとDilldoe氏作のコートとショールのCustomRenderQを弄ってみたので
その結果の画像をご覧ください
20170212172822836.jpg

ちなみにCustomRenderQの数値はコートのファーが「3560」で、ショールのファーが「3561」にしてあります。

ぱっとみではそれなりに見える様になってますよねぇ

しかし~角度を変えると~
20170212173029342.jpg
ちゃ~んと前髪越しに後ろのショールが透けちゃてます

しかし~まぁこれぐらいならいっかぁっなレベルなのでこれでOKってことで~(;^_^A

さ~て、長々と書きましたがCustomRenserQとSetRenderQを考慮すればFurShaderも結構いい感じで使えるのが
解っただけでも今回の衣装作りは役に立ったかなぁ

そうそう、れどめにも書きましたが~ファー部分にはどう頑張っても影は落ちませんでした(;^_^A
これはゲームの仕様なんでしょうねぇ

っと言うことで~ファーコートの見栄えが良くなってちょっと嬉しかったイトでしたっと。

2 Comments

RLA  

No title

うん(゚д゚)(。_。)(゚д゚)(。_。) 勉強させてもた。おおきに!
せやけどMaterialコピーしてからやるんやの(゚、。)?
" fur " ちゅうMaterialのCustomRenderQちゅう数値を変えるんぢゃろ?

でないとCustomRenderQの数値はコートもショールも同じ" fur " ちゅうMaterial名
やさかい一個変えたら皆同じ数値になってまうやろ(゚、。)?
ワシ・・・何か根本的なこと間違うとるんやろか ^^;

2017/02/12 (Sun) 21:46 | EDIT | REPLY |   

イト  

RLAさん、いらっしゃいませ~(^^)/
その通りですよん。マテリアルコピーで別マテリアルにしてもいいし~
マテリアル同じでメッシュの有るフレームにMonoBehaviourのSetRenderQで
数値を入れても構いませんですぅ。
どっちを使っても結果は同じ様な物ですのでお好きな方をお試しあれ

って方法書くのすっかり忘れてるよねぇ(;^_^A
ごめんねぇ、いつか記事にするですぅm(_ _"m)

2017/02/13 (Mon) 02:42 | EDIT | REPLY |   

Leave a comment