ドキュメント

Unity Engine

Unity Engine

Unity Web ビルドの JavaScript インターフェース

Learn about some useful functions you can use in the JavaScript interface.
読み終わるまでの所要時間 6 分最終更新 1ヶ月前

Unity Web ビルドの JavaScript インターフェースは、ウェブアプリケーションの設定に使用できる便利な関数と変数を提供します。これらの関数は、JavaScript ライブラリコード (.jslib ファイル) で呼び出すことができます。

エラー、警告、カスタムバナーの表示

unityShowBanner()
関数を使用してメッセージバナーを表示するか、関数をオーバーライドして独自の目的でカスタマイズします。

パラメーター

説明

msg
表示するメッセージ。
type
表示するメッセージのタイプ。
例:
  • type == error
    を使用して、キャンバスの上に永久のエラーメッセージを表示します。
  • type == warning
    を使用して、メッセージ上に黄色のハイライト色を表示します。
デフォルトの 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 コンテキストを初期化する作成属性をカスタマイズするには、
webglContextAttributes
を使用します。以下の属性のみ変更できます。
  • powerPreference
  • premultipliedAlpha
  • preserveDrawingBuffer
これらのオプションは、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
のいずれかを返します。独自の目的でこの関数をオーバーライドすることもできます。
コード例と詳細は、ウェブのキャッシュ動作 を参照してください。

追加リソース