【Unity】2020.3.31f1で読む「Unityゲームエフェクトマスターガイド」
はじめに
「Unityゲームエフェクトマスターガイド」をこの記事を投稿する2022年3月23日時点の最新の推奨リリースである、2020.3.31f1でやってみようという内容です。
これを書こうと思い立ったのが、実際に手を動かして実践していくChapter4以降なので、このnoteの内容はChapter 4以降限定です。
それより前の部分は、メモを取ってなかったので。
あと、同じ手順が出てきたときは書いてません。その手順が初めて出て来た時だけ書いてます。
でも書きながらぶっちゃけ、こんなことするくらいならこの本に書いてある2018.2のバージョンでやった方がスムーズやなぁ、と思ってしまいました。
とは言え、最新環境でツールを触るのも大事かなと思いますので、誰かの何かの参考になれば幸いです。
ちなみに、Houdiniについては、バージョン18に対応した内容が著者の方のホームページに書いてあります。
この内容を見つつ、Houdini18に対応したサンプルファイルを参照してみてください。
Chapter 4 (バフエフェクト)
P177 (Texture Sheet AnimationにFlip Vがない)
Texture Sheet AnimationのFlip Vの設定は、Rendererに移動しているっぽいです。
Rendereモジュール内に、Flip X,Y,Zとあるので、これのYを0.5にすると同じことができます。たぶん。
同じようにFlip Uを触りたい場合は、RendereのFlip Xを触れば大丈夫だと思われます。Zは謎。
Chapter 5 (バリアエフェクト)
P191 (Light Weight RPがない)
Light Weight RPは、Universal Render Pipelineへと変更されているようですので、Universal Render Pipelineを選択しておきましょう。
後述しますが、Post Processingのインストールはいらないみたいです。
Shader Graph はインストールされていたんですが、僕が他のプロジェクトで使ったことがあるからなのか、Universal Render Pipelineを選んだからインストールされていたのかは謎です。
P193~194 (ポストプロセスの設定)
Universal Render Piplineにおけるポストプロセスの設定は大きく違うようです。
こちらのページが参考になりました。
まずはMain CameraにUniversal Additional Camera Dataのスクリプトがくっついているかを確認してください。
たぶん最初からくっついていますが、なければAdd Componentから追加します。
次に、Cameraコンポーネント内のPost Processingにチェックを入れます。
そして、Post Processing Volumeの設定時に、Post-process Volumeを追加するのではなく、「Volume」のスクリプト を追加します。
Bloomの設定は本と同じで大丈夫です。
Color GradingのModeをACESに変えるのは、
こちらのページが参考になりました。
Tonemappingで同じ設定ができるようです。
P195 (Robot Kyleシェーダーの設定)
Light Weight RPで始めていないのでシェーダーの選択肢にLightWeightRenderPipelineがありません。
ここではUniversal Render PipelineのSimple Litを選択しましょう。
これでもRobot Kyleは真っ白なままだと思います。
ここで、インスペクターの右上の鍵のマークをクリックして、Robot_Colorのインスペクターを画面に固定します。
この状態でRobot KyleのTextureフォルダに移動して、Robot_Colorのテクスチャを、Robot_ColorのマテリアルのSurface InputsのBase Mapと書いてある左の四角に、ドラッグ&ドロップします。
これで、Robot Kyleが正しく表示されるようになります。
P221 (シェーダーファイルの作成)
ここは、Unlit Graphを直接選べないので、Universal Render Pipelineの中にある、Unilit Shader Graphを選択します。
P225 (マスターノードへの接続)
マスターノードは、マスタースタックという機能に置き換わっています。
Sample Texture 2DのRGBA(4)から、マスタースタックのFragmentのBase Color(3)に繋げます。
これは、マスターノードはただパラメータを入力するだけだったみたいですが、マスタースタックは本来のシェーダーの処理の流れの通りに、上からパラメータが書いてあるようです。
P227 (Shader Graphで作ったシェーダーを割り当てる)
割り当てるシェーダーが本では一覧として表示されていますが、今の環境だとどうやら「Shader Graphs」の中にいるようです。
「Shader Graphs」を選択してから「SH_lesson05_UVscroll」のシェーダーを選択します。
P231 (Vector1ノードはFloatで)
Vector1ノードはFloatというノードに置き換わっています。
ノード名の検索で「Vector」と入力しても親切にFloatを表示してくれます。と言うかこれで気付いた。
Floatって何?となっている人がもしいたら、今は"小数点のある数値"を出力することができる、ぐらいに思っていたらいいのかなと思います。
僕もバリバリのエンジニアというわけではないですが、エフェクト作りはエンジニアの領域にも片足を突っ込んでいるんだな、と最近思います。
ある程度プログラミングの知識もあるとこの辺りの理解がスムーズになります。
P232~P233 (Masterノードの設定)
Unlit Masterノードの設定は、Shader Graph画面内右上の、Graph Inspectorに移動しているようです。
Graph InspectorのタブをGraph Settingに切り替えて、SurfaceをTransparentに設定するとBlendの設定が現れます。
BlendをAdditiveにして、Two Sidedの設定もします。
P233~P234 (パラメータをプロパティとして登録)
現在の環境ではConvert To Propeertyは直接選ぶのではなく、Convert Toの中にあるPropertyを選ぶことになっているようです。
P234~P235 (マテリアルの表示を更新)
登録したパラメータの名前とスライダー表示への変更は、変更したいパラメータを選んだ状態で、先ほどのGraph InspectorのタブをNode Settingに切り替えて行います。
ModeをSliderに変更すると、MinとMaxも表示されます。
P240 (Alphaに繋げる)
VertecColorから取り出したAlphaは、先ほどのBase Colorと同じように、マスタースタックのFragmentのAlphaに接続します。
Chapter 7 (ビームエフェクト)
P404 (CollisionのTypeをWorldにする)
dust02にCollisionを設定する際に、Typeのデフォルトが(僕の環境では)Planeになっているので、Worldに設定しておきます。
おしまい
ここまで来たら、あとはこれまでと同じ手順で対応できるはずです。
お疲れさまでした!
この記事が気に入ったらサポートをしてみませんか?