This document is about: QUANTUM 2
SWITCH TO

WebGL

QuantumはWebGLなどの複数のプラットフォームをサポートしています。WebGLで作業する際には、ディベロッパーは固有の課題に留意する必要があります。このページでは、考慮が必要な事項について全般的なリストを記載します。

Unityバージョン

WebGLで最適なパフォーマンスを得るには、Unityバージョン 2021.2.8f1 以降の使用を推奨します。それ以前のUnityバージョンでは、WebGLでの実行時にパフォーマンスが低下する可能性があります。WebGLでビルドする際の最低許容バージョンは 2018.4.30f1 です。

Quantum WebGLは、Quantumバージョン2.1 Build 967からサポートされています。

WebGLパフォーマンス

WebGLは独自の環境のため、一定の制約があります。一般的に、他のプラットフォームと比較して性能の低下が予想されます。したがって最適なパフォーマンスを確保するには、エディター内だけでなくWebGLビルドでアプリケーションのパフォーマンスをテストすることが極めて重要です。

プレイヤー設定でrunInBackgroundオプションを無効にすると、プレイヤーが他のタブに切り替えたときにアプリケーションの実行が停止します。タブが長時間アクティブでない場合にクライアントは切断され、そのタブにフォーカスが戻ると接続を再確立する必要があります。

WebGLのパフォーマンスは低いため、QuantumコードプロジェクトをReleaseモードでビルドしUnityをIL2CPPに設定することを推奨します。量子コードプロジェクトのデバッグビルドは、WebGLでは極めて遅くなる可能性があります。

Unity WebGLビルドはマルチスレッドに対応していません。シミュレーションは自動的にWebGLのメインスレッドに制限され、SimulationConfigThreadCountの設定は無視されます。

スタックのトレース

リリースビルドでのWebGLのパフォーマンスを向上するには、Unityでのスタックトレースを無効にします。edit > project settings > Player > Other Settingsへと進み、Stack Trace*にスクロールダウンします。WarningLogのスタックトレースをNoneに設定します。

stack trace setting in unity

WebSocket

ブラウザは直接UDP接続を確立できないため、代わりにTCP上のWebSocketが利用されます。しかし、TCPの信頼性の高い連続した転送プロトコルは、ネットワーク接続が不十分なプレイヤーにとってゲームプレイに悪影響を及ぼす可能性があります。最高のプレイヤー体験を提供するために、ゲームをダウンロードで提供することも推奨します。

アプリケーションがWebSocketに切り替わっているという警告がブラウザに出ることがありますが、これは無視して問題ありません。

ショーケース

その他のWebGLデモは以下のItch.ioページを参照ください!

Back to top