이 페이지에서는 WebGL 플랫폼 관련 Player 설정에 대해 자세하게 설명합니다. 일반 Player 설정에 대한 설명은 플레이어를 참조하십시오.
프로퍼티 관련 문서는 다음 섹션에서 확인하십시오.
참고: Icon 패널이 WebGL의 Player 창에 표시되더라도 WebGL 게임은 아이콘을 사용하지 않으므로 실제 패널에는 아이콘 설정이 없습니다. 또한 Splash Image 패널에는 일반적인 스플래시 화면 설정만 있습니다.
WebGL ** 퍼블리싱 설정에 대한 자세한 내용은 WebGL 빌드 및 실행 페이지를 참조하십시오.
이 섹션에서는 크기와 스타일을 커스터마이즈할 수 있습니다.
설정 | 기능 |
---|---|
Default Canvas Width | WebGL 캔버스 요소의 너비를 설정합니다. |
Default Canvas Height | WebGL 캔버스 요소의 너비를 설정합니다. |
Run In Background | 캔버스나 브라우저 창이 초점을 잃어도 콘텐츠가 계속해서 실행되게 하려면 이 옵션을 활성화합니다. |
WebGL 프로젝트에 사용할 템플릿을 선택합니다.
직접 템플릿을 지정하여 완성된 게임과 비슷한 환경에서 게임을 실행할 수 있습니다. WebGL 템플릿 사용하기의 지침을 따르십시오.
이 섹션에서는 다음 그룹으로 분류된 다양한 옵션을 커스터마이즈할 수 있습니다.
다음 설정을 사용하여 Unity가 WebGL 플랫폼용으로 게임을 렌더링하는 방법을 커스터마이즈합니다.
프로퍼티 | 기능 |
---|---|
Color Space |
Gamma 또는 Linear 중 렌더링에 사용할 색 공간을 선택합니다. 두 옵션의 차이점에 대한 설명은 리니어 렌더링 개요를 참조하십시오. |
Auto Graphics API | 그래픽스 API를 수동으로 선택하고 순서를 변경하려면 이 옵션을 비활성화합니다. 이 옵션은 기본으로 활성화되어 있으며, Unity는 WebGL2.0이 지원되지 않는 기기를 위한 폴백으로 WebGL2.0 외에도 WebGL1.0을 포함합니다. |
Static Batching | 정적 배칭을 사용하려면 이 옵션을 활성화합니다. |
Dynamic Batching | 빌드에서 동적 배칭을 사용(기본적으로 선택되어 있음)하려면 이 옵션을 활성화합니다. 참고: 스크립터블 렌더 파이프라인이 활성화된 경우 동적 배칭은 영향이 없습니다. 즉, 이 설정은 스크립터블 렌더 파이프라인 에셋 그래픽스에 설정된 사항이 없어야만 표시됩니다. |
Graphics Jobs (Experimental) | 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render 에 소요되는 시간을 줄이기 위해 사용합니다. </>참고: 이 기능은 실험 단계에 있습니다. 기능을 사용해도 프로젝트의 성능이 개선되지 않을 수 있으며, 새로운 크래시가 발생할 수 있습니다. Unity는 현재 Vulkan을 사용하는 경우에만 그래픽스 잡을 지원하며, 이 설정은 OpenGL ES를 사용하는 경우 영향이 없습니다. |
Lightmap Streaming Enabled | 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드하려면 활성화합니다. 참고: 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다. |
Streaming Priority | 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정합니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다. 양수의 순위가 우선시됩니다. 유효한 값의 범위는 –128부터 127까지입니다. |
설정 | 기능 | |
---|---|---|
Scripting Runtime Version | 프로젝트에 사용할 .NET 구현을 선택합니다. 자세한 내용은 Microsoft의 .NET 문서를 참조하십시오. | |
.NET 3.5 Equivalent(지원 중단 예정) | .NET 3.5 API를 구현하는 .NET 런타임입니다. 이 기능은 지원이 중단되어 더 이상 사용할 수 없습니다. .NET 4를 사용하십시오. | |
.NET 4.x Equivalent | .NET 4 API를 구현하는 .NET 런타임입니다. 이 API는 .NET 3.5보다 최신 버전이기 때문에 더 많은 API에 액세스할 수 있고, 더 많은 외부 라이브러리와 호환되며, C# 6를 지원합니다. 기본 스크립팅 런타임으로 사용됩니다. | |
Scripting Backend | WebGL은 항상 IL2CPP 스크립팅 백엔드를 사용하므로, 이 옵션은 WebGL에는 사용할 수 없습니다 | |
API Compatibility Level | 프로젝트에서 사용할 수 있는 .NET API를 선택합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다. 팁: 타사 어셈블리 관련 문제가 발생하는 경우, 아래 API 호환성 레벨 섹션의 권장 사항을 시도해 보십시오. |
|
.Net 2.0 | 최대 .net 호환성으로 최대 파일 크기입니다. 지원 중단 예정인 .NET 3.5 런타임의 일부입니다. | |
.Net 2.0 Subset | 전체 .net 호환성의 부분 집합으로, 파일 크기는 더 작습니다. 지원 중단 예정인 .NET 3.5 런타임의 일부입니다. | |
.Net Standard 2.0 | .NET Standard 2.0과 호환됩니다. 크기가 더 작은 빌드를 생성하며 크로스 플랫폼이 100% 지원됩니다. | |
.Net 4.x | .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 이용하는 경우 이 옵션을 선택합니다. 이 옵션은 .NET Standard 2.0 프로파일과 추가 API의 모든 사항을 포함하는 .NET Framework 4와 호환됩니다. 크기가 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 사용하지 못할 수 있습니다. 자세한 내용은 [추가 클래스 라이브러리 어셈블리 레퍼런싱(dotnetProfileAssemblies)을 참조하십시오. |
|
Disable HW Statistics | 애플리케이션에서 Unity에 하드웨어 정보를 전송하지 않도록 명령하려는 경우 이 옵션을 활성화합니다. Unity Android 애플리케이션은 기본적으로 익명의 HW 통계를 Unity에 전송합니다. 이러한 과정을 통해 취합된 정보는 향후 개발자의 의사 결정에 활용됩니다. | |
Scripting Define Symbols | 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼 의존 컴파일을 참조하십시오. | |
Allow ‘unsafe’ Code | 사전 정의된 어셈블리(예: Assembly-CSharp.dll )에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다. 어셈블리 정의 파일( .asmdef )의 경우 .asmdef 파일 중 하나를 클릭한 후 표시되는 인스펙터 창에서 이 옵션을 활성화하십시오. |
|
액티브 입력 핸들링(Active Input Handling) | 사용자의 입력을 처리하는 방식을 선택합니다. | |
Input Manager | 기존 Input 창을 사용합니다. | |
Input System (Preview) | 새로운 입력 시스템을 사용해보십시오. 입력 시스템은 현재 개발 단계에 있습니다. 입력 시스템의 초기 프리뷰를 사용하려면 InputSystem 패키지를 설치해야 합니다. 이 패키지를 설치하지 않고 Input System (Preview) 옵션을 선택하면 추가 프로세싱 외에 아무 일도 일어나지 않습니다. | |
Both | 두 시스템 모두를 나란히 사용합니다. |
모든 타겟에 모노 API 호환성 레벨을 선택할 수 있습니다. 간혹 타사 .NET 라이브러리에는 .NET 호환성 레벨을 벗어난 기능이 사용됩니다. 이런 경우 발생하는 상황과 최선의 해결책을 알아보려면 다음 권장 사항을 따르십시오.
Frameworks/Mono/lib/mono/YOURSUBSET/
에 있습니다.설정 | 기능 | |
---|---|---|
Prebake Collision Meshes | 빌드 시간에 충돌 데이터를 메시에 추가하려면 이 옵션을 활성화합니다. | |
Keep Loaded Shaders Alive | 셰이더가 언로드되지 않도록 방지하려면 이 옵션을 활성화합니다. | |
Preloaded Assets | 시동 시 플레이어가 로드할 에셋의 배열을 설정합니다. 새 에셋을 추가하려면 Size 프로퍼티의 값을 늘린 다음 새로 표시되는 Element 상자에 로드할 에셋에 대한 레퍼런스를 설정합니다. |
|
Strip Engine Code | 코드 스트리핑을 활성화합니다. 이 설정은 IL2CPP 스크립팅 백엔드에서만 사용 가능합니다. 대부분의 게임에는 필수 DLL이 모두 사용되지 않습니다. Strip Engine Code 옵션을 활성화하면 사용되지 않은 부분을 제거하여 iOS 기기에서 빌드된 플레이어의 크기를 줄일 수 있습니다. 현재 선택된 옵션을 통해 일반적으로 제거되는 클래스를 게임에서 사용 중인 경우, 빌드를 만들 때 디버그 메시지가 표시됩니다. |
|
Managed Stripping Level | Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다. Unity가 게임이나 애플리케이션을 빌드하는 동안 Unity Linker 프로세스는 프로젝트에서 사용되는 동적으로 연결된 관리 라이브러리에서 사용되지 않는 코드를 스트리핑할 수 있습니다. 코드 스트리핑을 통해 생성된 실행 파일의 크기를 대폭 줄일 수 있지만, 간혹 실수로 사용되는 코드를 제거하게 될 수 있습니다. |
|
Normal | 도달할 수 없는 관리되는 코드를 제거하여 빌드 크기를 줄이고 .NET/IL2CPP 빌드 시간을 단축합니다. | |
Aggressive | 노멀 옵션보다 더욱 적극적으로 코드를 제거합니다. 코드 크기가 더욱 감소하나, 이러한 추가 감소로 인해 일부 메서드가 디버거에 표시되지 않으며 반사를 통해 액세스한 코드가 스트리핑되는 등 부작용이 초래될 수 있습니다. 커스텀 link.xml 파일을 만들면 일부 클래스와 메서드를 유지할 수 있습니다. 자세한 내용은 IL2CPP로 관리 바이트코드 스트리핑을 참조하십시오. |
|
Vertex Compression | 압축할 버텍스 채널을 선택합니다. 예를 들어 포지션과 라이트맵 UV를 제외한 모든 것에 압축을 사용하도록 선택할 수 있습니다. 압축하면 메모리와 대역폭을 절약할 수 있지만 정밀도가 감소합니다. 임포트된 오브젝트별로 설정한 전체 메시 압축은 버텍스 압축이 설정된 오브젝트에서 버텍스 압축을 오버라이드하지만, 나머지는 모두 여기서 설정한 버텍스 압축 설정을 따릅니다. |
|
Optimize Mesh Data | 적용된 머티리얼에 필요 없는 데이터(예: 탄젠트, 노멀, 컬러, UV)를 메시에서 제거하려면 이 옵션을 활성화합니다. |
특정 컨텍스트에서 허용할 로깅 유형을 선택합니다.
스크립트 실행 시(ScriptOnly) 발생하는 각 로그 유형에 상응하는 상자를 선택하고(Error, Assert, Warning, Log, Exception), 언제나 로깅(Full) 또는 로깅하지 않음(None) 중 하나를 선택합니다.
SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 Clamp BlendShapes (Deprecated) 옵션을 활성화합니다.
설정 | 기능 |
---|---|
메모리 크기(Memory Size) | WebGL 런타임이 사용할 수 있는 메모리를 메가바이트 단위로 설정합니다. 이에 대한 값을 주의해서 선택해야 합니다. 값이 너무 낮으면 사용 가능한 메모리에 맞지 않는 콘텐츠와 씬을 로드해서 메모리 부족 오류가 발생합니다. 그러나 메모리가 너무 많으면 브라우저/플랫폼 결합이 적절한 메모리를 제공할 수 없어서 플레이어 로드에 실패할 수 있습니다. 자세한 내용은 WebGL의 메모리를 참조하십시오. |
Enable Exceptions | 런타임 시점에서 예상치 못한 코드 동작(대개 오류로 간주됨)을 처리하는 방식을 선택합니다. 지원되는 옵션은 None, Explicitly Thrown Exceptions Only, Full Without Stacktrace 및 Full With Stacktrace 입니다. 자세한 내용은 WebGL 프로젝트 빌드 및 실행 페이지를 참조하십시오. |
Compression Format | 릴리스 빌드 파일에 사용할 압축 포맷을 선택합니다. 지원되는 옵션은 Gzip, Brotli_ 또는 Disabled (none)입니다. 이 옵션은 개발용 빌드에 영향을 주지 않습니다. |
Name Files As Hashes | 압축되지 않은 파일 콘텐츠의 MD5 해시를 빌드 내 각 파일의 파일 이름으로 사용하려면 이 옵션을 활성화합니다. |
Data caching | 자동으로 콘텐츠 에셋 데이터를 사용자 컴퓨터에 캐시해서 그 다음 실행 시 콘텐츠가 바뀌지 않는 한 다시 다운로드할 필요가 없도록 하려면 이 옵션을 활성화합니다. 캐싱은 브라우저가 제공하는 IndexedDB API를 사용해서 구현됩니다. 어떤 브라우저는 특정 크기 데이터에 대한 캐시 허가를 사용자에게 물어보는 방식으로 이에 대한 제한을 둘 수 있습니다. |
Debug Symbols | 오류가 발생할 때 디버그 심볼을 보존하고 스택 추적을 디맹글링하려면 이 옵션을 활성화합니다. 릴리스 빌드의 경우 모든 디버그 정보는 오류가 발생할 때 필요에 따라 서버에서 다운로드되는 별도의 파일에 저장됩니다. 개발 빌드의 경우 메인 모듈에 항상 디맹글링 지원이 내장되어 있으므로 이 옵션의 영향을 받지 않습니다. |
Linker Target | 생성할 빌드 유형을 선택합니다. 지원되는 옵션은 asm.js, WebAssembly 또는 Both 입니다. asm.js 는 여러 브라우저에서 널리 지원되고, WebAssembly 는 새롭고 효율적인 웹용 포맷입니다. Both 를 선택하면 Unity는 WebAssembly와 asm.js 포맷을 모두 생성합니다. 그러면 브라우저에서 지원되는 경우 런타임 시점에 WebAssembly가 사용됩니다. 그러지 않으면 asm.js 포맷으로 폴백합니다. |