サンプルプロジェクト
概要
アドバンスド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、アドオン、パッケージなどのベースフォルダ。FusionAddonsKCC- アドバンスド 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