この記事は、マーティン・ラインマンの「How Odd Bug used 2D lights to create mood」という講演に基づいている。シーンを作り上げる同スタジオの開発プロセスや、Unityの2Dライティングシステムとカスタムツールを組み合わせて『Tails of Iron』の環境世界をどのように作り上げたかが紹介されている。
Tails of Ironは、英国マンチェスターを拠点とする友人とアーティストの会社Odd Bug Studioによって開発された。ゲームはさまざまなレベルで構成され、プレイヤーはドアやトンネルをくぐって場面から場面へと自由に移動することができる。
すべてのシーン作成は、スタジオのレベルデザイナーによって作成されたカスタムツールであるコライダーツールから始まる。これはレベルの土台として置かれ、シーンの大まかな形を与える。選手が歩く面でもある。コライダーラインは、アセットのバッチを作成してシーンに配置するためのコンポジションやアイデアをスケッチするためのガイドとして使用されます。
しかしその前に、スタジオのリード・プログラマーであるマット・テイラーが作成したカスタムツール、ライト&レイヤーツールでシーンをセットアップする必要がある。このツールは、視差レベルを作成するために大量の別々のスプライトアセットを使用して詳細なレベルを構築する際に、チームがライティングとスプライトアセットの調達と発注を管理することを可能にします。
チームが背景や中間背景などのレイヤーを定義したら、ライト&レイヤーツールですべてのスプライトレンダラーをシーンセクションに集めます。次に、レベルセクションの各資産のZ深度に基づいて、最も近いものから最も遠いものへと資産をソートすることができる。このリストが生成されると、ツールは線形に値を割り当て、アセットが正しい順序でレンダリングされるようにする。
このステップが完了すると、ツールはシーン内の以前に定義されたサブディビジョンに基づいてレイヤーを割り当てます。どのスプライト・レンダラーが特定の2Dライトの影響を受けるかを定義します。この2つのプロセスを組み合わせることで、スタジオはレイヤーごとに特定の照明シナリオを持つ大規模で詳細な視差レベルを作成することができる。
チームはまた、特定のレベル用に複数のアトラスに分けられたアセットのライブラリを作成し、シーンで使用するアセットを簡単に選べるようにした。アセットを特定のレベルに結びつけることは、最適化に役立つ。彼らの地図帳は、岩、木、小さな資産などのカテゴリーに分けられている。チームは通常、コライダーの輪郭を描き、シーンの表面を補強するために、ミッドグラウンドのアセットを配置することから始める。
前景と背景にいくつかのアセットを配置すると、ライティングの設定がしやすくなる。木々、岩、丘などの大きな資産を使って良い構図を作り、後でディテールを加える。アセットが配置されると、ライトツールの「ソート」機能により、アセットが適切に割り当てられ、正しい深度でレンダリングされます。
アセットを配置するのは、時に大きな3Dパズルのようなものだ。選手にも読みやすい効果的なシーンを作るために、適切な形を見つけるのは難しいことだ。奇虫はそれぞれのシーンがユニークであることを望んでいた。これは、各シーンが独自のランドマークやアセットで記憶に残るため、プレイヤーが世界をナビゲートするのに役立つ。
アセットを異なる深さに配置することで、プレイヤーがシーン内を走り抜ける際の視差効果を生み出し、パースカメラがそれを追うことができる。これは、アセットをZ軸上で離したり、カメラに近づけたりすることで誇張することができる。カメラに最も近いアセットを暗めに、あるいは完全に黒くしておくと、画面の端に境界線ができ、奥行きが強調されます。
Odd Bugのカスタマイズされたライトツールのもう一つの大きな特徴は、水平線に移動するにつれて各細分レイヤーの色をフェードさせることで、人工的な奥行きを瞬時に作り出すことだ。濃度を調整し、そのフェードの全体的な光の色と量を設定することができる。これは、消えゆく地平線と大気の霧による最適化されたイリュージョンを作り出し、追加されたライトやパーティクルと組み合わせることで、シーンに劇的な異なるムードを作り出すことができる。
シーンがアセットで埋まったら、次はライトを追加してムードを作り、シーンの重要な部分を強調します。そこで、Unity 2D LightsがLight Toolのカスタムワークフローで活躍します。
Odd Bugは、多層視差ビジョンのために2DのUnityライティングシステムを採用した。各2Dライトは、手動で定義したサブディビジョンレイヤーを使用して、シーン内のz深度に基づいて独自のレイヤーを決定します。あるいは、2Dライトがどのレイヤーに影響を与えるかを手動で設定することもできる。
各セクションの2Dライトは、各レイヤーのスプライトを自動的に正しくライトします。これにより、チームは照明の設置場所に応じて照明を大きくコントロールすることができる。例えば、より強いポイントライトをセットして中景とそこにいるキャラクターを照らし、背景のライトはフェードさせて中景に焦点を当てることができる。
レイヤー・ライト・システムは、シルエット・シーンのようなクールなエフェクトを作成するのに便利です。背景にライトを配置し、背景レイヤーだけに影響を与えるように割り当てると、中間レイヤーと前景レイヤーが非常に暗くなります。さらに、窓の後ろや出入り口に照明をつけることで、違った雰囲気を演出することができる。
シーンを通して主に3種類の光が使われている:ポイント、フリーフォーム、スプライト。
ポイントライトはゲーム内で最もよく使われるもので、重要なアセットをハイライトしたり、人工的な影を作ったりするために素早く配置できる2Dの円だからだ。ボリュームの不透明度を上げて背景の霧のような光りとして使ったり、光のフォールオフ強度を調整してランプの光りとして使ったりできる。
窓のような特定の形状を持つアセットに強い光源を追加したい場合は、フリーフォームライトを使用できます。アセットの形状をトレースし、フォールオフ・ライティングを微調整し、アセットの正確な深さにライトを設定するだけです。そうすることで、物体が発光しているように見える。
スプライトライトでは、特定のアセットをライトとして投影するように設定できます。研究チームは、テクスチャーのある光源を持つ光ビームにこれを使用した。これは、シーンに配置したり回転させたりして、さまざまな角度から来る光を見せることができる。異なるライトタイプを組み合わせることで、雰囲気のある光でキャラクターを照らすシーンを作ることができる。
シーンがきれいにライトアップされたら、パーティクルエフェクトを配置して、動きを取り入れたり、乱雑に見える部分を滑らかにしたりして、磨き始めましょう。選択したZ深度にパーティクルフォグを配置し、正しいレイヤーのサブディビジョンでレンダリングするように設定できます。霧は、個々のレイヤーを分離して深みを出すのに最適なエフェクトだ。鉄のしっぽ』では、霧を中景の手前に配置することで、キャラクターを世界観の中に置くこともできる。こうすることで、霧がプレーヤーの進行方向にわずかに動く。
次のステップでは、シーンに応じて、埃や雨、落ち葉などの大気エフェクトを加える。より強い視差効果を生み出すために、カメラに近い位置にそれらを配置するのは良いことだ。雨のエフェクトは、落下する水滴と地面に置かれた水しぶきのアニメーションの粒子の組み合わせである。これらのパーティクルは、他のほとんどすべてのアセットと同様に、ゲーム内の視差効果と一致するように、独自のレイヤーが割り当てられています。
背の高い草や花、木があるシーンでは、少し動きをつけるようにする。リード・プログラマーのMatt Taylorは、シーンから選択したすべての葉のスプライト・シェーダーを、風の中でそれらを一緒にアニメーションさせる単一の特別なシェーダーに変換するツールを作成しました。チームは各資産の価値を個別に調整できる。木の葉は、動きをより自然にするために、梢の周囲に大きさの異なる葉のかたまりを配置している。
このシーンは、いくつかの色処理とヴィネットで結ばれている。彼らはカスタムツールを使って、後処理で影響を与えたいシーンの領域にボックスを描く。シーン全体にドラッグすることも、プレイヤーがシーンの中を歩くにつれてブレンドされるさまざまな要素にドラッグすることもできる。シーンに昼と夜のような複数の異なる状態がある場合、そのシーン内に、ゲーム内でオンまたはオフになるすべてのライト、アセット、フィルターが入ったフォルダを作成できます。
最後に、チームはアセット、配置、その他すべてを最終パス(または3パス)し、シーンを磨き上げる。鉄のしっぽ』やその制作チームに関する詳細やご質問は、ツイッターで@OddBugStudioをフォローしてください。
Unityの2Dツールでどんなことができるのか見たい場合は、Lost Crypt サンプルプロジェクトをダウンロードしてください。プロジェクトには、2D Animation、2D Sprite Shape、2D Tilemaps、2D Lights、2D 用シェーダーグラフ、Secondary Textures、ボリュームポストプロセッシングなどの機能についてガイドする、チュートリアルウィンドウが含まれています。
アーティストのための2Dゲームアート、アニメーション、ライティングは、商業的な2Dゲームを作りたいと考えているUnity開発者やアーティストのために作成された、最大かつ最も包括的な2D開発ガイドです。