サンプルプロジェクト
概要
アドバンスドKCCには、サンプル、テストプレイグラウンド、便利なコードスニペットが多く搭載された専用Unityプロジェクトが付属しています。KCCの仕組みを理解したりゲーム開発プロセスを速く進めるのに役立ちます。
サンプルプロジェクトは Download セクションからダウンロードできます。
特徴
- ショーケースシーン
- 機能の例 - ダッシュ、スプリント。
- インタラクションの例 - テレポート、ポータル、ジャンプパッド、移動プラットフォーム、...
- AIの例 - NPC、NavMesh。
- エクステンションの例 - Processors、Stages。
- デバッグ・シーン - プロファイリング・シーン、入力スムージング。
- 遊び場 - 階段、スロープ、通路、ギャップ、地形。
- テンプレート - コピー&ペーストや書き換えが可能なスクリプト。
- PC / モバイル / VR / ゲームパッドのサポート。
- Photonメニューの統合。
サンプルコントロール
Mouse
- 見るW
,S
,A
,D
- 移動Shift
- 走るSpace
- ジャンプTab
- ダッシュ+
,-
- スピード切り替えEnter
- カーソルのロック・ロック解除Ctrl
+Shift
+M
- アプリの一時停止・再開Q
,E
- スムーズかどうかを確認する。F4
- 入力スムージングの切り替えF5
- ターゲットフレームレートの切り替えF6
- 画質を切り替えるF7
- 垂直同期を切り替えるF9
- レコーダーの切り替え (プレイヤー位置 / カメラ / 入力スムージング)F12
- 現在のセッションから切断する
プロジェクトの構成
- Assets` - ベースプロジェクトフォルダ
- Example` - サンプルの "game" に関連する全てのリソースが格納されています。
- 00_Showcase` - ショーケースのシーン
- 01_PlayerMovement
-
Player` コントローラの様々な実装が含まれています(ベーシック、アドバンス、エキスパート、トップダウン、vr)。 - 02_Features` - スプリント、ダッシュ、可変サーフェスなどのプレイヤーアビリティが含まれています。
- 03_Interactions` - 環境、テレポート、プラットフォームなど、プレイヤーが相互作用するオブジェクトの実装。
- 04_AI` - シンプルな NPC の実装と NavMesh を使った移動の例が含まれています。
- 05_Extensions` - KCC をカスタムプロセッサ/ステージで拡張する方法のサンプルスクリプトが含まれています。
- 06_Debug` - パフォーマンスと入力の滑らかさをテストするためのシーンが含まれています。
- A1_Playgrounds` - コライダータイプ/角度の組み合わせ、デペネトレーションなど、KCCの動作をテストするためのシーン。
- A2_Templates` - 既存のKCCデータ構造を部分実装で拡張するためのテンプレートスクリプト。
- Shared` - 複数のサンプルで共有されるデータ、一般的な設定、スクリプトマネージャー、ユーティリティが含まれる。
Photon
- Photon SDK、アドオン、パッケージなどのベースフォルダ。FusionAddons
KCC
- アドバンスド KCC アドオン
FusionMenu
- Photon Menu <=> Fusion コントローラーが含まれています。PhotonMenu
- Photon メニューパッケージ
- Example` - サンプルの "game" に関連する全てのリソースが格納されています。
推奨チュートリアル
Showcase
シーンを試す。- インタラクションシーンを試す (
03_Interactions
フォルダ)。 01_BasicMovement
で基本的な動きの実装を確認してください。02_AdvancedMovement
で高度な動きの実装を確認してください。- いくつかの小さな機能(
02_Features
フォルダ)とインタラクション(03_Interactions
フォルダ)の実装を確認する。
これで、KCCを使った移動方法、KCCが他のオブジェクト(プロセッサ)とどのように相互作用するか、そしてそれらがプレイヤーの動作をどのように変更するかについて、基本的な理解ができたはずです。
- より多くのコンテキストを得るために、Architecture、Execution、Interactionsについて調べる。学ぶ良い機会です。
03_ExpertMovement
で一人称視点のエキスパート移動の実装を確認する。03_ExpertMovement
で三人称視点のエキスパート移動の実装を確認する。
⚠️ Expert movement は、完全なレンダリング予測、カスタム Input Smoothing、CPU、GPU、ネットワークのスパイクに関するエッジケースをカバーするその他の機能を備えた、最も洗練されたソリューションです。
9. サンプルプロジェクトの残りをチェックする。
10. さらに多くのコンテキストを得るために、Features、Extending、Debuggingについて調べる。学んでください。
11. 自分のプロジェクトにスクリプトを持っていくか、これをクリーンアップしてゲームを作りましょう 🚀。
VR サポート
サンプルプロジェクトは Oculus プラットフォームでテストされています (Oculus Link もサポートされています)。ヘッドセット上でプロジェクトを実行するには、以下の手順に従ってください。
- デフォルトシーンとして
VRMovement
を使用してください。これはVRで動作するように設定された唯一のシーンです。 Project Settings
=>XR Plug-in Management
を開いてください。
起動時にXRを初期化する
を有効にします。Oculus
プロバイダー(またはテストしたい他のプロバイダー)を有効にします。
- プレイしましょう。
NVIDIA Reflexによるシステムレイテンシのテスト
適切なハードウェア機器があれば、NVIDIA Reflex を使ってシステムのレイテンシをテストすることができます。
GameplayUI
プレハブでNVIDIAReflex
ゲームオブジェクトを有効にする。
- KCC Sample buildを実行し、排他的なフルスクリーンモードに切り替えます(
F8
キー)。 - モニター上のNVIDIA Reflex Latency Analyzer - Monitoring Rectangleの位置とサイズを設定します:
- マウスクリックから最初の
FixedUpdateNetwork()
(通常のアクション)までのレイテンシを測定する上側のドット。 - マウスクリックから最初の
Render()
(レンダリング予測アクション)までの待ち時間を測定する下側のドット
- マウスクリックから最初の
- マウスの左ボタンをクリックするとインジケータが点滅します。
🚀 トップクラスのゲーミングハードウェアと組み合わせた場合、60Hz Fusionシミュレーションの平均システムレイテンシは約12msです。レンダリング予測を使えば、さらに4ms程度まで短縮できます。
動作解析
サンプルではフレーム単位で動きを解析するツールを提供しています。
⚠️ Pythonのライブラリが必要です。レコーダについてはDebuggingの項を参照してください。
- ゲーム(エディター)を起動する。
- 録画のオン・オフを切り替える (
F9
キー)。 - プロジェクトのルートフォルダに新しい
.log
ファイルが作成される。 AssetsPhotonFusionAddonsKCCUtilitiesRecorders
からCreateHTMLGraphs.py
スクリプトをルートフォルダにコピーして実行する。- グラフを含む新しい
.html
ファイルが同じようなファイル名で作成される。 - グラフをチェックする。
サードパーティー製アセット
このサンプルは、サードパーティのクリエイターの方々のご協力により作成されています。以下のアセットを使用しています。
Back to top