Unity Web ビルドの JavaScript インターフェースは、ウェブアプリケーションの設定に使用できる便利な関数と変数を提供します。これらの関数は、JavaScript ライブラリコード (.jslib ファイル) で呼び出すことができます。
unityShowBanner() 関数を使用してメッセージバナーを表示するか、関数をオーバーライドして独自の目的でカスタマイズします。
| パラメーター | 説明 |
|---|---|
msg |
表示するメッセージ。 |
type |
表示するメッセージのタイプ。 |
例:
|
デフォルトの WebGL テンプレートの以下のコードは、エラーバナーと警告バナーの外観を設定します。カスタムテンプレートでは、この関数をオーバーライドして独自のバナータイプを作成したり、重要でない警告やエラーメッセージの表示方法をカスタマイズしたりできます。
function unityShowBanner(msg, type) {
var warningBanner = document.querySelector("#unity-warning");
function updateBannerVisibility() {
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
}
var div = document.createElement('div');
div.innerHTML = msg;
warningBanner.appendChild(div);
if (type == 'error') div.style = 'background: red; padding: 10px;';
else {
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
setTimeout(function() {
warningBanner.removeChild(div);
updateBannerVisibility();
}, 5000);
}
updateBannerVisibility();
}
この関数は .jslib ファイルで呼び出すことができます。以下のバナーは、エラーメッセージとして The message you want to show を永久に表示します。
unityShowBanner('The message you want to show', 'error');
WebGL コンテキストを初期化する作成属性をカスタマイズするには、webglContextAttributes を使用します。以下の属性のみ変更できます。
powerPreferencepremultipliedAlphapreserveDrawingBufferこれらのオプションは、WebGL レンダリング API を使用する場合にのみ適用できます。WebGPU レンダリング API を使用する場合、webglContextAttributes フィールドは無視されます。
これらの属性を変更するには、カスタム WebGL テンプレートの設定オブジェクトを変更します。 例:
script.onload = () => {
config['webglContextAttributes'] = {
powerPreference: 'high-performance',
premultipliedAlpha: false,
preserveDrawingBuffer: true,
};
createUnityInstance(canvas, config, (progress) => {
powerPreference 属性には以下のオプションがあります。
| オプション | 説明 |
|---|---|
| default | ユーザーエージェントにどの GPU 設定が最適かを判断させます。これはデフォルトの設定です。 |
| high-performance | 消費電力よりもレンダリングパフォーマンスを優先します。 |
| low-power | レンダリングパフォーマンスよりも省電力を優先します。 |
各属性の詳細については、HTMLCanvasElement: getContext() に関する Mozilla のドキュメントを参照してください。
Unity WebGL グラフィックスについては、WebGL グラフィックス を参照してください。
ストリーミングアセットを別の CDN でホストする必要がある場合は、ストリーミングアセットがある完全な URL を指すように createUnityInstance() 設定オブジェクトの streamingAssetsUrl プロパティを調整できます。
var buildUrl = "Build";
var config = {
dataUrl: buildUrl + "/{{{ DATA_FILENAME }}}",
frameworkUrl: buildUrl + "/{{{ FRAMEWORK_FILENAME }}}",
codeUrl: buildUrl + "/{{{ CODE_FILENAME }}}",
#if MEMORY_FILENAME
memoryUrl: buildUrl + "/{{{ MEMORY_FILENAME }}}",
#endif
#if SYMBOLS_FILENAME
symbolsUrl: buildUrl + "/{{{ SYMBOLS_FILENAME }}}",
#endif
streamingAssetsUrl: "https://mygameserver.com/StreamingAssets/", // Add this line to override the default streaming assets location
companyName: "{{{ COMPANY_NAME }}}",
productName: "{{{ PRODUCT_NAME }}}",
productVersion: "{{{ PRODUCT_VERSION }}}",
};
cacheControl() 関数を使用して、UnityCache にキャッシュする URL を制御します。この関数は URL をパラメーターとして受け取り、must-revalidate、immutable、または no-store のいずれかを返します。独自の目的でこの関数をオーバーライドすることもできます。
コード例と詳細は、ウェブのキャッシュ動作 を参照してください。