プロセスの最初に多くの反復と迅速なテストが行われ、家を楽しくて怖い、探検しやすく、何かに迷い込みたいものにしました。私たちは、スペースを考え、 パッケージ を使用して更新し、最終了に個々の椅子や部屋全体をより速く更新する方法を示します。

2D レイアウトで開始
家はプレイ可能な領域の大部分であり、完全なキャラクター自体であるため、どのようにして本当にリアルで楽しい状態を維持するかについて多くの考えを与えたいと考えました。我々は、家には複数の視覚的およびオーディオ的ギャグ、伝承、および壊れたパズルルームが含まれるべきであり、プレイヤーが最初に何が起こっているかわからない状態で家に近づくことを望み、家と家族に起こったことを学び、そこでプレイしていたときに起こったことを学ぶことを望んだ。
これらすべての重要な要素をバランスするために、2Dレイアウトで 3D環境を想像し始めました!一般的な ストーリービート またはキーモーメントを見つけて始め、プレイヤーが経験することを想像し、空間のレイアウトを描き、ライフサイズよりも大きな環境を維持する方法を考えました。

全体レイアウトの初期ドラフトが完成したら、地形 を使って、周囲の丘、湖、道、そして家までの駐車場を素早く配置しました。この時点では、デモの視覚品質にこだわらず、家に到着するまでにかかった時間と、プレイヤーに天空の家やイベントを見せるために必要な時間に焦点を当てました。

単純な パーツ と クリエイターストア アセットの両方を使用して、環境を構成するのに役立つコンテンツを素早く追加できました:
- 道を曲がらせることで、プレイヤーが全長を見ることができないようにします。
- プレイヤーがアクセスできないことを明確にしたい領域のより密な領域と、探検することを促進したいより細い領域を持つツリーを追加する。
- プレイヤーがそれに近づくと、登る必要があるように、家の駐車道を上げます。これにより、家により恐ろしい存在が生まれました。
- 巨大イベントを天空の嵐の後ろに配置して、プレイヤーが部品を見ることができますが、全体を見ることはできません、自分の家に近づくまで。
- 最終的に決めた家の総体形状を決めるために配置し、計算する
どれほどの経験も、最初のアイデアが最高のものであることを保証しません。これが、アセットをスタジオに迅速に取り込み、簡単なパーツやクリエイターストアのアセットを使用して、一時的なアセットで環境を満たすための理由です。これにより、すべてを前面に配置する必要がなくなり、最初の数日以内にプレイテストを開始できました。

最終的には一時的なアセットを自所有のものに置き換えたいと考えていましたが、最初に気にしていた唯一のことは、基本を設定してエクスペリエンスをプレイして、環境が移動しやすく、大きすぎたり、「直接ショット」すぎたりしていないことを確認することでした。そうすることで、プレイヤーが探検するように促され、環境が楽しいと感じられるようになりました。

各ルームをプランする
外観は、プレイヤーを没入させ、自分がプレイしていた世界に精通させるための総合ストーリーの味わいとしてのみ意図されていました。メインキャラクターは家そのもので、プレイヤーが秘密を見つけ、すべての部屋で驚きを見つけるために、配管内でほとんどのゲームプレイを過ごしてほしかった。これを行うには、家が含むべき部屋、プレイヤーがそれらに衝突するとき、そして家内でどこに存在するべきかを見つける必要がありました。我々は家の 2D レイアウトを描き、チームは起こり得るクールなアイデアについてバウンドしました。この時点でアイデアは無視されませんでした。

各部屋の 2D ボックスを使って、どのようにお互いに配置したいかを見つけました。各ルームは何かをする機会であり、各ルームの主な使用法、プレイヤーを驚かせるために使用できる不気味なギャグ、そして直面する可能性のあるパズルを含め、多くのアイデアを投げまわしました。


それぞれの部屋が一緒に働かなければならず、スローモーションで物語を伝えたいと考えました。誰かが最初にどこに行ったかを制御できないと分かっていたので、より困難なパズルのいくつかは、前方のドアから離れ、より難しく迷い込むことを計画しました。これは、遊びとテーマの両方のために屋根裏と地下室を含むいくつかの階を家に追加することを意味しました。邪悪で怖い地下室の最後のパズル? 登録してください!


3Dレイアウトを作成する
世界中のすべての早期の計画とアイデアは楽しい経験にはならないので、アイデアを 3D にする時が来ました!外装レイアウトがブロックされ、家が拡大または縮小されるためのスペースが作られました。最初の反復は、2D 画像をプレイ可能なスペースに変換開始するために、別の 3D アプリケーションで簡単な箱や形を作ることができた場所で行われました。Studio で早期バージョンをビルドし、シンプルなパーツを使用することがお気に入りの方法であることがわかるかもしれません。間違った方法はありません、あなたのアイデアを 3D に入れて、すぐにプレイできる限り!



作業が複雑になるにつれて、何も簡単になることはありませんので、頻繁に実験して、作成したい環境構造を見つけることが重要でした。家の最初の反復は、上の画像と同じくらいシンプルで、単純な形状は可能な限り柔軟になり、デモをプレイしながら部屋のサイズを変更できるように迅速に変更できました。スケールも早期に重要であったため、3D アプリケーションと Studio 内の両方でアバターを作成し、ドアの大きさやステップの高さを知ることができました。


最終デモに持っているものを決定するために、多くの小さな大きなイテレーションを通り抜けました。上記の早期のドラフトと、より遅いバージョンのフォイヤーを比較すると、我々が家を通してプレイした後に行ったオリジナルの決定の多くが残ることがわかります!

家具とプロップ
このサイズの家を満たすために多くの家具やプロップが必要だったので、グレーボックスを開始する前に、その内容のすべてを追跡できる文書を作成しました。それは、どのタイプの部屋であり、作成中のパズルであるかを補完することができるものを使用できるようにしました。すべての考えを1か所に集めることで、整理し、優先順位を付け、異なる部屋でコンテンツを再使用できる場所を見ることができました。これは公平な量の事前計画でしたが、不十分なコンテンツを作成したり、不必要なアイテムが多すぎたりすることを防いでくれました。

このリストは、コンテンツをグレーボクシングして全館に配置する際に優先する必要があるものについての良い理解を与えました。高優先度のコンテンツを早期に追加することで、アセットが繰り返しであるか、不正確な割合であるか、または特定の部屋にいるときに二次変更またはテクスチャ交換が必要になるかどうかを簡単に見ることができました。最初にブロックしたコンテンツの一部は、エクスペリエンスに重要でなかったため、削除されましたが、プロセス中に多くの作業を失っていませんでした。彼らは短いブロックだけだったからです。保持したすべての家具やプロップについて、ブロックアウトフェーズでパッケージにして、これにより、家全体を最終バージョンで置き換えることが容易になりました。


このデモに必要なアセットの大量のため、可能な限りテクスチャを再利用することは、メモリ予算内に収めるために非常に重要でした。多くの家具が木材、金属、石、ガラス、布などの同じトリムまたはタイル用のシートを共有し、透明なテクスチャを可能な限り活用しました。たとえば、布に透明なテクスチャを使用して、2つ目のアルベドテクスチャを作成することなく色の変化を持つことができました。テクスチャの再使用方法に関する詳細情報は、計画、再使用、予算 を参照してください。




照合幾何学
私たちは、自分自身を構築する時間よりも多くのコンテンツが必要であることを知っていましたが、 クリエイティブコモンズ (CC0) から入手した光学測量を利用して、1:1 テクスチャシート上で高品質のコンテンツを作成するプロセスを加速することにしました。 写真測量 は、高品質のモデルを正確な比率で作成するために、すべての角度からオブジェクトの数百の画像をキャプチャするプロセスであり、クリエイティブコモンズモデルは、法的に使用したり/または共有したりできる教育的な性質の主に無料のモデルです。これらのモデルは、手作りのアセットから照明測量で作成されたアセットまで、幅広くなりますが、このプロセスで彼らと働くことで、詳細な高解像度モデルを作成する時間のかかるステップをスキップできるようになりました。
家族のために作成した背景ストーリーは、彼らを「オカルトに戯れる異端なコレクター」として描写します。彼らは世界中から遺物を集め、その物語を反映するために家をいっぱいにしたかった。We were able to source the scan data from CC0 museum content for models like antiques , statues , and taxidermy , then begin the UV mapping, retopologizing, and texture work required to optimize them for Studio.


UV マッピング は、3D モデルのメッシュを解き放ち、2D 画像をそれに投影する 3D モデリングプロセスです。「U」と「V」は、2D テクスチャの軸を表す「X」、「Y」、「Z」は 3D モデルの軸を表します。UVは、スキャン時に自動化される傾向があり、ゲーム開発の目的で悪くなされる傾向があります。たとえば、特定の照明測量モデルのUVは、個々の飛行機のグループに見えるかもしれませんが、作成者が 10,000 個のベクトルに制限されているときにモバイルエクスペリエンスで最もパフォーマンスが高いものではありません。時々、スキャンデータで運が良くなることがありますが、ほとんどの時間、これらの2次元のテクスチャ座標を更新または完全に再実行する必要がありました、経験の目的のために。

また、モデルからのメッシュのほとんどは、モデルが最初にスキャンされたときに、テクスチャに焼き込まれた照明情報を含むディフューズテクスチャのみを含めるだけでした。これはメッシュのアルベドテクスチャのベースとして使用するのに役立つかもしれませんが、光と影を描き出す必要がある場所では、手動でクリーンアップする必要があります。メッシュに強い方向照明がある場合、世界照明と一致しない場所が奇妙に見える可能性があります。このため、CC0 博物館コンテンツから使用したモデルのほとんどの PBR テクスチャを再作成する必要がありました。


物理ベースのレンダリング (PBR) は、実世界の材料と照明をより正確にシミュレートし表現することで、現実的なシェーディングと照明を使用する概念です。PBR テクスチャを作成するとき、スタジオのエンジンが画像ベースの照明 (IBL) に加えて、テクスチャの ノーマル 、 粗さ 、および メタリック性 表面値を使用して、リアルワールドの材料を正確に表現するために、照明情報を焼き込まないことが重要でした。比較して、ディフューズテクスチャは、これらの個々のマップからの詳細のいくつかまたはすべてを 1つのテクスチャに焼き込んで、IBL または他の個々のPBRテクスチャなしでその詳細を運ぶ必要がある場合に役立つ可能性があります。ディフューズテクスチャを保持するか、独自の PBR テクスチャを作成するかを決めるときは、自分のデザインまたはメモリ予算の制限を考えて、自分の経験に意味があるものを検討してください。
使用したスキャンデータのメッシュは、通常かなり良かったが、いくつかのメッシュは削除する必要があった。たとえば、いくつかのメッシュには、埋める必要がある問題のある穴、スムーズにする必要のある鋸歯状の端、または痩せた端が厚くなる必要がありました。このプロセスでは、 Zbrush を使用して、スキャンデータを編集しました。


このプロセスは完全ではありませんでしたが、高解像度モデルをクリアすることで、モデルのメッシュを自動的にまたは手動で再トポロジー化するのが大幅に簡素化されました。 リトポロジー化 は、3Dモデルのエッジ配布と構造を変更するプロセスであり、私たちの目的において、リトポロジー化は、高解像度モデルの低解像度バージョンを作成するときに、より良いテクスチャバイクを可能にします。解像度の低いモデルは、特にモバイルデバイスでパフォーマンスが大幅に向上し、メッシュとテクスチャの高解像度の詳細をまだ維持します。
手動または自動再トポロジー化のためには、好みの 3D アプリケーションを使用できます。我々は、3DS Max を手動で再トポロジー化するために使用し、Zbrush を Zremesher または Decimation ツールを使用して自動的に再トポロジー化するために使用することを選択しました。The Zremesher ツールは、形を維持するためにより高い垂直数を必要とするクワッドを自動再トポロジー化できるようにし、 減少 ツールは、より低い垂直数のトライアングルを自動再トポロジー化し、形を維持できました。




モデル/メッシュに自動的なルートを選択できるかどうかにかかわらず、自動リトポロジーズが高解像度のメッシュ、構築方法、そしてそのアルゴリズムに大きく依存しているため、大掃除を行う必要があります。我々は、トライアングルメッシュで構成された減少ルートを選択する傾向があったのは、オリジナルの形状を維持しながら低いベクトル数を持つことが重要だからです。



新しい UV でメッシュを再トポロジー化プロセスを完了した後、高解像度のメッシュディテールとテクスチャを焼き上げて移行する必要がありました。 Marmoset メッシュマップを焼き上げて、高解像度モデルから低解像度にオリジナルのテクスチャを移行するプロセスを簡単にしましたが、他の 3D アプリケーションでは、あなたにとってより良い作業フローと方法を見つけることができます。ツールに関係なく、高解像度モデルのオリジナルテクスチャが、バーク時にモデルに割り当てられるようにします。





After we finalized our Albedo, Normal, Metalness, and Roughness PBR textures in Substance Painter , our new assets were ready to be imported into Studio! There were some quality differences between the scan data assets vs.再構成されたアセットですが、最終的にはアセットが 1,000 個ではなく 1,000,000 個だったため、価値のあるトレードオフでした。また、メモリ予算を完全に維持し、エクスペリエンスをスムーズに実行できるようにしました。




パッケージを使用する
パッケージ は、単一のオブジェクトまたはグループのバージョンを保存して使用できるシステムで、バージョンを更新すると、そのオブジェクトまたはグループのすべてのインスタンスが一度に更新されます。たとえば、ツリーオブジェクトを作成して、そのオブジェクトを数百個体験内に配置すると、数百のツリーが一度に新しいバージョンにアップデートするためにパッケージを更新する必要があるだけです。最初から、家のほとんどの部屋の 2つの状態 、通常の状態と損傷した状態があることを知っていましたが、全体のイテレーションプロセス中に両方のコピーを維持し、その内容を維持する必要がありました。この理由から、各ハウス状態で共有する必要があるオブジェクトを決定し、パッケージに変換しました。

パッケージは、壁パネルの木目から全室まで、すべてを変更できるようにしてくれました。その後、両方のルームの状態が私たちの変更に更新されました。また、SurfaceAppearance オブジェクトをパッケージに変換して、エクスペリエンス全体で一度に素材の外観を更新できるようにしました。再使用素材は、明確な複雑さにもかかわらず、デバイスにデモをできるだけパフォーマントにするために不可欠でした。
たとえば、次の画像は、複雑な子アセットグループを含む錐体モデルパッケージを表示し、デモ内の複数の場所で使用するメタル表面外観パッケージを含むパッケージを表示します。メタル表面の外観パッケージを更新した場所では、アーミラリモデルパッケージも子表面の外観パッケージを更新するように強制する 大規模アップデート も実行できました。



個々のオブジェクトや Models または Folders のようなグループのオブジェクトをパッケージに変換する方法、または編アクセス, 書き込み権限 (write access)アクセス用のパッケージのクリエーターを選択する方法については、パッケージ を参照してください。私たちは、Vistech デモグループをすべてのパッケージの作成者として指定することを選択しました、それは私たちのグループ内のすべての人が、必要なときにパッケージにアクセスして編集できるようにしたからです。また、グループが所有するすべてのエクスペリエンス間でこれらのパッケージを共有できるようにしました!

上記の armillary または全室のような親パッケージを 自動更新 に設定し、モデルまたはフォルダの変更をすべてのインスタンスに自動的に共有するようにして、手動で確チェックする必要がなくなります。このプロセスにより、各ルームの通常と破損状態の変更をスムーズに作成できました。たとえば、次の 2つの画像は、同じ パッケージ を通じて作成された研究の正常と破損状態を示しています。パッケージ外の数少ないアイテムだけが、破損状態が横向きであることを考慮しても、彼らの間で異なります!


エクスペリエンスと同じ場所のファイルで完全に作業するのではなく、パッケージリンクを持つすべてのコンポーネントでアセットストレージ場所を構築しました。このストレージ場所でパッケージを変更したときは、自動的に更新され、そのパッケージを使用する すべての場プレース 全体ですぐに更新されます。オブジェクトを変更したり、機能を追加したり、メインエクスペリエンスのムードと照明をナビゲートする必要がなく、何をしているかがわかりにくい状態で詳細に作業できました。

パッケージは、多くの追加作業を行う必要がなく、3D で異なるアイデアを探検する自由をより多く与えました。実験が実践でうまくいかなかったり、エクスペリエンスを壊した場合、アセットの以前のバージョンに戻す計画、テスト、または復帰を行うことができました。パッケージ内のバージョンを戻すことで、何時間相当の作業が復元されたことが何度もありました。結終了、パッケージなしでこのデモで最終レベルのポーランドに達することはできませんでした。
