This document is about: QUANTUM 3
SWITCH TO

This page has not been upgraded to Quantum 3.0 yet. The information may be out of date.

シーン読み込み

はじめに

Quantumの文脈におけるシーンのロードは、以下の2つの部分で構成されます:

  1. シーンビュー(Unity)
  2. シミュレーションのためのシーンデータ(Quantum)

このドキュメントでは、シーンのロードを実装するための3つの有効なアプローチを提示します。どのアプローチでも、Unityのシーンとマップデータを自分でロードする必要があります(後者についてはOnMapChangedコールバックを通じて)。

注: Simulation Configアセットにはマップからシーンを自動読み込みオプションがあります。これはプロトタイピングには問題ありませんが、プロダクションの場合は、自分自身のゲーム特有のローダーを作成することを強くお勧めします。

オフラインでのロード

Unityシーンは、プレイヤーがマッチメイキングに入る前やゲームを開始する前に、オフラインまたはローカルでロードすることができます。これは、直接マッチメイキングを行うカジュアルゲームにとって良い選択肢です。

手順:

  1. オフラインの状態でもバックグラウンドでゲームプレイシーンをロードする(Unity)
  2. マッチメイキングに入り、ルームを見つける(Photon Realtime)
  3. すでにゲームプレイシーンがプリロードされた状態でシミュレーションを開始する(Quantum)

Photonルーム内でのロード

プレイヤーにプレマッチ情報を通知するためのロビーが必要な場合、Photon Realtime APIを通じてロードを調整し、すべてのプレイヤーがゲームプレイシーンをロードしたらすぐにQuantumシミュレーションを開始できます。

手順:

  1. プレイヤーがPhoton ROOMに参加する

  2. ルームに参加したすべてのクライアントのシーンロードをRealtimeを通じて調整する:

    1. (カスタムPhotonメッセージまたはルームプロパティを使用して)期待されるロード時間を通知する
    2. すべてのクライアントがシーンをロードしたことを確認するのを待つ(プレイヤープロパティ)、__または__マスタークライアントがタイムアウトを通知
    3. Quantumシミュレーションの開始を通知する(ルームプロパティ)

ゲームが開始されると、シミュレーションとゲームプレイが直ちに開始され、追加のロードは不要になります。これにより、関与するすべてのプレイヤーに公正さが保たれます。

Quantumスタート後のロード

このオプションは前のものと似ていますが、1つの重要な違いがあります:ロビーのルールはQuantumシミュレーションによって制御され、強制されます。このルートを選ぶことで、すぐに決定論性の恩恵を受けることができ、特にプレマッチのルールを強制する必要がある場合に便利です。たとえば、MOBAのキャラクター選択ルールなどです。

手順:

  1. ルームに参加する(Realtime)
  2. シミュレーションを開始する(Quantum)
  3. ゲームプレイシーンをロードする(Unity)
  4. ゲームプレイシーンにはシミュレーションロジックによって制御されるロビーがあります
  5. プレイヤーは自分の選択をSendPlayerDataで送信できます
  6. クライアントが失敗した場合でも決定論性を維持するために、ロビーシステム(Quantum)によってタイムアウトが強制されます
  7. Quantumのロビーシステムを無効にし、ゲームプレイ関連のシステムを有効にします
Back to top