Version: 2023.2
언어: 한국어
WebGL 캔버스 크기 설정
서버 설정 코드 샘플

Deploy WebGL application

To deploy a WebGL build, you must configure your server and make sure you’re using the correct response headers, so that the browser receives a proper response and processes it correctly.

Unity에는 서버 설정 방식에 영향을 미치는 다음의 두 가지 주요 설정이 있습니다.

  • Compression Format: Unity가 빌드 단계에서 파일을 압축하는 방식을 결정합니다.
  • Decompression Fallback: 브라우저에서 빌드가 실행될 때 Unity가 다운로드된 파일을 처리하는 방식을 결정합니다.

압축 포맷

WebGL 플레이어 설정 창(메뉴: Edit > Project Settings > Player에서 WebGL을 선택한 후 Publishing Settings 섹션 확장)에서 압축 타입을 선택하십시오.

WebGL Publishing 창 이미지
WebGL Publishing 창 이미지
압축 방식 설명
gzip 기본 옵션입니다. Gzip 파일은 Brotli 파일보다 크지만, 빌드 속도가 더 빠르고 모든 브라우저에서 HTTP와 HTTPS를 통해 모두 기본적으로 지원됩니다.
Brotli Brotli 압축은 최고의 압축 비율을 자랑합니다. Brotli 압축 파일은 gzip보다 작지만 압축하는 데 시간이 더 오래 걸리므로, 릴리스 빌드에서 반복 시간이 늘어납니다. Chrome 및 Firefox는 기본적으로 HTTPS를 통한 Brotli 압축만 지원합니다.
Disabled 압축을 비활성화합니다. 포스트 프로세싱 스크립트에서 자체 압축을 구현하려면 이 옵션을 사용하십시오. 호스팅 서버에서 정적 압축을 사용하려는 경우에도 이 옵션을 사용해야 합니다.

선택한 압축 방식의 브라우저 지원에 대한 자세한 내용은 WebGL 브라우저 호환성 문서를 참조하십시오.

웹 서버 설정

특정 빌드 설정에 맞도록 서버 설정을 조정해야 할 수 있습니다. 특히 호스팅된 파일을 압축하기 위한 다른 서버측 설정이 이미 있는 경우 문제가 발생할 수 있으며, 이로 인해 이 설정이 작동하지 않을 수 있습니다. 브라우저가 애플리케이션을 다운로드하는 동안 기본적으로 압축 풀기를 수행하도록 하려면 Content-Encoding header를 서버 리스폰스에 추가하십시오. 이 헤더는 Unity가 빌드 시점에 사용하는 압축 타입과 일치해야 합니다. 코드 샘플은 서버 설정 코드 샘플을 참조하십시오.

압축 풀기 폴백

압축 풀기 폴백 옵션을 사용하면 Unity가 JavaScript 압축 풀기 소프트웨어를 빌드에 자동으로 포함할 수 있습니다. 이 압축 풀기 소프트웨어는 선택한 압축 방식에 해당하며, 브라우저가 콘텐츠의 압축을 풀지 못할 경우 해당 작업을 대신 수행합니다.

Enable decompression fallback

Player Settings 창(메뉴: Edit > Project Settings > Player에서 WebGL을 선택한 후 Publishing Settings 섹션 확장)에서 압축 풀기 폴백을 활성화하십시오.

압축 풀기 폴백을 활성화하면 Unity는 빌드 파일에 .unityweb 확장자를 추가합니다. 서버 설정에 대한 경험이 별로 없거나 서버 설정을 사용할 수 없는 경우 Decompression Fallback을 사용하는 것을 고려해야 합니다.

Note: Enabling decompression fallback results in a large loader size and a less efficient loading scheme for the build files.

Disable decompression fallback

The Decompression Fallback option is disabled by default. Therefore, by default, build files include an extension that corresponds to the compression method you select.

선택할 수 있는 압축 방식은 gzip 또는 Brotli입니다. 자세한 내용은 압축 포맷 섹션을 참조하십시오.

To enable browsers to natively decompress Unity build files while they’re downloading, you need to configure your web server to serve the compressed files with the appropriate HTTP headers. This is called native browser decompression. It’s faster than the JavaScript decompression fallback, which can reduce your application’s startup time.

기본 브라우저 압축 풀기를 위한 설정 프로세스는 웹 서버에 따라 다릅니다. 코드 샘플은 서버 설정 코드 샘플을 참조하십시오.

Content-Encoding 헤더

Content-Encoding 헤더는 Unity가 압축 파일에 사용한 압축 타입을 브라우저에 알립니다. 이렇게 하면 브라우저가 기본적으로 파일의 압축을 풀 수 있습니다.

Content-Encoding 리스폰스 헤더를 플레이어 설정에서 선택한 압축 방식으로 설정하십시오.

압축 방식 파일 확장자 리스폰스 헤더
gzip .gz Content-Encoding: gzip
Brotli .br Content-Encoding: br

WebAssembly 스트리밍(높은 레벨의 헤더)

WebAssembly streaming allows the browser to compile the WebAssembly code while it’s still downloading the code. This significantly improves loading times.

WebAssembly 스트리밍 컴파일이 작동하려면 서버가 application/wasm MIME 타입의 WebAssembly 파일을 반환해야 합니다. WebAssembly 스트리밍을 사용하려면 Content-Type: application/wasm 리스폰스 헤더를 사용하여 WebAssembly 파일을 제공해야 합니다. Content-Type 헤더는 콘텐츠의 미디어 타입을 서버에 알립니다. WebAssembly 파일의 경우 이 값은 application/wasm으로 설정해야 합니다.

파일 확장자 리스폰스 헤더
.wasm, .wasm.gz, .wasm.br Content-Type: application/wasm

Note: WebAssembly streaming doesn’t work together with JavaScript decompression when the Decompression Fallback option is enabled. The downloaded WebAssembly file must first go through the JavaScript decompressor because the browser can’t stream it during download.

추가 헤더

If your file contains JavaScript, you should add the application/javascript Content-Type header. Some servers might include this automatically, while others don’t.

파일 확장자 리스폰스 헤더
.js, .js.gz, js.br Content-Type: application/javascript

  • 2020.1에서 서버 설정을 고려하도록 페이지 업데이트
  • 2019–09–04 2019.2에서 WebAssembly 스트리밍 추가됨
WebGL 캔버스 크기 설정
서버 설정 코드 샘플
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961