Bakulog

獏の夢日記的な何か。

【読書感想文】「Unityゲームエフェクトマスターガイド」を読みました

無職なので本を読んでました、という話です。

もくじ

  1. やったこと
  2. 書籍について
  3. 感想いろいろ
  4. まとめ

 

1. やったこと

Unity 2018.3でエフェクト関係の本を読んで、こういうのを作ってました。

 

シェーダーは書籍の解説を後追いして最初から作ってます。

テクスチャとかエフェクト内で必要なメッシュは書籍付属のダウンロード資料を使っています。

メッシュについては実際は書籍中にHoudiniでの作成手順があるので、Houdiniを買うか、体験版のHoudini Apprenticeを使えば操作を後追いできます。

 

2. 書籍について

先日の7月19日に技術評論社から発売された「Unityゲームエフェクトマスターガイド」です。

gihyo.jp

タイトル通りエフェクト作成に関する本で、掲載されているコンテンツはこんな感じ。

  • パーティクルシステム(Shuriken)の取扱い
  • Shader Graphによるシェーダー作成
  • Houdiniによる、エフェクトで使うメッシュの作成
  • Substance DesignerとかAdobe AfterEffectsでのテクスチャ作成

とくに9章構成のうち4~8章はエフェクト作成のハンズオンで、読みながら実際に作る流れになります。

ボリュームの目安として、4日間それなりの時間を割いて1~8章を読み通しました。

無職での4日間なのでそれなりに時間をかけたつもりですが、この「4日間」にはHoudiniでの作業が入ってないので、メッシュ作成までやるともう少し時間がかかるはずです。

 

3. 感想いろいろ

3.1. よいこと

Shader Graphは怖くないと分かったのが恐らく最大の収穫でした。

直打ちのGLSLもglslfanとかシェーダーライブコーディング界隈のおかげで着手までのハードルが下がっていますが、本書を通じてそれに近い感触が得られました。

いざ自分で触ってみると、Shader Graphはノードごとにルッキングがどう変わるか確認しやすく、比較的ザツに色々試せるのも良い点だと感じられました。

 

またパーティクル作成については「それっぽくなる工夫」と言える手の入れ方が各所で垣間見えて参考になりました。詳細は書籍に譲りますが、何個か例を挙げるとこんな感じ。

  • Unity 2018.1からは螺旋状にグルグルするパーティクルがVelocity Over LifetimeOrbitですぐ作れるようになってる
  • 動きの単調さが目についたら、とりあえずNoiseForce Over Lifetimeで少しだけ動きをランダム化
  • ほぼ同じ見た目のパーティクルを「素早くてすぐ消える」と「遅いけど残る」に分割すると見た目がリッチ
  • 同じメッシュを使う(=同じ形の)エフェクトでも、シェーダーを切り替えてアルファ合成(Alpha)と加算合成(Add)のエフェクトを重ね着させると見栄えがよく、かつ可視性もよい

これらのポイントはUnityですぐ試せるほか、開発環境によらない設計上のコツみたいな知見としても覚えておきたいなと思いました。

 

3.2. 気を付けるべきと思った事

2つあります。

第一に、後半になるとけっこう複雑になるため、意識的にゆっくり読み進めた方がいいです。例えばこちらは8章で作成する、トゥーンっぽいシェーダーのShader Graphです。けっこうデカいです。

集中してないと今何をやってるか分からなくなる1のは要注意です。

 

第二に、テクスチャ制作まわりをガッツリやる場合は他の本も探すことになるかもしれません。

とくに本書で一部のパーティクルに使っているスプライトアニメーションの作成に関しては本書の範囲外です。ただし9章で外部ツール(Substance DesignerとAdobe AfterEffects)の説明があるので、こちらを取っ掛かりに勉強すれば手が出やすいように見えました。

蛇足ですが、知人に本書の話をした際にも「エフェクトの話題を完全に抑えるならテクスチャも無視できない、というかテクスチャの重要度って高いよね」というごもっともな指摘を受けてます。

 

4. まとめ

端的にまとめると、期間の短さに対してかなり良い勉強になる、いい本でした。

私の手元での悩みとしては、自作ソフトのVMagicMirrorで「キャラクターがキーボードを打鍵した時にどんなエフェクトをつけるべきか?」というのがなかなか決まらず困っていたのですが、本書をきっかけにパーティクルに対して度胸がついたため、何か作れればと思います。


  1. 読んでる途中でも思ったんですが、Shader Graphって標準でコメント相当の(テキストメモがあるだけの)ノードってあるんですかね…?(サブグラフで階層化するだけでも幾分は見やすくなると思いますが)