シェーダー、ファイル間の移動方法
シェーダーを変えるとうんぬんかんぬんって内容なんですけど~
ファイル内に交換できるシェーダーが有る場合はMaterialで選び直せますけど、
無い場合はどっかから持って来なくてはいけません。
掲示板ではその方法はあまり書かれていませんよねぇ、ってか書くには長い説明になりそうだし~(;^_^A
っと言うことでちょっとこちらで書いてみようかと。
今回はCutOutシェーダーを別ファイルに移植してみようかと思います。
なぜ、CutOutシェーダーかと申しますと透過系であるにも関わらず、透過病を発症しないからかなぁ。
以前、bdpq氏がCutOutシェーダーを世に繰り出して下さいましたが、実はプレクラ内にもCutOutシェーダーが存在していまして
ネコ耳にそのシェーダーが使われています。
それでは、そのシェーダーを移植してみましょう。
まずは、作業する為のフォルダーを適当な名前でお好きな場所に1つ作ってください。
そこにシェーダーを移植したいファイルを置いてください。
移植元のネコ耳のファイルは元のゲームの物をそのまま使いますのでコピーしてくる必要はありません。
ネコ耳のファイル名は「Headgear_01.unity3d」なので、まずはこのファイルをSB3Uで開きます。
ファイルを開いたらまずは、SB3Uの左下のウインドーの「Materials」の所を見てみましょう。
画像を見て頂くと解ります様に
「Marmoset BumpSpecular HSV Offset(CutOut)」と言うシェーダーが出て来ます。
移植する子はこの子ですねぇ。
次にSB3Uの左下のウインドーを「Animator」に変えまして「Headgear_01」をダブルクリックしてHeadgear_01をEditorで開きます。
Editorで開きますとObject Treeが出て来ますので、そこのMaterialsの前の「+」をクリックしてください。
そうしますとそのファイル内で使用されているMaterialが表示されます。
この画像のMaterial名が「cf_M_ac01_00」の物にCutOutシェーダーが使われていますので、
このマテリアルごと別ファイルに移植しちゃいましょう。
そうすると移植先のファイルでもそのマテリアルが使えますので色々と便利だったり選択肢が増えたりしますので
私が一番多く使う移植方法はこの方法です。
それでは続けて~このままのSB3Uの状態で移植先のファイルを開いちゃいます。
開きましたら一度Materialsのウインドーを確認してみましょう。
当然ですがCutOutシェーダーは有りませんねぇ、
確認が済みましたら、Animatorウインドーに移動しまして、移植したいファイルをダブルクリックしEditorで開いてください。
Editorで開きましたら先ほどと同じくObject TreeのMaterialsの前の「+」をクリックし、そのファイルで使われている
Materialを表示してください。
これで2つのファイルと2つのEditorがSB3Uで開かれている状態になりました。
この状態で左上のメニューの「Tool」から「WorkSpace」を開きます。
WorkSpaceを開きますと上の画像の様にSB3Uの左下に「WorkSpace」のウインドーが追加されます。
この追加されたWorkSpaceのウインドーに移植したいシェーダーがセットされているMaterialをD&DでObjectTreeからコピーします。
当然ですが、WorkSpaceのウインドーに表示されてますねぇ、そしてこの状態になったらEditor側を移植したい方のEditorに変更し
今度はWorkSpaceのウインドーからObjectTreeのMaterialsへD&Dします。
このときのD&Dするときの掴むところは、WorkSpaceウインドーのMaterialsでもMaterial名の所でもどちらでも構いません、
ですがドロップする場所はObjectTreeのMaterialsの所へドロップしてください。
まぁ、多少ズレたところで大丈夫かとは思いますのでその辺は適当に~(;^_^A
ここまでの作業が済みましたら、CutOutシェーダーは移植したいファイル側に追加されていますし、当然Materialも追加されています。
画像を見て頂くとわかるように色々とシェーダーが増えてますよねぇ。
この様に増えていましたら移植は成功です。
ここまで作業が進みましたら一旦ここでSaveしましょう。
ここでSaveすることで新たに追加されたシェーダーとマテリアルにIDが割り当てられ、ちゃんと使えるようになりますので
必ずSaveすることをお勧めします。
Saveをしましたら一旦Editorを閉じまして再度ファイルをEditorで開き、移植したシェーダーを別のマテリアルに割り当てたり、
一緒に移植したマテリアルをメッシュに割り当てて弄ったりと色々出来ますので後は思う結果になる様に色々やってみて下さい。
以上が一つ目のシェーダーの移植方法です。
実は他にも2つばかり方法が御座いますがぁ、今回はこの辺で~(;^_^A
長文な上に下手な説明を読んで下さり有難う御座いました。