環境をグレーボックス化する 、通称マッシングアウトまたは環境をブロックすると呼ばれるのは、3D 空間に単純な形を追加して、ユーザーがゲームプレイを体験する方法を見つけるプロセスで、ゲームプレイをスクリプトするか、複雑なアセットを作成する前に時間を投資すること。このプロセスは、レイアウトの問題を見つけるのに多くの時間を節約でき、Studioにインポートした高品質のメッシュを調整するのと比べて、基本パーツを調整するのがはるかに簡単です。
基本パーツやソリッドモデリング操作を使用して、このセクションのチュートリアルでは、プレイ可能なエリアを構成する海岸スタックプラットフォームをグレーボックスする方法を教えます。環境を完了すると、Luau スクリプトを使用してエクスペリエンスのゲームプレイを作成する方法を学びます。
プレイ可能エリアを計画する
エクスペリエンスの最終バージョンでは、プレイヤーは島や海のスタックプラットフォームでコインを集める必要があり、ジャンプ力をアップグレードして高いプラットフォームに到達する必要があります。次のセクションでチュートリアルにこの動作を追加するためのスクリプトを構成しますが、環境をグレーボックスに開始して、プラットフォーム間の高さの差を計画するときに重要です。たとえば、プラットフォーム間の高さの差は、プレイヤーがレベルを進めるためにコインを収集するように促すため、各高さレベルで徐々に増加する必要があります。
ガイドとして、サンプル 島ジャンプ - ビルド .rbxl ファイルには、最初のレベルが島に沈められ、高さの数少ないスタッドだけを露出させる7つの異なる高さレベルが含まれています。これにより、プレイヤーは次のプラットフォームに進むために、エクスペリエンスの開始時に少数のコインのみを収集する必要があります。その後、各レベル間の次の高さ差は 8、20、35、55、81、110 スタッドに増加し、プレイヤーがエクスペリエンスを通して進んでいく感覚を提供します。

プラットフォームを追加
プラットフォーム間の高さの違いの計画があることを前提に、海岸スタックプラットフォームを表現するプレースホルダー Part オブジェクトを追加する時が来ました。 パーツ は、形状、サイズ、色などを変更できるプロパティを持つ RoblRoblox(ロブロックス)x の基本的なビルディングブロックで、物理的な外外見をカスタマイズできます。
ほぼどんな部品形状を使っても海のスタックプラットフォームを表現できますが、 シリンダー 部品を使って環境をグレーボックスすることをお勧めします。なぜなら、プラットフォーム間でジャンプをプレイテストするときに着陸できる平面を提供し、最終セクションのチュートリアルで使用する海のスタックメッシュと形状が似ているからです。


組織構造を作成する
プレースホルダーパーツを 3D 空間に挿入する前に、Workspace でアセットの組織構造を作成することが重要です。このプロセスにより、特に管理する必要がある大量のアセットを使用してエクスペリエンスを作成する際に、ワークスペースが整理され、スキャンが容易になります。
アセットをグループ化するために使用できる 2種類のコンテナがあります: Folder および Model オブジェクト。 フォルダ は、多くの異なる種類のオブジェクトを保存するのに便利で、 モデル は、部品の幾何学的グループ化を保存するのに便利です。次の指示では、コンテナオブジェクトの両方を使用して、3D ワールドのすべてのアセットを保存する方法を教えます。
組織構造を作成するには:
エクスプローラ ウィンドウで、 ワークスペース にマウスポインタを置き、 ⊕ アイコンをクリックします。コンテキストメニューが表示されます。
コンテキストメニューから、 フォルダ オブジェクトを挿入します。フォルダオブジェクトは、3Dワールドのすべてのアセットを含むために使用することを示します。
新しいフォルダの名前を変更 World 。
フォルダオブジェクトを右クリックします。コンテキストメニューが表示されます。
コンテキストメニューから、 名前変更 をクリックし、フォルダの名前として World を入力します。
ワールド フォルダをホバーし、 ⊕ アイコンをクリックします。
コンテキストメニューから、 モデル を挿入します。
モデルを に名前変更 。
部品を挿入
今やアセットを含む組織構造があるので、3D 空間にパーツを挿入し始めて、海岸スタックプラットフォームを表現できます。
最初のプラットフォーム用のシリンダー部品を挿入するには:
ツールバーの ホーム タブに移動します。
クリックする パーツ ドロップダウン矢印、次に シリンダー を選択します。シリンダー部品がビューポートに表示されます。
エクスプローラー ウィンドウで、新しい パーツ をクリックしてドラッグして ブロックアウト_パーツ モデルに追加します。パーツはモデルの子になります。
ツールバーの ホーム タブに戻り、 移動 、 スケール 、および 回転 ツールを使用して、島の中央の大きな平面になるまでシリンダーを位置づけ、スケール、および回転させます。これらのツールに関する詳細情報は、パーツを操作する を参照してください。
同じプロセスを使用して、高さレベルが上昇する少なくとも 7つの海岸スタックプラットフォームを追加し、 Blockout_Parts モデルに配置します。
エクスプローラー ウィンドウで、 Block_Out モデルを選択します。
ツールバーの ホーム タブで、 アンカー アイコンをクリックします。これにより、物理システムがエクスペリエンスが開始されたときにパーツを移動しないようになります。
部品を揃える
島からさらに海のスタックプレースホルダーパーツを削除すると、これらのパーツに異なるサイズを使用する代わりに、レベル間の高さ差を管理するのが簡単になります。各プラットフォームのベースを 調整 して、すべての縦方向の差が異なる高さに反映され、同じサイズのパーツが同じレベルにあるようにすることで、これを実現できます。
調整ツール は、特定の軸に従って最小、中央、または最大の端にパーツを調整します。このエクスペリエンスの目的には、すべてのパーツが水に部分的に浸水するように、 下 の端を Y 軸に揃える必要があります。
パーツを揃えるには:
エクスプローラ ウィンドウで、すべてのプラットフォームを選択します。
ツールバーの モデル タブで、 調整ツール をクリックします。 調整ツール ウィンドウが表示されます。
アラインツール ウィンドウで、
- 設定 モード を 分 に。
- Set Align In を ワールド 、 Y に設定します。
- Keep 相対的に を 選択範囲 に保持します。
クリックする 整列 ボタン。すべてのパーツは、Y Part.Position 値が最も低いパーツに従って Y 軸に整列します。
すべてのプラットフォームが底端を一致させる
空洞トンネルを作成する
パーツをそのまま使用してプレイ可能な領域をブロックすることのほかに、パーツを固体モデリング操作で結合して、海のスタックの 1つの中の空洞トンネルなど、より複雑な形状を形成するために、固体モデリング操作を適用することもできます。この技術は、プレイヤーが環境と対話する方法に関するより多くの視覚的な興味と多様性を提供します。
4つのソリッドモデリングツールがあります:
- ユニオン – 2つ以上のパーツを結合して、単一の固体のユニオンを形成する。
- 交差 – 重複するパーツを単一の固体交差に交差させます。
- 否定 – 部品を否定し、穴やインデントを作るのに便利です。
- 分離 – ユニオンまたは交差を個々のパーツに分離します。
空洞トンネルを作成するためには、 ユニオン および 否定 ツールを使用するだけで十分です。すべてのツールの完全な分析については、ソリッドモデリング を参照してください。
空洞トンネルを作成するには:
挿入して位置付ける シリンダー パーツを、海スタックプラットフォームの 1つ上に配置します。サンプル 島ジャンプ - ビルド 体験は、次の値でこの部分を Level_4b プラットフォームの上に配置します:
名前 サイズ CFレーム.Position CFレーム.オリエンテーション トンネル 24, 65, 69 137, 77, 69 0, 0, 90 ブロック 部分を挿入して配置して、円筒部分と同じくらい高く、プレイヤーが通過するのに適した幅を持つトンネルの空洞を表現します。サンプル 島のジャンプ - 構築 体験ポジションは、以下の値で前のシリンダー内にこの部分を配置します:
名前 サイズ CFレーム.Position CFレーム.オリエンテーション 空洞_パーツ 24.5, 72, 22 134.5, 77, 71 0, 135, 90 エクスプローラ ウィンドウで、ブロックパーツを選択します。
ツールバーの モデル タブで、 否定 ボタンをクリックします。パーツが透明になります。
エクスプローラー ウィンドウで、否定された部分と円筒トンネル部分の両方を選択します。
モデル タブで、 ユニオン ボタンをクリックします。否定された部分は重複するトンネルシリンダーから切り出されます。
新しいユニオンを、高さレベルと位置を反映するものに名前を変更します(例: Level_4b_Union )。
新しいユニオンの下に海スタックプラットフォームを複製し、トンネルの上に配置するようにします。サンプル 島ジャンプ - ビルド 体験は、次の値でユニオンの上に重複の Level_4b プラットフォームを配置します:
名前 サイズ CFレーム.Position CFレーム.オリエンテーション レベル_4b_上 74, 65, 69 137, 126, 69 0, 0, 90
レイアウトをプレイテスト
プレイ可能な領域をグレーボックス化した後、開発プロセスが進むにつれて大幅に拡大する可能性のある問題を捕捉できるように、環境のレイアウトをプレイテストする必要があります。After you finish grayboxing your playable areas, you must playtest the layout of your environment to ensure the experience is both fun and functional, and so that you can catch small issues before they turn into much larger projects the further you are in the development process.たとえば、あなたのエクスペリエンスのゲームプレイには、コインの量に応じてジャンプ力を徐々にアップグレードする必要があるので、プレイヤーが期待するプラットフォームの高さレベルに関連して、プレイヤーがプラットフォーム間でジャンプできるかどうかを確認することが重要です。
次のステップバイステップの指示は、異なる Humanoid.JumpPower 値でエクスペリエンスをプレイテストする方法を教えます。プレイテスト中、次の質問を自分に問いましょう:
- プレイヤーが各プラットフォームにうまくジャンプできますか?
- プラットフォーム間の高さの差が、プレイヤーに進歩を促すために、各高さレベルで徐々に増加しますか?
- レイアウトやゲームプレイについて、何を楽しんだり、イライラしたりしていますか?
エクスペリエンスをプレイテストするには:
ツールバーで プレイ ボタンをクリックします。Studio がプレイテストモードに入ります。
エクスプローラー ウィンドウで、Roblox ユーザーユーザーネームを表示するキャラクターモデルの横にある矢印を選択します。すべてのキャラクタモデルの子オブジェクトが表示されます。
Select ヒューマノイド 。
In the プロパティ window, navigate to the ジャンプ設定 section, then enable UseJumpPower . ジャンプ力 プロパティは、デフォルト値の 50 で表示されます。
ジャンプパワー を0設定。これにより、キャラクターがジャンプできなくなり、ゲームプレイをスクリプトした後のプレイヤーの同じ開始状態を模倣します。
新しいレベルに到達すると、 ジャンプパワー を 30 の倍に設定して、ジャンプアップグレードをシミュレートします。
チュートリアルの次のセクションでは、経験の全体的なゲームプレイをスクリプトする方法を学びます。