グレイボックスは、スクリプトや最終的なアートアセットに時間を投資する前に、シンプルな形状でレベルを構築するプロセスです。これにより、ゲームプレイをテストし、レイアウトの問題を特定し、環境がまだ簡単に変更できる間に迅速に変更を加えることができます。
このセクションでは、ゲームのプレイ可能エリアを構成する海のスタックプラットフォームをグレイボックスします。レイアウトが適切に感じられたら、スクリプトを開始できます。
プレイ可能エリアの計画
最終的なゲームでは、プレイヤーはコインを集めてジャンプ力を増加させ、高いプラットフォームに到達します。この進行システムは後でチュートリアルで実装しますが、グレイボックス中に計画しておくことが重要です。一般的なルールとして、プラットフォーム間の高さの違いは徐々に増加し、プレイヤーがコインを集めて進行を続けることを促すべきです。
参考として、サンプルのIsland Jump - Buildingゲームは、7つの高さレベルを使用しています。最初のプラットフォームは低く、プレイヤーはそれに到達するために数枚のコインしか必要ありません。以降の高さの違いは、8、20、35、55、81、110スタッドに増加し、ゲーム全体にわたって安定した進行感を生み出します。

プラットフォームを追加する
プラットフォーム間の高さの違いの計画ができたので、海のスタックを表すプレースホルダーPartオブジェクトを追加します。パーツはロブロックスの基本的なビルディングブロックで、形状、サイズ、色、その他の物理的特性を制御するプロパティを持っています。
このプロジェクトでは、プレイヤーがジャンプする際に着地するための平らなトップを提供するためにシリンダーパーツを使用します。


組織構造を作成する
パーツを追加する前に、プロジェクトを整理するための2つのコンテナを作成します。ロブロックスは、関連するインスタンスをグループ化するためのFolderオブジェクトと、3Dオブジェクトをグループ化するためのModelオブジェクトを提供します。このチュートリアルでは、環境を保持するためのWorldフォルダーと、そのフォルダー内にグレイボックスプラットフォームを保持するためのBlockout_Partsモデルを作成します。
- Explorerで、Workspace内にWorldという名前のフォルダーを作成します。
- 新しいフォルダー内にBlockout_Partsという名前のモデルを作成します。
パーツを挿入する
組織構造ができたので、プラットフォーム用のシリンダーを追加します。アシスタントのプロンプトを使用するか、手動で独自のレイアウトを構築するか、サンプルゲームのレイアウトを再現することができます。
アシスタントに一度のステップで全体のブロックアウトを生成させるには、ユニークなレイアウトを希望するか、サンプルゲームの正確なコピーを希望するかに応じたプロンプトをコピーします。
Workspace > World > Blockout_Parts内に複数のシリンダーパーツを作成してプラットフォームを形成します。
島の中心に大きな平らなシリンダーを1つ作成し、その後、すべてが同じ垂直基盤から始まり、高さが異なる(高い建物のような)少なくとも7つのシリンダーを追加して、上向きの道を作成します。
サイズ、位置、向きを調整して、上面が平らで歩行可能になるようにし、すべてのパーツを固定します。Workspace > World > Blockout_Parts内に次のシリンダーパーツを作成します:
1. Level_1 (Size 12, 131, 131; CFrame.Position -23, -4, 9; CFrame.Orientation 0, 0, 90)
2. Level_2 (Size 20, 81, 81; CFrame.Position -8, 0, 24; CFrame.Orientation 0, 0, 90)
3. Level_3a (Size 40, 44, 44; CFrame.Position 42, 10, 9; CFrame.Orientation 0, 0, 90)
4. Level_3b (Size 40, 34, 34; CFrame.Position 87, 10, 4; CFrame.Orientation 0, 0, 90)
5. Level_3c (Size 40, 44, 44; CFrame.Position 97, 10, 49; CFrame.Orientation 0, 0, 90)
6. Level_4a (Size 75, 39, 39; CFrame.Position 112, 27.5, 46.5; CFrame.Orientation 0, 0, 90)
7. Level_4b (Size 75, 65, 65; CFrame.Position 137, 27.5, 69; CFrame.Orientation 0, 0, 90)
8. Level_4c (Size 75, 60, 60; CFrame.Position 159.5, 27.5, 91.5; CFrame.Orientation 0, 0, 90)
9. Level_4d (Size 75, 30, 30; CFrame.Position 207, 27.5, 106.5; CFrame.Orientation 0, 0, 90)
10. Level_4e (Size 75, 61, 61; CFrame.Position 250, 27.5, 74; CFrame.Orientation 0, 0, 90)
11. Level_5a (Size 130, 60, 60; CFrame.Position 268, 55, 50; CFrame.Orientation 0, 0, 90)
12. Level_5b (Size 130, 25, 25; CFrame.Position 256, 55, 2.5; CFrame.Orientation 0, 0, 90)
13. Level_5c (Size 130, 25, 25; CFrame.Position 276, 55, -17.5; CFrame.Orientation 0, 0, 90)
14. Level_5d (Size 130, 54, 54; CFrame.Position 322, 55, -21; CFrame.Orientation 0, 0, 90)
15. Level_6a (Size 211, 79, 79; CFrame.Position 367, 94.5, -41; CFrame.Orientation 0, 0, 90)
16. Level_6b (Size 211, 24, 24; CFrame.Position 387, 94.5, 11.5; CFrame.Orientation 0, 0, 90)
17. Level_6c (Size 211, 44, 44; CFrame.Position 397, 94.5, 51.5; CFrame.Orientation 0, 0, 90)
18. Level_7 (Size 321, 61, 61; CFrame.Position 407, 149.5, 79; CFrame.Orientation 0, 0, 90)
すべてのパーツが固定され、正しく配置され、連続したレベルレイアウトを形成するようにしてください。パーツを整列させる
独自のレイアウトを作成している場合、すべてのプラットフォームが同じ基準の高さを共有し、サイズのみが異なる場合、プラットフォームの高さを管理するのが簡単です。整列ツールを使用すると、Y軸の下部エッジを整列させることで、1回のクリックでこれを実行できます。
Explorerで、すべてのプラットフォームを選択します。
Modelツールバータブで、Alignをクリックします。
整列ツールウィンドウで:
- ModeをMinに設定します。
- Align InをWorldおよびYに設定します。
- Relative ToをSelection Boundsに設定します。
Alignをクリックします。

空洞のトンネルを作成する
視覚的なバラエティを追加するために、スタジオのソリッドモデリングツールを使用して、海のスタックの1つにトンネルを掘ります。このチュートリアルでは、Negateを使用して穴を作成し、Unionを使用してパーツを1つの形状に結合します。すべてのソリッドモデリングツールの詳細については、ソリッドモデリングを参照してください。
空洞のトンネル構造を次の手順で作成します:
1. サイズ24, 65, 69、CFrame.Position 137, 77, 69、CFrame.Orientation 0, 0, 90のシリンダーパーツをTunnelという名前で作成します。Anchoredをtrueに設定します。
2. サイズ24.5, 72, 22、CFrame.Position 134.5, 77, 71、CFrame.Orientation 0, 135, 90のブロックパーツをHollow_Partという名前で作成します。これはシリンダーと交差して空洞のスペースを定義します。
3. Hollow_Partを否定して、減算形状にします。
4. Tunnelパーツと否定されたHollow_Partの両方を選択し、Union操作を実行して、シリンダーから空洞の形状を切り抜きます。
5. 結果のユニオンにLevel_4b_Unionという名前を付けます。
6. 既存のLevel_4bプラットフォームを見つけて複製し、複製をLevel_4b_Topに名前を変更します。
7. Level_4b_Topをサイズ74, 65, 69、CFrame.Position 137, 126, 69、CFrame.Orientation 0, 0, 90に設定します。トンネルの上に配置されていることを確認してください。
すべてのパーツが正しく整列し、最終的な結果が開いた通路を持つシリンダートンネルと、その上に配置されたプラットフォームであることを確認してください。レイアウトをプレイテストする
スクリプトを開始する前に、レイアウトをプレイテストして、変更が簡単なうちに問題をキャッチします。
Testタブからプレイテストを開始し、プレイヤーの開始状態をシミュレートします。
- Explorerでキャラクターを見つけてHumanoidを選択します。
- UseJumpPowerを有効にします。
- Propertiesウィンドウで、JumpPowerを0に設定します。
- 高いプラットフォームに到達するにつれて、JumpPowerを30の増分で増加させ、各レベルが到達可能であることを確認します。

次のセクションでは、全体のゲームプレイをスクリプトする方法を学びます。