無用の長物の彼方

・・・

           

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

先ほど記事にした方法より簡単にシェーダーだけ移植する方法もあるので~書いちゃいますぅ。

今回は前回より作業は簡単です。
前回と同じくCutOutシェーダーを移植してみましょう。

前回同様に作業フォルダーは一応作って作業しましょう、まぁ、慣れればその必要は無いのですけど~。
フォルダーを作りましたら前回同様にシェーダーを入れたいファイルをフォルダーに置きます。

まずは前回のネコ耳のファイルを開きます。
開いたらすぐに左下のウインドーのMaterialsをクリックしてマテリアル類を表示してください。

WS000105.jpg

開きましたら、そのまま、移植先のファイルを開き、同じくウインドーをMaterialsにしてマテリアル類を表示しましょう。

WS000106.jpg

これで2つのファイルを開いた状態になりましたよねぇ。
準備はこれで終わりです。
後は移植したいシェーダーを移植元のファイルのウインドーで選びます(クリックします)。
選びましたら、左下のメニューの「Assets」から「Mark for Copying」を選んで下さい。
そうしますと下の画像の右の画面の様に下線がシェーダーに入ります。

WS000108.jpg

この状態になりましたら、移植先のファイルにウインドーを変えまして、
同じく左下のメニューの「Assets」から「Paste All Marked」を選ぶと
下の画像の右側の様に黒く浮き上がった文字の新しく追加されたシェーダーが表示されます。

WS000110.jpg

これでシェーダーのみの移植は完了です。
あとは一度Saveして新しく入ったシェーダーにIDを割り当ててください。
そうすれば普通に使えるようになります。

それと上記とまったく同じ方法でマテリアルもコピーできますので、そちらも活用するとより色々出来るかと思います。
また、この方法ですと複数のマテリアルやシェーダーを選んだ状態でも使用できます。

どうでしょう?前回よりは簡単だったのではないでしょうかねぇ。
では、なぜ、前回のややこしい方から説明したかと言いますと、Workspaceを使う作業は実は他にも色々ありまして、
フレームをまるまるコピーしたり、MonoBehaviorの移動や移植に使ったりと多方面に渡ります。
ですので、今後そのような説明をする際に、一度でもWorkSpaceを使っていますと理解しやすいかなぁっと言うことで
わざわざややこしい方を先行して記事にした次第です。

あともう一つのシェーダーの移植は、既存のシェーダーの名前を移植するシェーダーと同じ名前にリネームして、
そこにReplaceで上書きするという方法もあるのですが、これはあまりお勧めしません。
なぜかと言いますと~今回のCutOutシェーダーの移植でも解りますように関連したシェーダーが引っ付いて来ないので
何か不具合が出る可能性が有るからです。
この方法は本来、既存のシェーダーを改造し埋め戻す場合に使いますので必要な機能ではありますが、
移植向きでは無いということですねぇ。

っとまぁ、シェーダーの移植や移動に関して私が知っていることはこのぐらいですねぇ。

取敢えずシェーダー関連はこれでおしまいかなぁ(;^_^A
ではでは~よいプレクラライフを~(^^)/

8 Comments

RLA  

って、何かい!後だしジャンケンやったんかい!
むっちゃ、コッチの方が解り易いやんけホンマ!

やっぱイトさんて凄まじい " S  " だったのネぇ~

鏡張りでアメとムチの雨霰・・・・恐ろしい(-.-)

まっ、アホはさて置き、めっちゃ感謝です!イトさん講座最高!

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

イト  

やっぱりあたしってSなのかなぁ(;^_^A
自覚はないんですけどねぇ・・・

でも~こっちの方が楽ちんだけど~Workspaceも使えると色々便利だよ~ん(^^)

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

Laurel K.  

Workspaceのほうはいつも使ってたのですが、
こちらのやり方は初めて知りました。
こんどからこちらの方法でやってみます。
ありがとうございました。

2016/08/26 (Fri) 05:56 | EDIT | REPLY |   

イト  

K.さんいらっしゃ~い。
WorkSpaceの方での作業の方が、私は好きなんですけどねぇ。
感覚的にっていうかぁ、作業内容を把握し易いんですよねぇ。
WorkSpaceで慣れていらっしゃるなら無理にこの記事の方法を使わなくてもいいかも~。

2016/08/26 (Fri) 17:47 | EDIT | REPLY |   

RLA  

うーん・・・
試しにMarmoset Bumped Specular IBL 715 が入ってる TKさんの
Item03ベース?のItemsw3.unity3dから

Kさんの『ネックレスとR2と歩行戦車』に入っているR2D2の入ってる、
Itec11n2.unity3dに同じ方法で、やってはみたんじゃが・・・
なんか上手いこといかんのぅ('A`)

WorkSpaceの方法でもやってみたんじゃが、
Marmoset Bumped Specular IBL 715ちゅうのが出て来んのぅ…

>>一度Saveして新しく入ったシェーダーにIDを割り当ててください。
これの意味が、も一つ解からんのぅ…。

何れの方法でも Material 設定の Shader Used で
"Marmoset Bumped Specular IBL 715 "
ちゅうシェーダー名が出て来んし、また選び直そうとしたら
"Marmoset Bumped Specular IBL 58 " になっとって、別のもん
選び直してから再び IBL 58 に戻すとコピー前の状態に戻ってまう
という・・・・・

何か基本的なこと勘違いしとるんかのぉワシ…^^;

2016/08/26 (Fri) 21:35 | EDIT | REPLY |   

イト  

その「715」っていうのがIDだよ~ん
RLAさんが黄色で書いてる数字は全部IDですねぇ。
Unity3dファイルが変わればIDも変わっちゃいますねぇ。
当然ですけど~移植元と移植先では同じシェーダーでもIDは別物になりますぅ。

う~ん、シェーダー名の下りも記事にしなきゃだねぇ。

2016/08/26 (Fri) 21:51 | EDIT | REPLY |   

Laurel K.  

イト先生、
シェダーの移植後、移植したシェダーで色合いや光の当たり具合の
設定ができなくなることってありますでしょうか?
掲示板の技術スレで載せてたタクシーですが、影は正しい形と
大きさで地面に表示できるようになったのですが、
Materialで色合い(RGB)や光の当たり加減(SpecIntとか)
の項目が移植元のファイルにはあるのに、移植先の
ファイルでは消失してて設定できなくなります。
ですので、影は地面に落ちるようになっても
車体への光が当たらなくなり、光源を移動しても
べとっとした車体のまま光の影響を受けないので
影無し以上に不自然になります。
またわたしの環境限定かもですが、もし心当たりが
ありましたら教えてください>_<。
幸いタクシーは車体(影を受けるShaderを指定)と
下周り(影を落とすShaderを指定)にSub-Meshがわかれていたので
なんとなく解決していますが、Sub Meshが一つしかないものだと
選択肢が極端にかぎられてしまいます、、、、。
でもこれってたぶんわたし限定の悩みですね。
RLAさんが仰っていたR2D2に指定されたShaderを入れてみましたが、
サイズ無視の丸い影しか出なかったので、、、、><。

2016/08/26 (Fri) 22:44 | EDIT | REPLY |   

イト  

確かpH板で仰っていたかと思いますが、「Unlit-Normal」をお使いでしたよねぇ。
確かにMap13のステージではRGBAに数値を入力できますねぇ。
ですが、このシェーダーは雨宮さんがスカイドームで使用しているシェーダーと同じでして
このシェーダーはライトによる影響が無いというのが特徴です。
なので、もしRGBAを入力できたとしても結果は同じかと~。
ちなみに私の環境でもこのシェーダーを別のマテリアルに設定しますと何も入力できませんねぇ。

しかし、どうしてみんな丸影になっちゃうんでしょうねぇ(;^_^A

2016/08/26 (Fri) 23:37 | EDIT | REPLY |   

Leave a comment