Version: Unity 6.0 (6000.0)
언어 : 한국어
Set up your environment for Embedded Linux
임베디드 Linux용 개발

임베디드 Linux 플레이어 설정

임베디드 Linux 플레이어 설정을 사용해 Unity가 최종 애플리케이션을 빌드하고 표시하는 방법을 커스터마이즈할 수 있습니다. 임베디드 Linux의 Player 설정 창에 액세스하려면 Edit > Project Settings > Player로 이동해 Embedded Linux 탭을 선택하면 됩니다. PlayerSettings API를 사용하여 이 창에서 사용할 수 있는 대부분의 설정을 제어할 수 있습니다. 일반적인 Player 설정에 대한 자세한 내용은 플레이어 설정을 참조하십시오.

일반 설정

Player 설정은 설치한 플랫폼 모듈마다 다릅니다. 각 플랫폼에는 빌드할 각 애플리케이션 버전에 대해 반드시 설정해야 하는 자체 Player 설정이 있습니다. 설정을 탐색하려면 해당 플랫폼 운영체제 아이콘이 있는 탭을 클릭합니다.

임베디드 Linux용 메인 Player 설정 창
임베디드 Linux용 메인 Player 설정 창

프로퍼티 관련 기술 자료는 다음 섹션에서 확인하십시오.

아이콘

게임에 커스텀 아이콘을 할당하려면 Override for Embedded Linux 설정을 활성화합니다.

해상도 및 프레젠테이션

Resolution and Presentation 섹션에서는 Resolution 섹션에 화면이 표시되는 모습을 커스터마이즈할 수 있습니다.

해상도 섹션

이 섹션에서는 스크린 모드와 기본 크기를 커스터마이즈할 수 있습니다.

프로퍼티 설명
Fullscreen Mode 전체 화면 모드를 선택합니다. 이 옵션은 시작 시 기본 창 모드를 정의합니다. 시작 시 기본 창 모드를 설정합니다.
Fullscreen Window 애플리케이션 창이 기기의 전체 화면 기본 해상도로 채워집니다. 전체 화면 창을 채우기 위해 Unity는 애플리케이션 콘텐츠의 크기를 조절합니다. Unity는 출력 기기의 종횡비에 맞춰서 렌더링된 출력에 검은색 막대를 추가하여 콘텐츠가 늘어나지 않게 할 수 있습니다. 이 프로세스를 레터박싱이라고 합니다. 이 모드에서는 내비게이션 바가 항상 숨겨져 있습니다.
Windowed 애플리케이션이 전체 화면이 아닌 이동 가능한 표준 창을 사용합니다. 창의 크기는 애플리케이션의 해상도에 따라 다릅니다. 이 모드에서는 기본적으로 창 크기를 조정할 수 있습니다. 비활성화하려면 Resizable Window를 비활성화합니다.
Default is Native Resolution 타겟 기기에 사용되는 디폴트 해상도를 게임에 사용하려면 이 옵션을 활성화합니다. 이 옵션은 Fullscreen ModeWindowed로 설정된 경우 사용할 수 없습니다.
Use 32-bit Display Buffer 임베디드 Linux는 32비트 컬러 버퍼만 지원합니다.
Disable Depth and Stencil 이 기능은 아직 임베디드 Linux에서 지원되지 않습니다.
Render Over Native__ UI__(사용자 인터페이스) 사용자가 애플리케이션과 상호 작용하도록 해 줍니다. Unity는 현재 3개의 UI 시스템을 지원합니다. 자세한 정보
See in Glossary
앱이 네이티브 iOS 또는 Android UI 위에 렌더링하도록 강제 지정할 때만 이 옵션을 활성화합니다. 이 설정을 적용하려면 카메라의 Clear Flags를 알파 값이 1보다 작은 단색으로 설정합니다.

스플래시 이미지

가상 현실 디스플레이에 표시될 커스텀 스플래시 이미지를 선택하려면 Virtual Reality Splash Image 설정을 사용하십시오. 일반적인 스플래시 이미지 설정에 대한 자세한 내용은 Splash Image Player 설정을 참조하십시오.

기타 설정

이 섹션에서는 다음 그룹으로 분류된 다양한 옵션을 커스터마이즈할 수 있습니다.

렌더링

다음 설정을 사용하여 Unity가 임베디드 Linux 플랫폼용으로 게임을 렌더링하는 방법을 커스터마이즈합니다.

임베디드 Linux용 렌더링 설정
임베디드 Linux용 렌더링 설정
프로퍼티 설명
Color Space Unity가 렌더링에 사용하는 색 공간을 선택합니다. (감마 또는 리니어)을 선택합니다. 둘의 차이점에 대한 설명은 리니어 렌더링 개요에서 확인하십시오.
감마 감마 색 공간은 일반적으로 프레임버퍼 포맷에 대해 채널당 8비트로 제한된 구형 하드웨어에서 조명을 계산하는 데 사용됩니다. 현재 모니터는 디지털이지만 여전히 감마로 인코딩된 신호를 입력으로 받습니다.
리니어 리니어 색 공간 렌더링은 더 정확한 결과를 제공합니다. 리니어 색 공간을 사용하도록 선택하면 에디터는 기본적으로 sRGB 샘플링을 사용합니다. 텍스처가 리니어 색 공간에 있는 경우 리니어 색 공간으로 작업하고 각 텍스처에 대해 sRGB 샘플링을 비활성화해야 합니다.
Force SRGB__ blit__‘bit block transfer’의 약어입니다. blit 동작은 데이터 블록을 메모리의 한 곳에서 다른 곳으로 전송하는 과정입니다.
See in Glossary
선형 색 공간에 대해 Force SRGB blit을 사용하려면 이 옵션을 활성화합니다. 그래픽스 드라이버가 리니어 색 공간을 지원하지 않는 경우, 이 옵션을 선택하면 리니어 색 공간 감마(SRGB) 색 공간이 전환됩니다.
Auto Graphics API 이 옵션을 활성화하면 애플리케이션이 실행되는 장치에서 최상의 그래픽 API를 사용할 수 있습니다. 지원되는 그래픽스 API를 추가하고 제거하려면 이를 비활성화하십시오.
Multithreaded Rendering 멀티스레드 렌더링을 사용하려면 이 옵션을 활성화합니다.
Static Batching 정적 배칭을 사용하려면 이 옵션을 활성화합니다.
Static Batching Threshold 배칭 시 사용되는 최대 버텍스 임계값을 제어합니다. 자세한 내용은 스프라이트 배치 버텍스 임곗값을 참고하십시오.
GPU Compute Skinning 이 옵션을 선택하면 DX11/ES3 GPU 컴퓨트 스키닝을 활성화하여 추가 CPU 리소스를 확보합니다.
Graphics Jobs 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render에 소요되는 시간을 줄이기 위해 사용합니다.
Texture compression format 프로젝트의 텍스처에 사용할 텍스처 압축 포맷을 선택합니다. 옵션으로는 ETC, ETC2, ASTC, DXT, PVRTC가 있습니다. 각 압축 포맷에 대한 상세 내용은 TextureImporterOverride를 참조하십시오.
Normal Map Encoding 라이트맵 인코딩을 Normal Quality 또는 High Quality로 선택해 설정합니다. 이 설정은 라이트맵의 인코딩 방식과 압축 포맷에 영향을 줍니다.
Lightmap Streaming 이 옵션을 활성화하면 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드할 수 있습니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다. 참고: 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다.
Streaming Priority 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정합니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다. 양수의 우선순위가 높습니다. 유효한 값의 범위는 –128부터 127까지입니다.
Frame Timing Stats CPU/GPU 프레임 타이밍 통계를 수집하려면 이 옵션을 활성화합니다.
OpenGL: Profiler GPU Recorders OpenGL로 렌더링할 때 프로파일러 레코더를 활성화합니다.
Virtual Texturing (Experimental) 가상 텍스처링을 활성화할지를 나타냅니다. 참고: 이 설정이 적용되려면 Unity 에디터를 다시 시작해야 합니다.
Load/Store Action Debug Mode 모바일 플랫폼에서 렌더링 문제를 일으킬 수 있는 정의되지 않은 픽셀을 하이라이트합니다. Build Settings에서 Development Build를 선택한 경우 Unity 에디터 게임 뷰와 빌드된 애플리케이션에 영향을 미칩니다. 자세한 내용은 LoadStoreActionDebugModeSettings를 참조하십시오.
360 Stereo Capture Unity가 스테레오 360 이미지 및 동영상을 캡처할 수 있는지 지정합니다. 활성화하면 Unity가 추가 셰이더 배리언트를 컴파일하여 360 캡처를 지원합니다(현재는 Windows/macOS에만 해당). 활성화하면 Stereo RenderCubemap 호출 중에 enable_360_capture 키워드가 추가됩니다. 이 키워드는 Stereo RenderCubemap 함수 외부에서 트리거되지 않습니다. 자세한 내용은 스테레오 360 이미지 및 비디오 캡처를 참조하십시오.

Vulkan 설정

임베디드 Linux용 Vulkan 플레이어 설정입니다.
임베디드 Linux용 Vulkan 플레이어 설정입니다.
프로퍼티 설명
SRGB Write Mode 런타임 동안 Graphics.SetSRGBWrite() 렌더러가 sRGB 쓰기 모드를 토글할 수 있도록 하려면 이 옵션을 활성화하십시오. 즉 Linear-to-sRGB 쓰기 색상 전환을 일시적으로 끄고자 할 경우 이 프로퍼티를 사용하면 됩니다. 이 프로퍼티를 활성화하면 모바일 타일 기반 GPU의 성능에 부정적인 영향을 주므로 모바일에서는 활성화하면 안 됩니다.
Number of swapchain buffers Vulkan 렌더러에서 이중 버퍼링을 사용하려면 이 옵션을 2로 설정하고, 삼중 버퍼링을 사용하려면 3으로 설정합니다. 이 설정은 일부 플랫폼의 지연에 도움이 될 수는 있지만 대부분의 경우 기본값인 3에서 변경해서는 안 됩니다. 이중 버퍼링은 성능에 부정적인 영향을 미칠 수 있습니다. Android에서는 이 설정을 사용하지 마십시오.
Acquire swapchain image late as possible 활성화된 경우 Vulkan은 프레임을 오프스크린 이미지로 렌더링할 때까지 백버퍼 획득을 지연합니다. Vulkan은 이를 위해 스테이징 이미지를 사용합니다. 이 설정을 활성화하면 백버퍼를 표시할 때 추가 blit이 발생합니다. 이 설정은 이중 버퍼링과 조합하여 사용하면 성능을 향상시킬 수 있습니다. 하지만 추가 blit이 대역폭을 차지하기 때문에 성능 문제가 발생할 수도 있습니다.
Recycle command buffers Unity가 실행한 후에 재활용할지 혹은 해제할지 여부를 나타냅니다.

설정

이 섹션을 사용하여 임베디드 Linux 플랫폼의 구성 설정을 지정합니다.

임베디드 Linux의 구성 설정
임베디드 Linux의 구성 설정
프로퍼티 설명
Scripting Backend 스크립팅 백엔드는 Unity가 애플리케이션의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다. 임베디드 Linux의 기본 스크립팅 백엔드는 IL2CPP입니다.
API Compatibility Level 프로젝트에 사용할 수 있는 .NET API를 선택합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 미칠 수 있습니다.
.Net Standard 2.0 .NET Standard 2.0과 호환됩니다. 작은 빌드를 생성하고 크로스 플랫폼을 완벽하게 지원합니다.
.Net Framework 4.x .NET Framework 4와 호환됩니다(.NET Standard 2.0프로파일의 모든 사항과 추가 API 포함). .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 사용하는 경우 이 옵션을 선택합니다. 크기가 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 사용하지 못할 수 있습니다. 자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스를 참조하십시오.
C++ Compiler Configuration IL2CPP 생성 코드를 컴파일할 때 사용한 C++ 컴파일러 설정을 선택합니다.
Use incremental GC 점진적 가비지 컬렉터를 사용려면 이 옵션을 활성화합니다. 점진적 가비지 컬렉터는 가비지 컬렉션을 여러 프레임에 분산하여 프레임 기간 동안 GC 관련 스파이크를 줄입니다.
Assembly Version Validation 이 설정은 런타임에 적용되지 않는 에디터 설정입니다.
Player Data path .config 및 로그 파일을 저장할 시스템의 디렉토리 경로를 입력합니다. -platform-hmi-player-data-path <pathname> 인자를 추가하여 플레이어의 커맨드 라인에서도 이를 변경할 수 있습니다.
Enable Game Controllers 이 설정을 선택하면 게임 컨트롤러가 활성화됩니다. 게임 컨트롤러가 필요하지 않은 경우 이를 비활성화하여 플레이어 시작 시간을 단축할 수 있습니다.
CPU Configuration 플레이어 런타임의 타겟 CPU 설정을 지정합니다. 기본 코어 개수는 0이지만 숫자를 입력하여 늘릴 수 있습니다. 각 CPU의 옵션은 Disabled, High Performance, Low Performance입니다.
Loading image 이 설정을 사용하여 로딩 화면의 커스텀 스플래시 이미지를 선택할 수 있습니다.
Active Input Handling 사용자의 입력을 처리하는 방식을 선택합니다.
Input Manager (기존) 기본 입력 창을 사용합니다.
Input System (프리뷰) 최신 Input System을 사용합니다. Input System은 이 릴리스의 프리뷰 패키지로 제공됩니다. Input System의 평가판을 사용해 보려면 InputSystem 패키지를 설치하십시오.
Both 두 시스템 모두를 나란히 사용합니다.

셰이더 설정 및 셰이더 배리언트 로딩 설정

이 설정을 사용하여 런타임에 셰이더가 사용하는 메모리 양을 제어할 수 있습니다.

임베디드 Linux용 셰이더 설정
임베디드 Linux용 셰이더 설정
프로퍼티 설명
Shader precision model 셰이더에 사용되는 샘플러의 기본 정밀도를 선택합니다. 자세한 내용은 HLSL 데이터 유형을 참조하십시오.
Strict shader variant matching 셰이더 배리언트가 누락된 경우 오류 셰이더를 사용하여 콘솔에 오류를 표시합니다.
Keep Loaded Shaders Alive 활성화하면 셰이더를 언로드할 수 없습니다. 자세한 내용은 셰이더 로딩을 참조하십시오.
Default chunk size (MB) 모든 플랫폼에 Unity가 빌드된 애플리케이션에 저장하는 압축된 셰이더 배리언트 데이터 청크의 최대 크기를 설정합니다. 기본값은 16입니다. 자세한 내용은 셰이더 로딩을 참조하십시오.
Default chunk count Unity가 모든 플랫폼에서 메모리에 보관하는 압축 해제된 청크의 기본 제한을 설정합니다. 기본값은 0이며 이는 제한이 없음을 의미합니다.
Override 활성화하면 이 빌드 타겟에 대해 Default chunk size 및 Default chunk count를 오버라이드할 수 있습니다.

스크립트 컴파일

임베디드 Linux의 스크립트 컴파일 설정
임베디드 Linux의 스크립트 컴파일 설정
프로퍼티 설명
Scripting Define Symbols 커스텀 컴파일 플래그를 설정합니다.

자세한 내용은 플랫폼별 컴파일을 참조하십시오.
Additional Compiler Arguments 이 리스트에 엔트리를 추가하여 Roslyn 컴파일러에 추가 인자를 전달합니다. 각 추가 인수에 하나의 새 엔트리를 사용합니다.
새 항목을 만들려면 Add(+)를 클릭합니다. 항목을 제거하려면 Remove(-)를 클릭합니다.

원하는 인자를 모두 추가한 후, 추가 인자를 향후 컴파일에 포함하려면 Apply를 클릭합니다. 이 리스트를 가장 최근에 적용된 상태로 초기화하려면 Revert를 클릭합니다.
Suppress Common Warnings C# 경고 CS0169CS0649를 표시할지 여부를 나타냅니다.
Allow ‘unsafe’ Code 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다.
어셈블리 정의 파일(.asmdef)의 경우 .asmdef 파일 중 하나를 클릭하고 인스펙터 창에 표시되는 옵션을 활성화합니다.
Use Deterministic Compilation -deterministic C# 플래그로 컴파일을 방지할지 여부를 나타냅니다. 이 설정을 활성화하면 컴파일된 어셈블리는 컴파일될 때마다 바이트단위로 동일합니다.

자세한 내용은 코드 생성을 제어하는 C# 컴파일러 옵션을 참조하십시오.

최적화

프로퍼티 설명
Prebake Collision Meshes 빌드 시 충돌 데이터를 메시에 추가합니다.
Preloaded Assets 시작 시 플레이어가 로드할 에셋의 배열을 설정합니다.
새 에셋을 추가하려면 Size 프로퍼티의 값을 늘린 다음, 새로 표시되는 Element 상자에 로드할 에셋에 대한 레퍼런스를 설정합니다.
Managed Stripping Level Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다. Unity가 앱을 빌드할 때 Unity Linker 프로세스는 프로젝트에서 사용하는 관리되는 DLL에서 사용되지 않는 코드를 스트리핑할 수 있습니다. 코드를 스트리핑하면 결과 실행 파일이 작아지지만, 사용 중인 코드를 제거할 수도 있습니다.

이러한 옵션과 IL2CPP를 사용한 바이트코드 스트리핑에 대한 자세한 내용은 ManagedStrippingLevel을 참조하십시오.
Minimal 이를 사용해 클래스 라이브러리, UnityEngine, Windows Runtime 어셈블리를 스트리핑하고 다른 모든 어셈블리를 복사할 수 있습니다.
낮음 도달할 수 없는 관리되는 코드를 제거하여 빌드 크기를 줄이고 Mono/IL2CPP 빌드 시간을 단축합니다.
중간 UnityLinker를 실행하여 Low 이상으로 코드 크기를 줄입니다. 커스텀 link.xml 파일을 지원해야 할 수 있으며 일부 반사 코드 경로는 동일하게 동작하지 않을 수 있습니다.
높음 UnityLinker는 최대한 많은 코드를 스트리핑합니다. 이렇게 하면 Medium 이상으로 코드 크기를 줄일 수 있지만, 일부 메서드의 관리되는 코드 디버깅은 더 이상 작동하지 않을 수 있습니다. 커스텀 link.xml 파일을 지원해야 할 수 있으며 일부 반사 코드 경로는 동일하게 동작하지 않을 수 있습니다.
Vertex Compression 채널당 버텍스 압축을 설정합니다. 이는 프로젝트의 모든 메시에 영향을 미칩니다.
일반적으로 버텍스 압축은 메모리 내의 메시 데이터 크기를 줄이고 파일 크기를 줄이며 GPU 성능을 향상시키는 데 사용됩니다.

버텍스 압축을 설정하는 방법과 이 설정의 제한 사항에 대한 자세한 내용은 메시 데이터 압축을 참조하십시오.
Optimize Mesh Data 빌드에 사용된 메시에서 미사용 버텍스 속성 스트리핑하려면 이 옵션을 활성화합니다. 이 옵션은 메시의 데이터 양을 줄여 빌드 크기, 로딩 시간, 런타임 메모리 사용량을 줄일 수 있습니다.

경고: 이 설정을 활성화한 경우 런타임 시 머티리얼 또는 셰이더 설정을 변경하지 마십시오.

자세한 내용은 PlayerSettings.stripUnusedMeshComponents를 참조하십시오.
텍스처 밉맵 스트리핑 모든 플랫폼에 대한 밉맵 스트리핑을 활성화합니다. 그러면 빌드 시 텍스처에서 사용하지 않는 밉맵이 제거됩니다.
Unity는 밉맵의 값을 현재 플랫폼의 품질 설정과 비교하여 사용하지 않는 밉맵을 결정합니다. 현재 플랫폼의 모든 품질 설정에서 밉맵 값이 제외된 경우 Unity는 빌드 시점에 해당 밉맵을 빌드에서 제거합니다. QualitySettings.globalTextureMipmapLimit이 제거된 밉맵 값으로 설정된 경우, Unity는 제거되지 않은 가장 가까운 밉맵 값으로 값을 설정합니다.

로깅

임베디드 Linux 빌드에 대해 허용할 로깅 유형을 선택합니다.

  • 사용 가능한 옵션에서 선호하는 로깅 방법을 선택합니다.

  • 필요한 로깅 유형에 따라 각 로그 유형(Error, Assert, Warning, Log, Exception)에 해당하는 상자를 체크합니다. 예시:

    • ScriptOnly - 스크립트를 실행할 때만 로그를 기록합니다.
    • Full - 항상 로그를 기록합니다.
    • None - 어떤 로그도 기록하지 않습니다.

레거시

이 섹션에서는 레거시 플레이어 설정을 다룹니다.

프로퍼티 설명
Clamp BlendShapes (지원 중단 예정) SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 이 옵션을 활성화합니다.
Upload Cleared Texture Data 이는 기존 기능이며 대역폭을 많이 사용하기 때문에 현재 필요하지 않습니다. 디버깅을 위해 기본적으로 활성화되어 있습니다. 이 설정을 활성화하면 초기 데이터가 지워지며 스크립트의 텍스처가 비디오 메모리로 자동으로 업로드됩니다.

추가 리소스:

Set up your environment for Embedded Linux
임베디드 Linux용 개발