障害物コース:デモ用パーツから構築する
スターターシーンを開く
新しいコースを作成する最も簡単な方法は、私たちが提供するモデルやプレハブを使用することです。 まずは "_WorldJam2/Scenes/Starter.unity" シーンを開くことから始めてください。
独自のフォルダーを作成する
プロジェクト固有のファイルは "_WorldJam2" フォルダーの外に保存することが重要です。これにより、アップデートをインポートする際に作業内容が上書きされるのを防ぐことができます。Assets の下に新しいフォルダーを作成することをお勧めします。ここではデモとして "_MyProject" という名前にします。重要なフォルダーの先頭にアンダースコアを付けることで、アルファベット順のファイルリストで常に一番上に表示されるようになります。
新しいコースアセットの作成
ObstacleCourseAsset には、チェックポイント、プレイヤープレハブ、スコア表示、パワーアップなどに関するすべての特別な情報が保持されています。
- Project ウィンドウで、"_WorldJam2/Courses" 内にある "StarterCourse.asset" を探し、複製(Duplicate)します。
- 新しいコースの名前を "MyCourse.asset" のように任意の名前に変更し、"_MyProject" フォルダに移動します。
- ヒエラルキーで "Udon/CourseManager" 配下の CourseManager を選択します。
- 作成した新しいコースアセットを、CourseManager オブジェクトにある Obstacle Course Data スクリプトの "Asset" フィールドにドラッグ&ドロップします。

これで、今後の変更はStarterコースではなく、作成したカスタムコースに保存されるようになります。
コースピースの追加
利用可能なすべてのコースピースは、プロジェクト内の "Assets/_WorldJam2/Prefabs/Course Pieces" にあります。

- コースに新しいピースを追加するには、シーンビューにドラッグ&ドロップするだけです。ドラッグ中に
CTRLキーを押したままにすると、アイテムをグリッドにスナップさせることができます。 - いずれかのピースで Udon を使用している場合は、それらが Prefab 状態のままにならないよう、通常の
GameObjectに Unpack(展開)してください。これは、既存のピースを上書きせずに本プロジェクトの更新済みパッケージを読み込みたい場合にも推奨されます。
Unity にはアイテムをグリッドに整列させるための設定が多数用意されています。Unity's Manual を確認してください。
チェックポイントの追加
Start Gate、Checkpoints、Finish Gateは、今回のジャムのために作成した専用の Utilities ウィンドウを使って追加するのが最適です。
- メニューバーの「⏵Obstacle Jam Utilities / Open Window」から Obstacle Jam Utilities Window を開きます。

- プレハブを確認します。

コースを機能させるために必要なプレハブは、Start Gate、Checkpoint、FinishGate の3つだけです。
- Utilities ウィンドウを使うと、新しい Checkpoint を非常に簡単に配置できます。「Checkpoint Prefabs」リストからプレハブを選択し、Scene ビューにカーソルを合わせます。選択したプレハブのプレビューが表示され、カーソルを向けた面に自動的に配置されるようになります。下のGIFで、ブロックの上面を指すまでゲートがブロックの側面に吸着している様子を確認してください。
- 配置場所が決まったら、スペースキーを押してプレハブをシーンに正式に追加し、接続を行います。

- この方法で Checkpoint プレハブを追加すると、自動的に「Checkpoints In Scene」リストに追加されます。リストを開くと、新しいチェックポイントが含まれていることが確認できます。

これらのチェックポイントのいずれかを選択すると、Scene ビューがそのオブジェクトにフォーカスされます。また、ヒエラルキーで選択状態になっていることも確認できます。ヒエラルキー上で、新しく追加された「Checkpoint 1」オブジェクトの横にある三角ボタンを押すと、その中の UdonProgram を確認できます。その UdonProgram を選択すると、index が自動的に 1 に設定されていることがわかります。

- コースに必要な数のチェックポイントが揃うまで、同様の手順で追加を続けてください。順序を入れ替える必要がある場合は、「Checkpoints in Scene」リストにある上矢印と下矢印を使って、プレイヤーが通過すべき順番を変更できます。この方法で順序を変更すると、Checkpoint の
indexが実際の順序に合わせて更新され、オブジェクト名もindexに合わせて変更されます。
テストチェックポイント
ここまでの手順でコースの拡張や変更を行い、チェックポイントを追加しました。さっそくテストしてみましょう!VRChat SDK Control Panelを開き、アカウントにサインインして「Build & Test」を選択し、コースをテストしてください!
ワールドの起動で問題が発生した場合や、ローカルテストについて詳しく知りたい場合は、Build and Test のドキュメントを確認してください。
PowerUpを追加する
ゲームをより面白くするために、PowerUpを追加してみましょう。
- Utility Windowを開き、「Power Ups」セクションを表示します。これはCheckpointsセクションと非常によく似ており、すでに配置したものとは異なるパラメーターが設定されています。

- PowerUpのPrefabを1つ選択し、Checkpointsの時と同じように、マウスを表面に向けてスペースキーを押してシーン内に配置します。
- PowerUpを配置すると Transform ツールが選択状態になるため、アイテムの配置を微調整できます。
- 新しく追加したPowerUpは「PowerUps In Scene」セクションに表示されます。PowerUp名の右側にあるフィールドを使用して、プレイヤーに与える効果を変更できます。負の数値を入力するとプレイヤーのSpeedやJumpを 減少 させることができますが、持続時間(duration)に負の値を指定しても効果はありません。
- PowerUpを選択すると、Scene View上で自動的にそのオブジェクトにフォーカスが合い、ヒエラルキーでも選択されます。削除したい場合はシーンから削除し、Utility Windowの下部にある「Refresh」を押してリストを更新してください。
このセクションでは、デフォルトの Move Speed や Jump Impulse を変更することも可能です。ワールド内に VRCWorldSettings プログラムを 配置しないように注意してください。配置すると、これらの設定と競合してしまいます。
Move Speed は Walk、Run、Strafe の速度をすべて同じ値に設定します。
PowerUpのテスト
シーンを再度 Build & Test して、新しいPowerUpを試してみましょう!
ハザード(障害物)の追加
- "Assets/_WorldJam2/Prefabs/Hazards" にある Hazard プレハブを探します。

-
これらは特別なセットアップを必要としないため、専用ツールは使用しません。シーンにドラッグ&ドロップして、配置を微調整するだけで完了です。
-
ハザードを配置したら、ヒエラルキーでその GameObject を右クリックし、「Unpack Prefab Completely」を選択します。これにより、プロジェクトの更新時に作成済みのハザードが上書きされるのを防ぎ、Udon とプレハブに関連する既知の問題を回避できます。

- ハザードの配置が完了したら、Utility ウィンドウの下部にある「Refresh」ボタンを押します。これにより、ハザードに参照が注入され、ユーザーがハザードに触れた際に適切にリスポーンできるようになります。
モジュラー型ハザード
同梱されているハザードはモジュラー式になっているため、見た目や難易度を簡単に変更できます。移動する各ハザードは、アニメーション化されたゲームオブジェクトに "Trigger" に設定されたコライダーが取り付けられた構成になっています。付属のコースパーツや他のアセットパックを組み合わせることで、異なるメッシュやトリガー配置を追加し、全く新しいハザードを作成することが可能です。

収録されている4種類の移動型ハザードは、水平、垂直、回転、スイングといったハザードの出発点となります。各タイプの速度は、Animator ウィンドウを使用して変更できます。

ハザードの確認
それでは、Build & Test を行いましょう!
プレイヤー数の設定
アスレチックワールドにおける Number of Players は、ワールドの Player Capacity(最大プレイヤー数)の2倍の値に設定しておくことを推奨します。Utility Window のこのフィールドの数値を変更するだけで、Player Objects を管理する Object Pool が自動的にその人数分で満たされ、各プレイヤーに必要な変数がすべて設定されます。

ビルドと公開
フレンドをワールドのテストに招待する準備ができたら、Build & Publish を実行してVRChatでワールドを公開しましょう。ワールド名の設定や共有用のスクリーンショット撮影を行い、より多くの人に見てもらう準備ができたら「Submit to Community Labs(コミュニティラボに提出)」を行うことができます。
ワールドを公開するには、VRChatで一定時間過ごす必要があります。詳細はこちらを参照してください: FAQ
障害物コースのカスタマイズに関するその他のオプションについては、カスタムパーツからのビルドを参照してください。
最終更新: