Unity Web ビルドの JavaScript インターフェース
Learn about some useful functions you can use in the JavaScript interface.
読み終わるまでの所要時間 6 分最終更新 1ヶ月前
Unity Web ビルドの JavaScript インターフェースは、ウェブアプリケーションの設定に使用できる便利な関数と変数を提供します。これらの関数は、JavaScript ライブラリコード (.jslib ファイル) で呼び出すことができます。
エラー、警告、カスタムバナーの表示
unityShowBanner()パラメーター | 説明 |
|---|---|
| 表示するメッセージ。 |
| 表示するメッセージのタイプ。 |
例:
|
デフォルトの 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 コンテキスト属性の変更
WebGL コンテキストを初期化する作成属性をカスタマイズするには、 を使用します。以下の属性のみ変更できます。
webglContextAttributespowerPreferencepremultipliedAlphapreserveDrawingBuffer
これらのオプションは、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()streamingAssetsUrlvar 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()UnityCachemust-revalidateimmutableno-storeコード例と詳細は、ウェブのキャッシュ動作 を参照してください。