※ 新人研修用資料として、作成中のページを先行開示します。
(校閲前のため誤字脱字など読みにくい点があることを、あらかじめご了承ください。)
ゲームエフェクトとは?
VFX(Visual Effects)と言葉にはしてますが、広義で抽象的な意味合いです。
ゲームに置いて定義すると、『ゲームエフェクト製作の仕事は、ゲーム全体が楽しくなるように視覚効果で補助をすること』を指します。
ここで重要な部分が “ゲーム全体が楽しくなる様に” という部分です。
映画やアニメのVFXは【見た目重視でガンガンいこうぜ】
映画やアニメのVFXは、見た目が良くなる様に処理負荷などを一切気にせずに、必要な効果をガンガン載せていきます。
動画として書き出したものを提供するため、リアルタイムでレンダリング(演算して画像を表示)する必要がないからです。
そのため、個人端末のスペックに関わらず一定の結果を見せることができ、VFXは見た目以外には影響しません。
制限なく可能なものは何でもやってよいぶん、何でもできるようにしておく必要があります。
ゲームのVFXは【負荷もだいじに】
一方、ゲームのVFXは、全体の負荷を気にしながら効果的なVFXだけに絞って載せていく必要があります。
ゲームの多くが個人端末で処理をおこなうため、端末性能によって結果に乖離がでないようにする必要があります。
データが大きいと、ゲームを落とすことができずに始めることすら出来ません。
処理負荷が大きいと、ゲームがクラッシュして先に進めることが出来ません。
なるべく多くのユーザーに楽しんでもらえるようするためには、見た目を良くするだけではなく、負荷とのバランスをとる必要があります。
限られた条件を見極めつつ、必要なものを効果的に配置する必要があります。
ただし、控えめにし過ぎてつまらない絵にならないように注意してください。
この項のまとめ
ゲームエフェクト製作の仕事は、ゲーム全体が楽しくなるようにすることを意識してください。
多くの人がゲームをプレイできるように、データ容量を圧迫しすぎないように注意する。
ゲームのプレイを阻害しないように、処理負荷が上がり過ぎないように注意する。
そのうえで、ゲームがもっと楽しくなるように視覚効果を補助してください。
ParticleSystemの得意・苦手
Unity の Particle System とは、エフェクトを作る際にとても便利なツールです。
かなり汎用性が高く多くの表現が作れますが、色々無駄な情報も保持しやすいためデータが重くなりがちです。
そのため得意不得意を知り、必要な箇所で使用してください。
このページでは、
【もの と 結果】に対して、Particle System との相性がどうか?という部分に関して述べていきます。
動かないものに Particle System は不向き
ずっと動かないものを Particle System で出すのは、無駄が多くもったいないです。
必殺技の演出を、フィールド外の異空間(ゲーム中と関連性のない空間)でおこなうとします。
この際に、まったく動きのない 家・家具・大岩・小物 などを場に配置するためには Offset さえ設定されていればOKです。
そのため、Particle System で都度 発生させるのではなく、Mesh Renderer などで配置するのが適切です。
そのため、
静的な背景や置き物などには、Particle System を使用しないことが多いです。
移動位置を指定するにはAnimationが向いている
Particle System は、決まった位置に止める・キャラの挙動にキッチリと合わせる といった必ず決まった位置に止めるという指示が苦手です。
そのため、キッチリと定位置へ移動させたい場合は Animation で管理することが適切です。
これは、それぞれの移動に対する指定方法の違いが関係します。
Animation での移動は、今現在いる時間に対する位置を反映させます。
例えると、【10秒で10m先の地点に移動してください】という様な指示です。
再生から1秒目であれば、1秒目にいるべき位置に移動します。
時間ごとに周りとの位置を意識している移動法のため、毎回同じ場所に停止することも簡単です。
これに対して、
Particle System での移動は、発生後の経過時間に対する速度を反映させます。
例えると、【10秒間 秒速1mで移動してください】という様な指示です。
再生から1秒目であれば、1秒目に指定されている速度で移動しています。
時間ごとに自分の速度を意識している移動法のため、高速になればなるほど同じ場所に停止することが難しくなります。
そのため ナイフをジャグリングしたりするような、手と小物の位置 をキッチリと合わせないといけない演出などに対しては Particle System は不向きです。
抽象的な表現には Particle System が向いている
光・風・爆発などの “何かの結果で発生するもの” を表現するのに Particle System は適しています。
“結果” や “効果”、つまり【エフェクトを表現するのには Particle System が適しています。】
・光の盛衰
・不規則な動き
・色の遷移
など、時間の経過と共に変化する様子を手軽に表現する際に、Particle System が有用です。
この項のまとめ
- 背景など、動きのないものは Mesh Renderer などで呼び出す。
- 攻撃予兆など、もの同士の細かな位置関係が重要なものは Animation で管理する。
- 爆発やオーラなど、結果や効果に関する表現は Particle System で作成する。
Particle System だけである程度の見た目は表現できてしまいます。
ただし、ユーザー端末の容量やスペックを考えると、それぞれの表現に向いたツールを使用するのが適切です。
そのため、ツールと表現の関係性を知り、できるだけ効率の良い制作をおこなってください。
※ 新人研修用資料として、作成中のページを先行開示します。
(校閲前のため誤字脱字など読みにくい点があることを、あらかじめご了承ください。)
描画優先度とは?
現実では 近いものは手前に見え、遠いものは奥に見えます。
ゲームエンジンの描画に関しても同じように再現しようとしますが、必ず完璧にはできません。
描画優先度の認識が狂うと、以下のような問題がおきます。
- 描画の前後が入れ替わる(表示されるべきものが消える)
- Z-Fightingが起きる
これをコントロールするために、原因と対応をある程度理解しておく必要があります。
描画の前後が入れ替わる
描画の前後が入れ替わることによって、見た目に違和感が生じたり、本来表示されるべきものが見えなくなったりします。
描画の位置関係が事故を起こさない距離にあっても、Particle System の描画優先強度によっては前後が誤認されます。
その結果、前にあるものであっても Order in Layer の指示などによって後ろに追いやられてしまうことがあります。
その結果、本来表示されるべきものが表示されなくなってしまうことがあります。
ただしこれは一概に問題とはいえず、”うまく嘘をつくテクニック” としても使用されます。
(Layer で強制的に前後を入れ替えたり、透明効果を加算したりすることで面白い演出が作れます。)
Z-Fightingが起きる
Z-Fighting とは Mesh のちらつきが起こる原因の一種です。
Mesh同士が近すぎると、どちらを前に表示したらよいかが分かりにくくなり、高速で前後位置が入れ替わります。
Z(奥行き・Depth)に関わる領域内で位置関係を争うため、Z-Fightingと呼ばれます。
また、ParticleでもOpaqueを使用する際に、Z-Fightingが顕著に出る場合があります。
描画負荷を気にするようになると見えてくる問題でもあるため、あらかじめ問題の認識だけはしておいた方が良いです。
よくある原因は、以下のような点です。
キャラと衣装が近すぎてZ-Fighting
キャラクター動きが多いため、キャラの動きとカメラとの位置関係によりZ-Fightingが発生しやすいです。
- 肌が必要ない部分は削除しておく
- 可動部分まわりの制御は厳密に行う
- フリフリの多いキャラ(ポリゴンの多いキャラ)は振り回し過ぎないようにする
などで干渉対策をしているようです。
窓ガラスと明かりの板が近すぎてZ-Fighting
静的な背景の家などは、カメラから離れた際に窓ガラスがZ-Fightingを発生しやすいです。
これは、窓ガラスと内部画像(明かりの板 など)が近すぎるために起きてしまいます。
- 2つのものを平行に配置する際は、必要のない限りは十分に距離を離す
というのが、シンプルですが効果的な対策です。
描画範囲が広すぎてZ-Fighting
描画する範囲が広ければ広いほど、高い演算能力が必要となります。
そのためカメラの描画範囲を絞り、必要な部分だけを綺麗に描画させる必要があります。
- Clipping plane の Near の下限値を決め、それよりカメラに近接させなければならない演出を避ける(カメラから0.01mを下限値とする など)
- Clipping plane の Far の上限値を決め、それをもとにMap構成を検討していく
上記の Near / Far の間を描画しますが、当然ながらカメラに近い方をより細かく見ます。
そのため Far をしぼるよりも、Near の小数点以下の桁数をしぼる方が圧倒的に効果的でした。
実際には Near が、0.01 → 0.05 程度の修正では問題解決には至らないことが多く、
0.01 → 0.1 など桁が変わる際にしっかりと問題が解決されることが多かったです。
また、狭い場所での演出時に Far を 1000 → 100 にしてみてもキャラの問題がほぼ解決されなかったことから、突拍子もない数値ではない限り Far は Z-Fighting にはあまり影響しないようです。
この項のまとめ
描画をコントロールするためには、以下の点に気を付けてください。
- 適切な描画ルールを認識する
- 必要十分な距離を空ける
- 不要にカメラに寄り過ぎる演出は避ける
現実と同じように描画するためには、高い演算能力が必要になってしまいます。
多くの人が楽しめるように、避けられる問題はあらかじめ避けておいてください。
画像のファイル形式と拡張子
画像のファイル形式を説明するにあたり、先に拡張子について説明します。
拡張子とは、そのファイルがどのような形式で保存されているのかを示すものです。
ファイル名の後にドットと3~4桁の英数字で記されます。
この文字を変更するとデータが読み取れなくなります。
そのため現在のWindowsのデフォルト設定では、拡張子が隠された状態になっています。
表示させるためには以下の手順を行ってください。
- エクスプローラを開く
- ウィンドウ上部の … を押し、オプションを開く
- フォルダオプションの 表示 にある “登録されている拡張子は表示しない” のチェックを外す
- OKを押す
これで、ファイル名の後ろに拡張子が表示されるようになります。
アート関係以外で覚えておくべき拡張子は以下のものです。
- .unitypackage:Unityで Export Package した .gz 形式の圧縮ファイルです。
- .gz:UnityPackageの圧縮形式です。
GoogleDriveなどから一気にデータを落とす際に、勝手に拡張子を追加されてしまうことがあります。
その際は .gz を消して .unitypackage を拡張子として扱ってあげればOKです。 - .zip:一般的な圧縮フォルダの形式です。
- .exe:実行ファイルと呼ばれるものです。
何かをインストールする際などに多く使用するもので、ウィルスなどもこの形式でインストールされたりします。
そのため、不用意にインストールを行わず、必ず安全性を確認してから実行してください。
画像のファイル形式とは?
どのようなデータ形式で保存されているのかをあらわしたものです。
形式はデータの拡張子を見れば分かります。
ここでは細かな説明は省き、大まかな用途を説明します。
一枚絵は .png:
とりあえず綺麗な画像を出力しておきたいと思った際は .png 形式がオススメです。
特に PNG32 で保存すると透過情報も保持できるため、.jpg よりも使い勝手が良いです。
階層をキッチリ残したいなら .tiff / .tga:
データ圧縮などに強く、情報が劣化しにくいです。
そのため、Gradation Map などの機能を使う際に適しています。
コマ撮り画像なら .gif:
画質としては良くはないですが、動画を再生しなくても絵が動くことから簡易確認を投げるのに適しています。
ただし、動画と比べてデータ量がかなり重いため、アーカイブとして保存しておくのには向きません。
この項のまとめ
用途に応じてファイル形式を使いこなすことで、クオリティアップを図ることが出来ます。
ただし、企業や作業者によってさまざまなルールがあるため、まずは確認するところから始めてルールに則ってください。
わかりやすい動画で学ぶ
勉強をしようとするとき、初手として何をすればよく分からなく、手が止まってしまうことも多いと思います。
そんなときにはまず、わかりやすくまとめられた動画を見てみるとやりたいことが定まりやすいです。
桜井政博のゲームを作るには
“星のカービィ” や ” 大乱闘スマッシュブラザーズ” などの有名作品を手掛けたゲームデザイナーが出している、YouTubeで公開している無料の学習用動画です。
ゲームを作る仕事とはどんなものなのか? どうすればいいのか? などがかなり簡潔にまとめられています。
見る順番のおすすめはありますが、時間はそこまでかからないのでとりあえずすべて見ることをお勧めします。
以下に、あとから単語を確認するための文字起こしをおこなったページも載せておきますが、可能なら動画を見てください。
文字で読むより、動画を見た方が圧倒的にわかりやすいです。
- A:仕事の姿勢 #01~10 / #11~20 / #21~23
- B:ゲーム性 #01~06 / #07~15 /#16~23 / #24~29
- C:ゲーム設計 #01~09 / #10~18 / #19~26 / #27~30
- D:仕様 #01~08 / #09~18
- E:チーム運営 #01~07 / #08~15
- F:グラフィックス #01~06 / #07~13 / #14~20
- G:モーション #01~09 / #10~18
- H:エフェクト #01~06 / #07~11
- I:サウンド #01~07 / #08~14
- J:UI #01~08 / #09~15
- K:プログラム・テクニカル #01~05 / #06~09
- L:広報 #01~07 / #08~09
- M:雑談 #01~09 / #10~14 / #15~17 / #18~24 / #25~28 / #29~31
- N:企画コンセプト #01~05 / #06~09
- 最終回スペシャル
文字起こしページは以下のリンクです。

Unity公式
ゲームエンジンのUnityの公式がYouTubeで公開している無料の学習用動画です。
実際的にどのようにゲーム作りを進めていけばよいか? などが列挙されています。
必要なコンテンツ・バージョンを探してみましょう。
文字起こしページは以下のリンクです。
