3D Platformerサンプル
概要
動くプラットフォームは最近のゲームではよく見られる機能ですが、その作成は意外と難しいものです。
このサンプルでは、デフォルトの3Dキネマティックキャラクターコントローラー(KCC)を使って、動くプラットフォームシステムを作成する方法を紹介します。
これは、より複雑に動作させるために独自の動作システムを実装する良い出発点となります。
ダウンロード
| バージョン | リリース日 | ダウンロード | ||||
|---|---|---|---|---|---|---|
| 2.1.0 | 2022年12月13日 | Quantum 3D Platformer 2.1.0 Build 46 | ||||
技術情報
このプロジェクトは以下によって開発されました:
- Unity
2021.3.6f1 - Quantum
2.1.0
スクリーンショット
ハイライト
FPAnimationCurveの使用
移動と回転システムで FPAnimationCurve を使用すると、方向や速度の急激な変化を含むプラットフォームの移動または回転の正確な形状を指定することができます。さらにあらかじめ定義されたカーブの使用によって、プラットフォームの動きを各時点で手動で指定する必要がなくなりコードが読みやすくなります。
慣性
この技術サンプルには、プレイヤーがプラットフォームから出るときにプラットフォームの慣性をプレイヤーに転送するPlayerPlatformControllerAsset内のオプションが含まれています。そしてプレイヤーが地面や新しいプラットフォームにぶつかるまで、プラットフォームの速度がプレイヤーに適用されます。
説明
1) サンプルシーン
エディターウィンドウでシーンドロップダウンメニューを選択し、「Game」シーンをクリックします。
このシーンでは、ゲームでのプラットフォームレイアウトの一般的な例が示されています。
2) PlatformConfig
この技術サンプルはPlatformConfigアセットを使用し、移動プラットフォームの挙動を理解および操作しやすくしています。
| フィールド | 説明 |
|---|---|
| MovementAmplitude | 動作関連曲線の振幅。 |
| RotationAmplitude | 回転関連曲線の振幅。 |
| MovementAxis | どの軸の移動を適用するかのフラグ。 |
| XMovementCurve | X軸の移動カーブ。 |
| YMovementCurve | Y軸の移動カーブ。 |
| ZMovementCurve | Z軸の移動カーブ。 |
| RotationCurve | 適用される回転曲線(Y軸) |
3) プラットフォームコンポーネント
プラットフォームコンポーネントはエンティティを有効なプラットフォームとして識別し、その移動に必要なデータを含みます。
| フィールド | 説明 |
|---|---|
| Config | このプラットフォームインスタンスに使用するPlatformConfigアセット。 |
4) PlatformControllerConfig
PlatformControllerConfigアセットは、プレイヤーがプラットフォームとどのようにやり取りするかの設定に使用されます。
| フィールド | 説明 |
|---|---|
| ApplyRotationInertia | プラットフォームを出た後に回転慣性を適用するかどうか。 |
| PlatformAxisInertia | 慣性にどの軸を適用するべきかを定義します。 |
5) PlayerPlatformController Component
PlayerPlatformControllerコンポーネントは、Platformエンティティとやり取りできるエンティティを定義します。
| フィールド | 説明 |
|---|---|
| Config | このコントローラーインスタンスに使用するPlatformControllerConfig。 |
インテグレーション
1) 独自のPlatformConfigを作成
プロジェクトのResources/DB内の任意のフォルダに移動します。
右クリック -> Create -> Quantum -> PlatformConfig
インスペクターウィンドウで任意の調整をおこないます
2) 独自のプラットフォームを作成
新しいEntityに移動または作成します
PhysicsCollider3DコンポーネントとPlatformコンポーネントを追加します。
以前作成したPlatformConfigAssetに移動します
PlatformプロトタイプコンポーネントのConfigフィールドにドラッグします。
3) 独自のPlatformControllerConfigを作成
プロジェクトでResources/DB内の任意のフォルダに移動します。
右クリック-> Create -> Quantum -> PlatformControllerConfig
インスペクターウィンドウで任意の調整をおこないます
4) PlayerPlatformControllerを追加
プラットフォームの制御機能を追加するキャラクターを開くかまたは作成します。
PhysicsCollider3DコンポーネントとPlayerPlatformControllerコンポーネントを追加します。
以前作成したPlatformControllerConfigAssetに移動します
PlayerPlatformControllerプロトタイプコンポーネントのConfigフィールドにドラッグします。