無用の長物の彼方

・・・

           

シェーダー、ファイル間の移動方法

playClub&HoneySelect画像掲示板【pH板】でレイヤーの話題の中にシェーダーの話題もちらほら出て来ますよねぇ。
シェーダーを変えるとうんぬんかんぬんって内容なんですけど~
ファイル内に交換できるシェーダーが有る場合はMaterialで選び直せますけど、
無い場合はどっかから持って来なくてはいけません。
掲示板ではその方法はあまり書かれていませんよねぇ、ってか書くには長い説明になりそうだし~(;^_^A

っと言うことでちょっとこちらで書いてみようかと。

今回はCutOutシェーダーを別ファイルに移植してみようかと思います。
なぜ、CutOutシェーダーかと申しますと透過系であるにも関わらず、透過病を発症しないからかなぁ。

以前、bdpq氏がCutOutシェーダーを世に繰り出して下さいましたが、実はプレクラ内にもCutOutシェーダーが存在していまして
ネコ耳にそのシェーダーが使われています。
それでは、そのシェーダーを移植してみましょう。

まずは、作業する為のフォルダーを適当な名前でお好きな場所に1つ作ってください。
そこにシェーダーを移植したいファイルを置いてください。
移植元のネコ耳のファイルは元のゲームの物をそのまま使いますのでコピーしてくる必要はありません。
ネコ耳のファイル名は「Headgear_01.unity3d」なので、まずはこのファイルをSB3Uで開きます。

ファイルを開いたらまずは、SB3Uの左下のウインドーの「Materials」の所を見てみましょう。

WS000093.jpg

画像を見て頂くと解ります様に
「Marmoset BumpSpecular HSV Offset(CutOut)」と言うシェーダーが出て来ます。
移植する子はこの子ですねぇ。

次にSB3Uの左下のウインドーを「Animator」に変えまして「Headgear_01」をダブルクリックしてHeadgear_01をEditorで開きます。
Editorで開きますとObject Treeが出て来ますので、そこのMaterialsの前の「+」をクリックしてください。
そうしますとそのファイル内で使用されているMaterialが表示されます。

WS000096.jpg

この画像のMaterial名が「cf_M_ac01_00」の物にCutOutシェーダーが使われていますので、
このマテリアルごと別ファイルに移植しちゃいましょう。
そうすると移植先のファイルでもそのマテリアルが使えますので色々と便利だったり選択肢が増えたりしますので
私が一番多く使う移植方法はこの方法です。

それでは続けて~このままのSB3Uの状態で移植先のファイルを開いちゃいます。
開きましたら一度Materialsのウインドーを確認してみましょう。

WS000097.jpg

当然ですがCutOutシェーダーは有りませんねぇ、
確認が済みましたら、Animatorウインドーに移動しまして、移植したいファイルをダブルクリックしEditorで開いてください。
Editorで開きましたら先ほどと同じくObject TreeのMaterialsの前の「+」をクリックし、そのファイルで使われている
Materialを表示してください。

WS000098.jpg

これで2つのファイルと2つのEditorがSB3Uで開かれている状態になりました。
この状態で左上のメニューの「Tool」から「WorkSpace」を開きます。

WS000100.jpg

WorkSpaceを開きますと上の画像の様にSB3Uの左下に「WorkSpace」のウインドーが追加されます。
この追加されたWorkSpaceのウインドーに移植したいシェーダーがセットされているMaterialをD&DでObjectTreeからコピーします。

WS000102.jpg

当然ですが、WorkSpaceのウインドーに表示されてますねぇ、そしてこの状態になったらEditor側を移植したい方のEditorに変更し
今度はWorkSpaceのウインドーからObjectTreeのMaterialsへD&Dします。

WS000103.jpg

このときのD&Dするときの掴むところは、WorkSpaceウインドーのMaterialsでもMaterial名の所でもどちらでも構いません、
ですがドロップする場所はObjectTreeのMaterialsの所へドロップしてください。
まぁ、多少ズレたところで大丈夫かとは思いますのでその辺は適当に~(;^_^A

ここまでの作業が済みましたら、CutOutシェーダーは移植したいファイル側に追加されていますし、当然Materialも追加されています。

WS000104.jpg

画像を見て頂くとわかるように色々とシェーダーが増えてますよねぇ。
この様に増えていましたら移植は成功です。

ここまで作業が進みましたら一旦ここでSaveしましょう。
ここでSaveすることで新たに追加されたシェーダーとマテリアルにIDが割り当てられ、ちゃんと使えるようになりますので
必ずSaveすることをお勧めします。

Saveをしましたら一旦Editorを閉じまして再度ファイルをEditorで開き、移植したシェーダーを別のマテリアルに割り当てたり、
一緒に移植したマテリアルをメッシュに割り当てて弄ったりと色々出来ますので後は思う結果になる様に色々やってみて下さい。

以上が一つ目のシェーダーの移植方法です。

実は他にも2つばかり方法が御座いますがぁ、今回はこの辺で~(;^_^A

長文な上に下手な説明を読んで下さり有難う御座いました。

4 Comments

RLA  

ありがとう!
何でもっと早よぉこの方法教えてくれへんかってんなホンマ!

ワシゃ~もう泣くぞぉ~ホンマ(笑)
イトさんてアレなのね…這い上がって来てクルクル♪するまでは知らんプリの
イケズなライオンさんだったのネ…。

冗談はさて置き、おおきに!イトさん、めっちゃ勉強になったお w
へてから、これ絶対消したらアカンぞぉ…ワシがコピーして熟知するまで(笑)

んで今夜は貴殿に『超神モッダー』の称号をば与えようぞ!

2016/08/25 (Thu) 22:54 | EDIT | REPLY |   

イト  

何処かで聞いたような称号だなぁ・・・なにか懐かしいようなぁ(;^_^A

ってか~もっと簡単なのを記事にしたじょ~
そっちの方がらくちんだじょ~
この記事は布石なのにゃ~
ふぉ~っふぉ~っふぉ~っふぉ~

2016/08/25 (Thu) 23:26 | EDIT | REPLY |   

Core2Dev  

透過病が発症しないShaderがもう既にあるだとー!?
と、驚愕の事実を拝見しましたので早速CutOutシェーダ調べてみました。

あ、ナルホド。

結論から言うとアレは厳密には透過(Transparent)ではなく、アルファテスト(AlphaTest)という、ちょうど不透明(Geometry)とTransparentの中間チョイ手前にある、「不透明なオブジェクト」でありました。

テクスチャで定義される透明度をCutOutとかCutoffの値(シェーダ内0.5)を閾値として、パッキリと透明・不透明に分ける機能があります。透過病が起こらない代償として、アンチエイリアスがかからずジャギーが目立つという弊害が。

取り急ぎご報告まで。

2016/08/25 (Thu) 23:40 | EDIT | REPLY |   

イト  

Core2さん~情報ありがとう。
ですが、シャギーが出るのはTKさん含めプレクラを長々改造している人は皆さんご存知ですよん。
何せ、bdpq氏が改造したシェーダーが髪型に使われていまして
そのシェーダーがCutOffシェーダーでして、
過去にそのシェーダーについての話題が繰り返し有りましたからねぇ。
その掲示板は今はもうないという(;^_^A
しかし、わざわざ調べて頂き有難う御座いますぅ。

2016/08/26 (Fri) 00:16 | EDIT | REPLY |   

Leave a comment