サバイバルキッズのレイアウトと地形ワークフロー

サバイバルキッズは、KONAMIとのコラボレーションで作成されたUnityの最初のエンドツーエンド開発プロジェクトです。それを構築した小さなチームは、数十年のゲーム開発経験を活用し、このブログシリーズでは彼らがこの野心的なプロジェクトにどのように取り組んだかを掘り下げます。最初のインストールでは、チームのフレームとレンダリング作業を探求しましたが、このエディションではレベルと環境デザインに焦点を当てています。
主に画面上で見える外観を達成する方法について話してきましたが、私たちはワークフローを改善するために何をしたかを掘り下げたかったのです。これにより、プロジェクトを時間通りに提供できるように、より迅速にしました。
チームの規模とプロジェクトの範囲により、レベルのレイアウトと地形のワークフローに多くの考慮を払いました。レベルデザイナーがアイデアを反復するのが簡単なものが必要でしたが、私たちのアプローチは、レベルがアートチームに引き渡された後、最小限の再作業で済む必要がありました。私たちは、レベルデザイナーのために非常にホワイトボックスのようなワークフローを持つアプローチを選択しましたが、すでに最終ゲームアセットで作業していました。
サバイバルキッズは、レベルの主要なレイアウトを作成するために再利用可能なビルディングブロックのセットを使用します。それは、崖の岩の側面とその上にメッシュの地形パッチを持つプレハブのセットであり、異なるサイズと形状に構成されています。

崖の側面は8つの別々のメッシュ、側面、コーナーで構成されており、それぞれに簡略化されたメッシュコライダーがあります。それらはすべて同じマテリアルを共有しており、レンダリングを高速化します。

この設定により、レベルデザイナーはこれらのビルディングブロックを使用して、最終ゲームアセットを使用してほとんどのレベルを作成できますが、ホワイトボックスに非常に近い迅速なワークフローで、アイデアの迅速な反復を可能にします。
この地形モジュール「ビルディングブロック」アプローチは、レベルの有機的な形状のために多くの重複モジュールを生み出しました。それはまた、ほとんどの崖の側面が他のモジュールの内部または後ろにあり、ゲームカメラからは決して見えないことにつながりました。これを解決するために、私たちは各モジュールを1つずつ確認し、ゲームカメラの角度から見える部分があるかどうかを確認し、見えないものをすべて削除するエディターツールを作成しました。

異なる地形モジュールのセクションに基づいて連続した地形メッシュを作成するために、Houdini Engineツールを使用しました。

UnityのPolybrushパッケージの修正バージョンを使用して、地形メッシュに異なるマテリアルをペイントしました。修正は、Polybrushがメッシュの頂点に値をペイントするのではなく、Unityの地形システムが行うように制御テクスチャをペイントすることでした。

アンビエントオクルージョンは、地形メッシュの頂点カラーに焼き付けられ、そこに配置されたオブジェクトを視覚的に地面に固定します。

カスタムツールを使用して、地形メッシュに草、花、小石などの小さなオブジェクトを分配しました。オブジェクトの分配は、密度、基礎マテリアル、地形の曲率、または大きなオブジェクトへの近接などのパラメータを使用して個別に制御されます。プロジェクト全体を通じて、小さな植生のパフォーマンスへの影響を最小限に抑えるために、非常に低い密度を維持しました。

次に、異なる地形のメッシュコライダーを分割するために別のカスタムツールを使用しました。これを二つの方法で行いました:
- グリッドとして、各メッシュコライダーの三角形数と音量を減少させ、ゲームの物理パフォーマンスを向上させるために
- マテリアルによって、ゲームがキャラクターが歩いているマテリアル(草、砂、雪、氷など)に基づいて異なる音や足音のVFXを生成できるようにするために

この投稿では、サバイバルキッズのターゲットレートを達成するために、スタイライズされたパフォーマンスのグラフィックスとレンダリングを設定する方法を少しだけ紹介します。シリーズの最初の投稿「グラフィックスとレンダリングのヒントサバイバルキッズ」をチェックし、ゲームに関するさらなる内部情報を得るためにUnityブログをフォローしてください。マルチプレイヤーネットワークに関する2部構成の深掘りも含まれています。私たちのリソースページで、より多くの技術的な開発者ストーリーを見つけることもできます。



