This document is about: FUSION 2
SWITCH TO

サンプルプロジェクト

概要

アドバンスドKCCには、サンプル、テストプレイグラウンド、便利なコードスニペットが多く搭載された専用Unityプロジェクトが付属しています。KCCの仕組みを理解したりゲーム開発プロセスを速く進めるのに役立ちます。

Playground
Testing playground
Playground
Navmesh AI playground
Playground
Obstacles playground
Playground
Environments playground

サンプルプロジェクトは 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 メニューパッケージ

推奨チュートリアル

  1. Showcase シーンを試す。
  2. インタラクションシーンを試す (03_Interactions フォルダ)。
  3. 01_BasicMovementで基本的な動きの実装を確認してください。
  4. 02_AdvancedMovement で高度な動きの実装を確認してください。
  5. いくつかの小さな機能(02_Featuresフォルダ)とインタラクション(03_Interactionsフォルダ)の実装を確認する。

これで、KCCを使った移動方法、KCCが他のオブジェクト(プロセッサ)とどのように相互作用するか、そしてそれらがプレイヤーの動作をどのように変更するかについて、基本的な理解ができたはずです。

  1. より多くのコンテキストを得るために、ArchitectureExecutionInteractionsについて調べる。学ぶ良い機会です。
  2. 03_ExpertMovement で一人称視点のエキスパート移動の実装を確認する。
  3. 03_ExpertMovement で三人称視点のエキスパート移動の実装を確認する。

⚠️ Expert movement は、完全なレンダリング予測、カスタム Input Smoothing、CPU、GPU、ネットワークのスパイクに関するエッジケースをカバーするその他の機能を備えた、最も洗練されたソリューションです。
9. サンプルプロジェクトの残りをチェックする。
10. さらに多くのコンテキストを得るために、FeaturesExtendingDebuggingについて調べる。学んでください。
11. 自分のプロジェクトにスクリプトを持っていくか、これをクリーンアップしてゲームを作りましょう 🚀。

VR サポート

サンプルプロジェクトは Oculus プラットフォームでテストされています (Oculus Link もサポートされています)。ヘッドセット上でプロジェクトを実行するには、以下の手順に従ってください。

  1. デフォルトシーンとして VRMovement を使用してください。これはVRで動作するように設定された唯一のシーンです。
  2. Project Settings => XR Plug-in Managementを開いてください。
  • 起動時にXRを初期化するを有効にします。
  • Oculus プロバイダー(またはテストしたい他のプロバイダー)を有効にします。
  1. プレイしましょう。

NVIDIA Reflexによるシステムレイテンシのテスト

適切なハードウェア機器があれば、NVIDIA Reflex を使ってシステムのレイテンシをテストすることができます。

  1. GameplayUIプレハブでNVIDIAReflexゲームオブジェクトを有効にする。
NVIDIA Reflex indicators
NVIDIA Reflex indicators
  1. KCC Sample buildを実行し、排他的なフルスクリーンモードに切り替えます(F8キー)。
  2. モニター上のNVIDIA Reflex Latency Analyzer - Monitoring Rectangleの位置とサイズを設定します:
    • マウスクリックから最初の FixedUpdateNetwork() (通常のアクション)までのレイテンシを測定する上側のドット。
    • マウスクリックから最初のRender()(レンダリング予測アクション)までの待ち時間を測定する下側のドット
  3. マウスの左ボタンをクリックするとインジケータが点滅します。

🚀 トップクラスのゲーミングハードウェアと組み合わせた場合、60Hz Fusionシミュレーションの平均システムレイテンシは約12msです。レンダリング予測を使えば、さらに4ms程度まで短縮できます。

System latency comparison
System latency comparison

動作解析

サンプルではフレーム単位で動きを解析するツールを提供しています。

⚠️ Pythonのライブラリが必要です。レコーダについてはDebuggingの項を参照してください。

  1. ゲーム(エディター)を起動する。
  2. 録画のオン・オフを切り替える (F9 キー)。
  3. プロジェクトのルートフォルダに新しい.logファイルが作成される。
  4. AssetsPhotonFusionAddonsKCCUtilitiesRecorders から CreateHTMLGraphs.py スクリプトをルートフォルダにコピーして実行する。
  5. グラフを含む新しい.htmlファイルが同じようなファイル名で作成される。
  6. グラフをチェックする。

サードパーティー製アセット

このサンプルは、サードパーティのクリエイターの方々のご協力により作成されています。以下のアセットを使用しています。

Back to top