
サンプルプロジェクトで自分好みにカスタマイズしましょう。
Behind the Build: UFO Rodeo
Written by UFO Rodeo Team
March 26, 2025
Introduction
ニューメキシコの牧場で牛を飼うジョー・ザモラ農夫は、長年空に不思議な光を目撃してきたが、今やその光が彼の牛を狙っている。
超高出力の牛追い棒を使って、牛を拉致しようとするUFOを空から撃ち落とせ! 牛をすべて失う前に、できるだけ多く取り出してください。 UFO Rodeoの完全版とその付属機能のコードベースを自由にクローンして、詳細を学ぶことができます。
Score Counter Sample Project
このプロジェクトでは、Niantic Studio を使用したシンプルなスコアカウンターシステムを実演しています。 以下の方法を学びます:
- 異なるエンティティをタップした際にスコアを増減させる方法。
- スコアが変更された際にシンプルなパーティクル効果をトリガーする。
- インクリメントエンティティ、デクリメントエンティティ、およびUIスコアエンティティへの参照を設定します。
Roaming Entities Tutorial
このプロジェクトでは、Niantic Studioを使用して移動可能な3Dオブジェクト(この場合、UFO)を作成する方法を紹介します。 以下の内容を学びます:
- シーン内の3Dモデルにカスタムコンポーネントを割り当てる方法。
- 衝突を検出し、視覚的なフィードバックとしてパーティクル効果をトリガーします。
- コライダー、位置、およびパーティクル効果をトリガーする衝突リスナーを設定します。
動作原理
- Roaming Entity コンポーネント
- に登録されています。
スポーンシステム チュートリアル
このプロジェクトでは、Niantic Studioのカスタム「スポナー」コンポーネントを使用して、3Dエンティティを動的にスポーンする方法を示します。 以下の内容を学びます:
- 3Dモデルを複数インスタンス化してシーンに自動的に読み込み、配置する。
- シンプルなECS状態マシンを使用して、アセットの読み込みとイベントの移行を協調します。 この設定は、Nianticのエンティティコンポーネントシステム(ECS)が複数のオブジェクトの生成と初期設定をリアルタイムで処理する方法を示しています。
プロジェクト構造
以下の表は、主要なフォルダーとファイルの簡単な概要です:
.
├── assets/ // 追加のメディア資産(cow.glbモデル)
├── spawner.ts // Spawnerコンポーネントを定義するメインスクリプト
└── README.md // このREADMEファイル
主要なファイル- コンポーネントを定義し、生成するエンティティの数、生成間隔、および配置方法を制御します。
- シンプルな状態マシンを使用して、「ローディング」フェーズ(エンティティの生成)と、すべてのオブジェクトが作成された後の最終状態「done」を処理します。
階層エンティティの概要
- スポーンシステムエンティティ
- コンポーネントが添付されたエンティティです。
- 生成するエンティティの数()と生成間の遅延()を構成します。
- 生成されたエンティティ(牛)
- スポナーのLOADING状態中に自動的に作成されます。
- 各エンティティは次を受け取ります:
- GltfModel(牛のモデル)。
- ScaleAnimation(0.1から1への拡大アニメーション)。
- Collider(円筒形)。
- アクティブカメラの近くにあるランダムな位置。
動作原理
- Spawner コンポーネント
- が . に登録されています。 ECSは2つの主要なプロパティを参照しています:
- : 生成するエンティティの数。
- : 生成間のミリ秒間隔。
- が . に登録されています。 ECSは2つの主要なプロパティを参照しています:
- 状態マシン
- LOADING (初期状態): 指定された回数まで繰り返し、指定された間隔で新しいエンティティを生成します。
- 各生成されたエンティティは、牛のモデルをロードし、ScaleAnimationを添付し、PositionとColliderを設定します。
- ループが終了すると、トリガーがDONE状態に移行します。
-
- ランダムな
- 位置決め
- 各エンティティに対して、x座標(-4から4の間)がランダムに選択され、z座標はカメラの後方にオフセットされます。
- y座標は地面からやや上方に設定されます。
- DONE状態
- すべてのエンティティが生成されると、「完了!」この設定は、Nianticのエンティティコンポーネントシステム(ECS)が複数のオブジェクトの生成と初期設定をリアルタイムで処理する方法を示しています。
- シンプルな状態マシンを使用して、「ローディング」フェーズ(エンティティの生成)と、すべてのオブジェクトが作成された後の最終状態「done」を処理します。
階層エンティティの概要
- スポーンシステムエンティティ
- コンポーネントが添付されたエンティティです。