建築の設計

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

駅をモジュール方式で構築することで、コンテンツの更新をスムーズに行うことができ、個々のメッシュ、テクスチャ、パーツなどを更新するのに何時間もかけることがないようにするための重要な要素となりました。

Robloxのパッケージを使用することで、簡単に組み合わせることができるMeshpartsのパレット、トリムシートセット、SurfaceAppearanceノードをまとめてパッケージ化することができました。これにより、初期のプレイテスト中にレイアウトやサイズの変更に適応でき、駅を埋めるプロセスが大幅に速くなりました。

建築の概要

柔軟なデザインから最終アートへ

私たちが最初に始めたとき、駅に何を置きたいのか、50人のプレイヤーのためにどれくらいの大きさが必要なのかを完全に理解していませんでした。

それを理解するために、まずPartsを使用して環境を構築し、MayaやBlenderなどの外部DCCアプリケーションからロトンダ形状のメッシュを持ち込みました。これらのシンプルな形状を使って、マップのスケール、部屋の配置、通路を調整し、最も楽しい配置を見つけました。ゲームやソーシャル体験のために、この初期段階は最もダイナミックなものとなります。

駅のレイアウトを構築する際、探索を促進するために最も重要なことは、ユーザーに目標を与えることでした。この場合、最も明白な目標はブラックホールを間近で見ることです。次に、プレイヤーがスポーンからマップの端まで直進するだけでは退屈になることが分かっていたので、プレイヤーが他のものを見て引き込まれる前にブラックホールに到達できないように道を分断しました。

モジュール設計により、全体のデザインを大幅に再構築することなく、環境にそのような変更を加えることができました。異なるゲームプレイのアイデアを試すために、駅の全体のセクションを移動することができました。最終的には、これらの同じモジュール部品をパッケージを使用して更新できるため、同じアセットの複数のバージョンを再構築する必要がありませんでした。

建築の例 1 建築の例 2 建築の例 3 建築の例 4

ケル-ニューマン DSR-14のモジュール設計

宇宙ステーションは、わずか数種類のモジュールパレット部品を使用しています。モジュールパレット部品は再利用可能なアセットであり、各壁をユニークに作成する必要がなく、代わりにいくつかの小さな壁を組み合わせることができます。これにより、構築中のレイアウトに柔軟性が生まれます。

以下は、私たちがモジュール設計を作成するのに役立ったいくつかのヒントです:

  • 均一なグリッドサイズを決定する — ステーションのために、私たちは16スタッドのグリッドサイズを決定しました。使用するグリッドサイズは任意ですが、プロジェクト全体およびそのプロジェクトに取り組むすべてのアーティスト間で一貫性があるべきです。プロジェクトの初めにグリッドサイズを決定することで、各部品が隣接する部品ときれいにフィットします。また、部品を簡単に交換できるようになります。たとえば、壁セクションをドアセクションに交換することができます。

  • すべてのユニットはスタッドとしてインポートされる — MayaやBlenderなどの他のDCCアプリケーションでメッシュを作成する際、Studioはメートル、センチメートル、フィート、インチを変換しません。代わりに、受信したユニットをスタッドの同じユニットに置き換えます。たとえば、ユニットをメートルに設定すると、Studioは2メートルを2スタッドに変換します。選択したアプリケーションでのユニットスケールをRobloxのスタッドスケールとして扱うのが最良です。Robloxの単一スタッドの最も近い実世界のスケールは28センチメートルです。

  • 部品をシンプルに保つ — 必要になると思われるすべての部品を作成しようとしないでください。アイデアは、非常に多用途な部品をいくつか持ち、あまり多くの一品物を持たないことです。部品が多ければ多いほど、各部品を作成するのに時間がかかり、全体のメモリとパフォーマンスの予算に影響を与えます。絶対に必要な場合は、キットに別の部品を追加することができます。

  • パッケージを使用する — すべてのモジュール部品をパッケージに変換し、ゲームに配置する前に材料もパッケージに入れてください。これにより、すべてのインスタンスに簡単に更新をプッシュできます。パッケージについては後で詳しく説明します。

以下のスクリーンショットは、モジュール設計を使用して駅の一部を構築するさまざまな方法を示しています。

建築の例 5 建築の例 6 建築の例 7 建築の例 8

トリムシートを作成する

1:1のテクスチャは未来の方法ですが、メモリ予算と作成にかかる時間の面でコストがかかります。宇宙ステーションでは、90%の建築要素がスワップ可能なトリムシートセットのいくつかを使用しました。これは、縦または横に配置されたテクスチャマップのセットです。シートの各行または列には独自の外観があり、モデルをアンラップする際に選択できるさまざまな表面処理を提供します。すべて1つの画像シートを使用しながら。

トリムシートを作成するためのヒントは以下の通りです:

  • 必要なオブジェクトと材料の種類のインベントリから始める — トリムシートには、木材、金属、ゴムなど、さまざまな材料タイプが含まれる可能性があります。最初のオブジェクトをモデリングする前に、トリムシートテンプレートを作成します。これは、他のすべてのトリムシートセットの出発点であり、モデルをアンラップするための迅速な出発点を提供します。これらのトリムシートは、後で説明するSurfaceAppearanceノード内に存在します。

  • 1つのシートにさまざまな表面処理を含める — これにより、メッシュを分割することなく新しい処理を適用できるため、メッシュをより多く保持できます。これにより、オブジェクトと材料の描画呼び出しを減らすことで、ランタイムパフォーマンスが向上します。

  • トリムシートテンプレートを作成する — テンプレートを使用すると、任意のマップセットを別のものに交換できます。たとえば、クリーンな金属セットを錆びた金属セットに交換できます。

以下は、駅のためにトリムシートを作成した方法です:

シートがどのように見えるべきかの粗いアウトラインを作成しました:

トリムシートの例

Photoshopで、シートの各トリムセクションがどのように見えるかの迅速なアイデアを得るためにモックアップを作成しました。

トリムセクションの例

Substanceを使用しましたが、最終マップを作成するために適したアプリケーションを使用できます。これはSubstanceで生成されたトリムシートマップの最終セットです。すべての4つのマップは、SurfaceAppearanceノード内で一緒に機能し、物理ベースのレンダリング(PBR)マテリアルを生成します。

以下は、Substance Designer内のトリムシートの最終レンダリングです:

そして、同じトリムシートがさまざまなオブジェクトに使用されている例です:

モジュールトリムシート

トリムシートのUVマッピングについてもっと学びたい場合は、ウェブでトピックを検索してください。素晴らしいチュートリアルがたくさんあります。

サーフェスアピアランスを適用する

SurfaceAppearanceを使用すると、MeshPartsの物理ベースレンダリングシステムに新しいテクスチャ入力を指定でき、メッシュの外観をColorMap、MetalnessMap、RoughnessMap、NormalMapなどの高度なグラフィックスオプションで上書きできます。また、Robloxが材料の反射に使用する新しい動的キューブマップシステムも利用します。たとえば、以下はSurfaceAppearanceが適用されたメッシュと適用されていないメッシュの並べて表示した画像です:

サーフェスアピアランスの例

サーフェスアピアランスを使用する際は、以下のヒントを考慮してください:

  • トリムマップに透明度のためのアルファ情報が含まれている場合、AlphaModeをOverlayからTransparencyに変更します。
  • サーフェスアピアランスはPartsでは機能しません。なぜなら、マップを適用するために必要なUV情報がないからです。PartsはUV情報の代わりにワールドアライン投影を使用します。MeshPartsは通常、Maya、3ds Max、Blenderなどの別のアプリで作成され、UVアンラップ情報を含んでいます。

SurfaceAppearanceを適用するには:

  1. ExplorerMeshPartまたはフォルダ名の末尾をクリックし、SurfaceAppearanceを検索します。1つ追加すると、すでに適用されているBrickColor、Color、Material、TextureIDを上書きします。

  2. SurfaceAppearanceノードにユニークな名前を付け、検索しやすくするために_SAの接尾辞を追加します。この例では、Metal_Trim_A_SAを使用しました。

  3. トリムシートマップをインポートし、Asset ManagerウィンドウからIDをコピーして、Propertiesウィンドウの適切なスロットに貼り付けます。以下は、すべてのマップIDが挿入され、ドアに適用されたMetal_Trim_A_SAノードの外観です。

サーフェスアピアランスの例 2

パッケージで効率を高める

パッケージを使用すると、Robloxゲーム全体でオブジェクトインスタンスを作成できるため、パッケージに加えた更新がそのパッケージのすべてのインスタンスに公開されます。私たちは、駅に配置したほぼすべてのオブジェクトにパッケージを使用したため、調整が必要な場合に各配置を探し回る必要がありませんでした。たとえば、1,000以上の壁パネルインスタンスを持つパッケージを使用し、パッケージを変更することでそれらに即座に更新を公開できました。

パッケージを使用する際は、以下のヒントに従ってください:

PackageLinkで自動更新機能をオンにします。この機能を有効にすると、すべての変更がパッケージのすべての使用に適用されるため、「すべてを更新」機能を使用する手間が省けます。

パッケージの例

SurfaceAppearanceオブジェクトにパッケージを使用して「マテリアルライブラリ」を作成できます。これにより、SurfaceAppearanceオブジェクト内のビットマップを変更し、それを使用するすべてのオブジェクトに公開できます。以下のスクリーンショットは、デモ全体で使用されるマスターマテリアルを示しています。マップを変更する必要がある場合は、マスターマテリアルを更新してパッケージを再公開するだけで済みます。

パッケージの例 2
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。