Unity Web 빌드의 JavaScript 인터페이스
Learn about some useful functions you can use in the JavaScript interface.
읽는 시간 2분최근 업데이트: 한 달 전
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 파일에서 함수를 호출할 수 있습니다. 다음 배너는 오류 메시지로 표시하려는 메시지를 영구적으로 표시합니다.
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코드 예시와 자세한 내용은 웹의 캐시 동작을 참고하십시오.