クイックスタート
パッケージインポート
パッケージのインポート時に発生しやすい問題を解決するためのステップバイステップのガイドに従ってください。
- 新しいUnity 3Dプロジェクトを作成してください。推奨バージョンは Unity 2022.3.20f1 です。
- Package Managerを開いて、BR200パッケージをインポートします。
- プロジェクト設定上書き警告で、Import(インポート) を選択します。
- パッケージの依存関係に関する警告が表示されたら、Install/Upgrade(インストール/アップグレード) を選択してください。
- このサンプルでは新しいInput Systemパッケージを使用しているため、Unityエディターの再起動が必要です。Yes(はい) を選択してください。
- Unityエディターが自動的に再起動します。残念ながらインポート処理は続行されませんので、ステップ2、3、4をもう一度繰り返します。このとき、再度Unityエディターを再起動する必要はありません。
- Unityパッケージのインポート(ステップ1)では、Next(次へ) をクリックします。
- 「Unityパッケージのインポート(ステップ2)」では、Import(インポート) を選択します。
- パッケージのインポートが完了します。
-
- たまにUnityのコンソールに*missing renderer feature(レンダラー機能が見つからない)*や *Allow 'unsafe' code('unsafe' コードを許可)*といったエラーが表示されることがあります。
- 上記のエラーを解決するには、Project Settings(プロジェクト設定) を開き、 Allow 'unsafe' code('unsafe' コードを許可) の設定を一度 オフ(OFF) にしてから再度 オン(ON) にしてください。
- All errors should disappear from the console and asset import process will continue.
- If the Photon Fusion Hub pops up, fill in the Fusion 2 AppId - more info in Project Setup
- Open TPSBR/Scenes/Game scene and enter Play mode. Don't save changes in the scene.
- If the import process finished incorrectly and Library is in broken state, you'll see exceptions in console and the player won't handle a weapon in game vies. We need to fix that.
- Select all prefabs in TPSBR/Prefabs folder (including subfolders). This forces Unity to load all prefabs.
- Select Tools/Fusion/Run Weaver.
- Select Tools/Fusion/Rebuild Prefab Table.
- Reimport TPSBR/Prefabs folder.
- Restart Unity editor and try playing TPSBR/Scenes/Game scene again. Now there should be no runtime errors/exceptions in the console and the player should handle a weapon.
- If the process above didn't help, close the editor and try deleting Library folder.
プロジェクト設定
サンプルを実行するには、PhotonAppSettingsアセット内にFusion 2のAppIdを設定する必要があります。
まず、Photon Engine DashboardでFusion 2のAppIdを作成し、その値をPhotonAppSettingsのApp Id Fusionフィールドに貼り付けてください(このフィールドはTools/Fusion/Realtime Settingsメニューからアクセス可能です。または、直接ファイル(Assets/Photon/Fusion/Resources/PhotonAppSettings.asset)
を編集して設定します)。
ゲームの開始
メニューからスタート
Assets/TPSBR/ScenesにあるMenuまたはLoaderシーンを開き、プレイモードに入ってからPlayボタンをクリックしてください。
既存のゲームに参加するか、またはCreate Gameボタンを押して新しいゲームを作成してください。
Quick Playボタンは、Unityが提供するGame Server Hostingプラットフォームでのみ機能します。
ゲームプレイデバッグスタート
任意のシーンを直接実行してゲームプレイをテストできます。シーン内のStandalone ManagerというGameObjectが、開始されるゲームの種類を決定します。
Standalone Managerの設定値を変更することで、希望の構成でゲームを実行できます。
複数のプレイヤーでエディター内からゲームを開始するには、Multipeer Modeセクションを参照してください。
コントロール
| キー | アクション |
|---|---|
| W,S,A,D | 移動 |
| スペース | ジャンプ / ジェットパックによる推進 |
| 1,2,3 | 武器の切り替え |
| 4 | グレネードの入れ替え |
| Q | 武器の高速切り替え |
| F | インタラクト / 武器のドロップ(長押し) |
| X | ジェットパックの切り替え |
| E | カメラサイドの切り替え |
| マウス左ボタン | 炎 |
| マウス右ボタン | 狙い |
| Enter | カーソルのロック・アンロック(エディタ) |
| Ctrl + Enter | カーソルのロック・アンロック(ビルド) |
サーバーの実行
ヘッドレスサーバーインスタントとしてコマンドラインから BR200 を開始できます。
コマンドライン引数
| 引数 | 説明 |
|---|---|
| -host | ホストの開始 |
| -dedicatedServer | 専用サーバーの開始 |
| -client | クライアントの開始 |
| -deathmatch | デスマッチゲームプレイモードの開始(サーバー・ホストでのみ有効) |
| -elimination | エリミネーションゲームプレイモードの開始(サーバー・ホストでのみ有効) |
| -battleRoyale | バトルロワイヤルゲームプレイモードの開始(サーバー・ホストでのみ有効) |
| -region [STRING] | カスタムPhotonリージョン(任意)、eu/us/usw/... |
| -extraPeers [INT] | 追加クライアントが同じプロセス内で開始 |
| -serverName [STRING] | ゲームリストにカスタムサーバー名表示 |
| -maxPlayers [INT] | ゲーム参加を許可する最大プレイヤー数 |
| -sessionName [STRING] | カスタムセッション識別子 |
| -lobby [STRING] | カスタムマッチメイキングロビー名 |
| -scene [STRING] | 読み込むセッション(GenArea2|GenArea3|GenArea5|GenArea7) |
| -stripped | 1つのプロセスで処理するバッチクライアント数を最大にするための追加ランタイム最適化を有効にする |
| -ip | サーバーがバインドするカスタムIPアドレス |
| -port | サーバーがバインドするカスタムポート |
| -fps [INT] | Application.targetFrameRateを既定値に設定 |
| -moderator | モデレータ権限でゲームを開始 (ゲーム作成やパブリックビルドでの修正が可能) |
| -dataPath | カスタム出力ディレクトリパス |
| -recordSession | 現在のセッションのログやパフォーマンス統計の記録 |
| -generateInput | ランダムな入力を生成。-strippedとの組み合わせでのみ使用 |
| -multiplay | Multiplay Managerの有効化 (Unity Game Server Hosting) |
| -backfill | Backfillサービスの使用(既存のマッチにプレイヤーを参加、サーバーのみ) |
| -sqp | サーバークエリプロトコルの使用(SQP) |
| -matchmaking | Unity Matchmakerの使用 |
| -queueName [STRING] | カスタムMatchmakerキュー名 |
ローカルのヘッドレスサーバーコマンドライン引数の事例:
BR200.exe -batchmode -nographics -dedicatedServer -logFile BattleRoyaleServer.txt -battleRoyale -maxPlayers 200 -scene GenArea7
プロジェクト構成
アセット
| パス | 説明 |
|---|---|
| 3rdParty/ | サードパーティアセット |
| Photon/ | Fusionライブラリおよびアドオン |
| TPSBR/ | サンプル別のファイル、スクリプト、継承したアセット |
| Extras.zip | プロファイリング用追加のツール |
シーン
| シーン | 説明 |
|---|---|
| Loader | Initial scene, minimalistic (fast to load), checking command line arguments, loads to menu or a specific gameplay scene |
| Menu | Default menu scene |
| LoadingScene | Scene with a loading screen to fade between menu and gameplay scenes |
| Game | Small static testing scene for debugging and feature iterations |
| GameplayUI | Scene with separate gameplay UI, loaded additively |
| GenArea2 | Small map for 20 players, generated at runtime |
| GenArea3 | Medium map for 60 players, generated at runtime |
| GenArea5 | Large map for 120 players, generated at runtime |
| GenArea7 | Very large map for 200 players, generated at runtime |