언리얼 엔진 5.4 이상 버전은 고사양 Android 모바일 디바이스에서 루멘을 지원합니다(실험단계). 이 페이지에서 다루는 내용은 다음과 같습니다.
-
모바일 디바이스 및 렌더러의 루멘 호환성 정보
-
모바일 디바이스에서 루멘을 활성화하는 방법 안내
-
제한 사항 및 알려진 문제
호환성
루멘은 데스크톱 렌더러를 실행하는 Android Vulkan Shader Model 5(SM5)와 호환되는 고사양 디바이스에서 사용할 수 있습니다. 하드웨어 레이 트레이싱 사용 여부와 관계없이 지원됩니다.
Android용 데스크톱 렌더러는 새 프로젝트를 생성할 때 기본적으로 활성화되어 있지 않습니다. 하지만 프로젝트에서 데스크톱 렌더러를 활성화한 후 루멘을 활성화하면 다음 디바이스 프로파일을 사용하는 디바이스에서 사용 가능합니다.
Android_Vulkan_SM5
Android_Adreno_Vulkan_SM5
Android_Mali_Vulkan_SM5
Android_Xclipse_Vulkan_SM5
다음 디바이스는 필요한 Vulkan SM5 디바이스 프로파일을 현재 사용합니다.
- Samsung Xclipse (9xx)
- Adreno (7xx)
- Mali (G7xx)
루멘은 현재 iOS/tvOS/iPadOS 디바이스에서 작동하지 않습니다.
모바일 디바이스에서 루멘을 활성화하는 방법
모바일 디바이스에서 루멘을 활성화하려면 다음 단계를 따릅니다.
-
데스크톱 렌더러 및 모바일 SM5 지원을 활성화합니다. 자세한 내용은 피처 레벨 및 렌더링 모드의 데스크톱 렌더러 섹션을 참조하세요.
-
데스크톱 애플리케이션에서와 마찬가지로 루멘을 활성화합니다. 자세한 내용은 루멘 글로벌 일루미네이션을 참조하세요.
이렇게 하면 Android_Vulkan_SM5
디바이스 프로파일이 활성화되며, 위의 호환성 섹션에 나와 있는 디바이스 타입에 자동으로 적용됩니다. 사용 중인 디바이스가 이러한 프로파일 중 하나에 해당하는 경우, 루멘을 활성화한 후 추가 단계를 따르지 않아도 됩니다. 일반적으로 루멘이 활성화되어 있지 않은 디바이스 또는 디바이스 제품군에서 추가적인 지원이 필요한 경우, 아래 섹션을 참조하세요.
새 디바이스에 기존 루멘 호환 프로파일 적용하기
데스크톱 렌더러 및 루멘을 지원하는 기존 프로파일 중 하나를 사용하려면 DeviceProfiles.ini
파일을 열고 기준을 충족하는 디바이스가 선택한 SM5 프로파일을 사용해야 한다고 지정하는 MatchProfile
줄을 추가합니다. 기존 SM5 프로파일 목록은 위의 호환성 섹션을 참조하세요.
다음 예시는 Adreno 7xx 디바이스에 Android_Adreno_Vulkan_SM5
프로파일을 적용하는 MatchProfile
줄입니다.
Engine/Config/BaseDeviceProfiles.ini
; Enable SM5 on Adreno 7xx when SM5 is enabled
+MatchProfile=(Profile="Android_Adreno_Vulkan_SM5",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 7[0-9][0-9]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]+).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="10"),(SourceType=SRC_SM5Available,CompareType=CMP_Equal,MatchString="true")))
디바이스 프로파일 매칭에 대한 자세한 내용은 Android 디바이스 프로파일 커스터마이징을 참조하세요.
새 루멘 호환 디바이스 프로파일 생성하기
DeviceProfiles.ini
에서 루멘을 지원하는 새 디바이스 프로파일을 생성할 수 있습니다.
Android에서 이는 Vulkan과 SM5 지원을 둘 다 활성화해야 한다는 뜻입니다. 한편, 디바이스 프로파일을 처음부터 생성하는 경우, Android_Vulkan_SM5
디바이스 프로파일을 새 프로파일의 BaseProfileName
으로 설정하여 확장할 수도 있습니다.
다음은 Android_Vulkan_SM5
디바이스 프로파일입니다.
Engine/Config/BaseDeviceProfiles.ini
[Android_Vulkan_SM5 DeviceProfile]
DeviceType=Android
BaseProfileName=Android
+CVars=sg.ViewDistanceQuality=2
+CVars=sg.AntiAliasingQuality=1
+CVars=sg.ShadowQuality=2
+CVars=sg.GlobalIlluminationQuality=2
+CVars=sg.ReflectionQuality=2
+CVars=sg.PostProcessQuality=2
+CVars=sg.TextureQuality=2
+CVars=sg.EffectsQuality=2
+CVars=sg.FoliageQuality=2
+CVars=sg.ShadingQuality=2
+CVars=sg.LandscapeQuality=2
+CVars=r.BloomQuality=2
+CVars=r.LightShaftQuality=1
; Shadows
+CVars=r.Shadow.MaxResolution=2048
+CVars=r.Shadow.MaxCSMResolution=2048
+CVars=r.Shadow.WholeSceneShadowCacheMb=40
+CVars=r.Shadow.CachedShadowsCastFromMovablePrimitives=0
+CVars=r.Shadow.MaxNumPointShadowCacheUpdatesPerFrame=1
+CVars=r.Shadow.MaxNumSpotShadowCacheUpdatesPerFrame=1
+CVars=r.Shadow.DistanceScale=1.0
+CVars=r.Shadow.CSM.MaxCascades=2
+CVars=r.ShadowQuality=2
+CVars=r.Shadow.CSMShadowDistanceFadeoutMultiplier=2.5
+CVars=r.SSS.Quality=0
+CVars=r.SSS.Scale=0
+CVars=r.SSR.Quality=0
+CVars=r.Android.DisableVulkanSM5Support=0
+CVars=r.Android.DisableVulkanSupport=0
+CVars=r.DistanceFields=1
+CVars=r.Vulkan.RayTracing.AllowCompaction=0
+CVars=r.Vulkan.RayTracing.TLASPreferFastTraceTLAS=0
+CVars=r.RayTracing.RequireSM6=0
이 프로파일에서 가장 중요한 파라미터는 다음과 같습니다.
-
r.Android.DisableVulkanSupport
: 이 세팅을 끄면 Vulkan 지원이 활성화됩니다. -
r.Android.DisableVulkanSM5Support
: 이 세팅을 끄면 Vulkan SM5 디바이스 프로파일이 활성화됩니다. -
r.DistanceFields
: 루멘의 소프트웨어 레이 트레이싱에 필요한 디스턴스 필드 섀도를 활성화합니다. -
r.RayTracing.RequireSM6
: 이 세팅을 끄면 비SM6 디바이스에서 레이 트레이싱을 허용합니다. 이는 루멘의 하드웨어 레이 트레이싱에 필요합니다.
디바이스 프로파일을 환경설정하는 방법에 대한 자세한 내용은 Android 디바이스 프로파일 커스터마이징을 참조하세요.
제한 사항 및 알려진 문제
모바일 디바이스의 데스크톱 렌더러는 모바일 포워드 또는 디퍼드 렌더링 대비 상당한 퍼포먼스 비용을 발생시킵니다. 루멘을 사용해도 퍼포먼스 비용이 더 늘어납니다. 이 기능은 실험단계이므로 이를 사용하여 프로젝트를 출시하는 것은 아직 권장하지 않습니다. 하지만 프로젝트에서 테스트하고 프로파일을 적용해 보시는 경우, 피드백을 제공해 주신다면 감사하겠습니다.