Roblox Battle Royale には、ユーザーがより良い撮影角度を得るために、または戦闘中に隠れるために、自分の構造を構築するためのビルディングシステムがあります。メニューを使用して、ユーザーはさまざまなタイルタイプから選択し、世界中のユーザーに配置することができます。
整理されたシステムを維持するために:
- それぞれのタイルは、既存のタイルまたは地面に接続する必要があります。
- すべてのビルディングタイルをゲームワールドに従ってグリッド内に配置することで、タイルが適切に接続され、重複しないようにします。
タイルの構成
ユーザーが新しいタイルを迅速かつ簡単に構築できるようにするには、ビルディングシステムは、どのタイルが互いに接続されているか、および新しいタイルをグリッドに配置することができるかを理解する必要があります。
タイルは 3つのコンポーネントを使用します:タイルオブジェクトとして使用される ビジュアルアセット 、他のワールドオブジェクトに対するスペースの タイル 、およびタイルの接続ポイントを使用して、追加のタイルを接続できるようにします。
アセット
アセットは、BasePart (Part、MeshPart、など) を配置する 1> ReplicatedStorage/BuildingSystem/Assets1> によって、ゲームワールドのタイルの外観を表現します。この 4> Class.BasePart4> は、7>
- ObjectType — タイルタイプ名の Value の Class.StringValue オブジェクト。
オーケストレーション
タイルがグリッドシステム内の正しい場所に占有することを確認することは重要であり、これは bitmask を使用して行うことができます。 bitmask は、タイルのタイプが世界空間の基本セクション (フロント、左、バッ
ビットインデックス | 意味 |
---|---|
0 | セルの下面 |
1 | セルのトップフェイス |
2 | セルの右側面 |
3 | セルの背面 |
4 | セルの左側 |
5 | セルの正面 |
6 | +X、-Y、+Z セルの中央にあるセルの八角形 |
7 | +X、+Y、+Z セルの中央にあるセルの八角形 |
8 | –X、–Y、+Z セルの中央にあるセルの八角形 |
9 | –X、+Y、+Z セルの中央にあるセルの八角形 |
10 | –X、–Y、–Z セルの中央にあるセルの八角形 |
11 | –X、+Y、–Z セルの中央にあるセルの八角形 |
12 | +X, –Y, –Z セルの中央にあるセルの八角形 |
13 | +X、+Y、–Z セルの中央にあるセルの八角形 |
接続性
タイルは、構造を作成するために互いに接続する必要があります。ビットマスクを使用して、タイルのタイプがセルの顔/端のどの部分に接続するかを表示できます。ビルディングシステムのタイル/オブジェクトの接続性は、セルの表面のビットマスクの連続ポイントで表現されます。彼らは、セルの顔の次の方法で並べられ
グリッド上の 2つ以上の接続性ポイントを共有する場合、ビルディングシステムオブジェクトは、他のビルディングシステムオブジェクトに接続されたと考えられます。
新しいタイルタイプの作成
新しいタイルタイプを作成するに入力:
アセットを ReplicatedStorage/BuildingSystem/Assets に配置することを忘れてはなりません。上記のように、ObjectType と StartingRotation 子を含める必要があります。
新しいタイルタイプの ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations に オクピーンシー と ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations を定義してください:
たとえば、 壁 タイルの種類は次のように表現されます:
ObjectTypeConfigurations.Wall = {ASSET_OFFSET_FROM_CENTER = Vector3.new(0, 0, -CELL_DIMENSIONS.Z / 2),CONNECTIVITY = 0xFF8000, -- 0b 111 111 111 000 000 000 000 000OCCUPANCY = 0x20, -- 0b 00 00 00 00 1 0 0 0 0 0}
地形と協力
フリーフォームの 地形 を使用して、構築システムに正確にラインアップするようにマップを作成したい場合は、環境地形 を参照して、次の詳細に従ってください:
Roblox の地形は、世界の 4×4×4 のキューブを構成する 3 次元の配列のボクセルで表現されます。これにより、Roblox Battle Royale は、壁のタイルが 20×16×20 スタッドであり、床のタイルが 20×1×20 スタッドであるため、
高さマップ画像の各ピクセルは、 X/Z 平面で 1つの地形ボクセルを表示する必要があります。つまり、5×5のエリアは、20×20のスタッドエリアを占有する 20×20 のビルディングシステムグリッドセルを表します。
高さマップ画像で、各ピクセルのレッドチャンネルまたはグレーチャンネルの値が、建築システムグリッドセルの高さに分割されていることを確認して、床タイルが地形の上に正確に配置されるようにします。
高さマップをインポートする設定する、設定:
Position (X, Y, Z) = 0, 0, 0Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4