UDN
Search public documentation:

DevelopmentKitGemsCharacterLightingKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > UDK 젬 > 캐릭터 라이팅
UE3 홈 > 빛과 그림자 > 캐릭터 라이팅
UE3 홈 > 캐릭터 아티스트 / 라이팅 아티스트 > 캐릭터 라이팅

캐릭터 라이팅


문서 변경내역: James Tan 작성. 홍성진 번역.
UDK 2011년 1월 버전으로 최종 테스팅, PC 호환

개요


어느 게임이든 인간형 캐릭터는 보통 얼마나 현실적이고 어떤 스타일로 보이는지를 세밀히 따지게 됩니다. 멋드러진 머티리얼, 텍스처, 모델링이 도움이야 되겠지만, 결국 가장 큰 역할을 하는 것은 바로 태양광, 라이팅입니다. 이 젬의 팁 다수가 100% 과학은 아닙니다만, 종종 원하는 모습을 내기 위한 트위킹까지 내려가곤 합니다.

스켈레탈 메시 컴포넌트 트위킹


모름지기 캐릭터라면 전부 스켈레탈 메시일텐데, 보통 애니메이팅이 들어가기 때문입니다. 괜찮은 라이팅 결과를 얻으려면, 스켈레탈 메시에 대한 피직스 애셋을 만들어서 이를 스켈레탈 메시 컴포넌트에 할당하는 것이 좋습니다. 그러면 선명한 그림자와 더 나은 라이팅을 얻게 될 것입니다.

이 스크린샷의 모든 스켈레탈 메시에는 피직스 애셋이 할당되어 있지 않습니다. 딱 보이게 나쁘지 않아 보입니다.

CharacterLightingSkeletalMeshComponentNoPhysicsAsset.jpg

그러나 모든 스켈레탈 메시에 피직스 애셋이 할당된 이 스크린샷에 비교해 보면, 드리워진 그림자는 더욱 선명하고 뚜렷하며, 스켈레탈 메시 표면의 전체적인 라이팅 결과도 낫습니다.

CharacterLightingSkeletalMeshComponentWithPhysicsAsset.jpg

관련 토픽

머티리얼 트위킹


캐릭터 머티리얼에 트위킹을 더하면 훨씬 나은 결과물을 얻을 수 있습니다. 픽셀 별 정확도가 향상되면 전체적인 렌더링도 향상되는 것입니다.

디테일 노멀 맵 추가하기

디테일 노멀 맵은 서브 픽셀 레벨에서 품질 향상을 노려보기에 가장 단순한 방법입니다. 노멀 맵은 항상 해상도를 갖고 있으며, 이 해상도에 따라 라이팅 계산을 합니다. 플레이어가 머티리얼에 가까이 이동하면, 노멀 맵이 선형으로 필터링될 가능성이 있습니다. 이는 좋지 않은 라이팅 결과가 납니다. 디테일 노멀 맵으로 이러한 문제를 경감시킬 수 있습니다.

디테일 노멀 맵 추가 작업은 다음과 같이 이루어집니다. 디테일 노멀 텍스처를 특정 인수로 스케일해 주는데, 인수의 범위는 보통 10 에서 15 사이가 좋습니다. 디테일 노멀에다 파랑 채널을 null out 시키는 벡터 [Constant(1,1,0)] 를 곱해줍니다. 그런다음 이것을 디테일 노멀 맵의 깊이를 조절하기 위한 인수로 곱해줍니다. 마지막으로 이 모든 것의 결과를 노멀 맵에 더합니다.

CharacterLightingMaterialAddingDetailNormalMap.jpg

이 스크린샷에서, 캐릭터에 사용된 머티리얼에는 디테일 노멀 맵이 없습니다.

CharacterLightingMaterialBeforeDetailNormalMap.jpg

이 스크린샷에서, 머티리얼에는 디테일 노멀 맵이 더해져 있습니다. 여기서 갑옷의 일부분과 약간의 피부에 세련된 라이팅을 볼 수 있습니다.

CharacterLightingMaterialAfterDetailNormalMap.jpg

프레넬 맵 추가하기

프레넬(fresnel) 맵은 간접 림 라이팅을 캐릭터에 추가하는 데 도움이 됩니다. 간접 라이팅은 스킨 렌더링에 하부 표면 분산(sub surface scattering) 기능이 자주 쓰인다면 스킨 셰이딩의 중요한 양상이 됩니다. 하부 표면 분산의 한 가지 양상은, 오브젝트의 테두리가 매우 살짝 라이팅되는 경향이 있다는 겁니다.

프레넬 맵 추가 작업은 프레넬 결과를 프레넬 맵으로 곱해주는 것으로 이루어집니다. 프레넬 노멀은 캐릭터에 사용하는 노멀 맵입니다. 프레넬 맵은 단순히 어떤 색을 사용할 것인가 이기에, 컬러 프레넬 라이팅을 내고자 여기에 벡터 파라미터를 곱해줄 수도 있습니다. 이 경우 프레넬 맵은 디퓨즈의 그레이스케일 버전이 됩니다.

CharacterLightingMaterialAddingFresnelMap.jpg

이 스크린샷에서는, 머티리얼에 프레넬 맵이 없습니다.

CharacterLightingMaterialBeforeDetailNormalMap.jpg

이 스크린샷에서는, 머티리얼에 프레넬 맵이 더해져 있습니다. 보시듯이 인공적인 림 라이팅이 생겼습니다. 피부에 윤기가 돌아 거의 번들거려 보이기까지 합니다. 그림자를 보정하기 위해 하이라이트를 추가하기에 메시에 볼륨감이 더 들어 보이기도 합니다.

CharacterLightingMaterialAfterFresnelMap.jpg

관련 토픽

커스텀 라이팅

캐릭터 머티리얼에 자체 라이팅을 구현하여 매우 다른 결과를 내는 것도 가능합니다.

이 머티리얼은 엔비디아의 하부 표면 분산에 관한 연구에 근거하여 Miguel A Santiago Jr. 가 개발한 하부 표면 분산을 사용한 것입니다. 이것은 그를 위해 작성된 머티리얼로, 표준 언리얼 토너먼트 3 캐릭터 머티리얼 부분 / 하부 표면 분산 양상을 구현한 것입니다. 썸네일을 클릭하시면 머티리얼 배치 전도를 보실 수 있습니다.

CustomLightMaterialLayoutThumbNail.jpg

이 스크린샷에는, 표준 언리얼 토너먼트 3 캐릭터 머티리얼이 사용되었습니다.

CharacterLightingMaterialAfterFresnelMap.jpg

이 스크린샷에는, 새로운 하부 표면 분산 기능이 켜진 머티리얼이 사용되었습니다.

CharacterLightingMaterialCustomLighting.jpg

동적인 Light Environment 트위킹


Light Environment(빛 환경, 라이트 인바이언먼트)는 동적으로 라이팅되는 메시의 성능을 향상시키는 데 필요합니다. 레벨 디자이너의 프로세스 자동화도 쉬워지는데, 이것이 없다면 레벨 디자이너들은 두 세트의 라이트를 (하나는 스태틱 라이트용으로, 다른 하나는 다이내믹 라이트용으로) 유지해야 할 것이기 때문입니다. 기본적으로 보면, Light Environment는 동적으로 라이팅된 메시의 성능을 향상시킵니다. Light Environment를 사용하는 메시는 Lightmass 에 의해 생성된 간접 라이팅의 득을 보기도 합니다.

Boolean Environment Shadowing 사용

이 기능을 끄면 성능을 댓가로 그림자 품질이 향상됩니다. 켜면 환경으로부터의 값싼 섀도잉을 사용합니다.

CharacterLightingLightEnvironmentInfo.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트의 Light Environment는 Boolean Environment Shadowing 이 켜진 상태입니다.

CharacterLightingLightEnvironmentBooleanShadowsOff.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트의 Light Environment는 Boolean Environment Shadowing 이 꺼진 상태입니다. 그림자가 훨씬 뚜렷하고 정교해 보입니다.

CharacterLightingLightEnvironmentBooleanShadowsOn.jpg

Synthesize SH Light

Synthesize SH Light(SH 라이트 합성) 기능을 켜면 합성된 직사광에 의해 계산되지 않은 라이트 전부에 대한 Spherical Harmonic Lighting(구체형 조화 라이팅)을 합성하며, 비교적 헐값의 퍼포먼스에 더 나은 라이팅 결과를 낼 수 있습니다.

CharacterLightingLightEnvironmentSynthesizeSHLightInfo.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트의 Light Environment에는 Synthesize SH Light 가 꺼져 있습니다. 라이팅이 그리 나쁘진 않습니다. 불행히도 씬의 빨강과 파랑 라이트가 병합되어, 틀리게 보입니다.

CharacterLightingLightEnvironmentBooleanShadowsOff.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트의 Light Environment에는 Synthesize SH Light 가 켜져 있습니다. 씬의 빨강과 파랑 라이트가 캐릭터에서 별개의 라이팅을 내고 있습니다.

CharacterLightingLightEnvironmentSynthesizeSHLight.jpg

관련 토픽

World Info Character Light Environment 트위킹


bIsCharacterLightEnvironment 플랙이 설정된 동적 Light Environment에만 영향을 끼칩니다. 언리얼스크립트 내에서만 수행 가능합니다. 그래도 에디터 내에서 SkeletalMeshCinematicActor 를 사용하여 이 세팅을 빠르게 테스트할 수 있습니다.

Character Lit Indirect Brightness

Dominant Light 에 의해 라이팅된 캐릭터 Light Environment의 간접광을 늘이거나 줄입니다. 캐릭터의 전체적인 밝기를 균등하게 늘이거나 줄이고자 할 때 사용하십시오.

CharacterLightingWorldInfoCharacterLitIndirectBrightnessMin.jpg

CharacterLightingWorldInfoCharacterLitIndirectBrightnessMax.jpg

Character Lit Indirect Contrast Factor

Dominant Light 에 의해 라이팅된 캐릭터 Light Environment의 간접광 대비값을 늘이거나 줄입니다. 밝은 부분을 이만큼 늘이고, 어두운 부분은 이만큼 줄이는 데 사용하면 됩니다. 캐릭터의 전체적인 볼륨감을 살리기에 좋습니다.

CharacterLightingWorldInfoCharacterLitIndirectContrastFactorMin.jpg

CharacterLightingWorldInfoCharacterLitIndirectContrastFactorMax.jpg

Character Shadowed Indirect Brightness

현재 모든 Dominant Light 에 의해 섀도잉되는 캐릭터 Light Environment의 간접광을 늘이거나 줄입니다. 그림자 속 캐릭터의 전체적인 밝기를 균등하게 조절하고자 할 때 사용하십시오. 캐릭터가 그림자속에서 너무 어두울 때 좋습니다.

CharacterLightingWorldInfoCharacterShadowedIndirectBrightnessMin.jpg

CharacterLightingWorldInfoCharacterShadowedIndirectBrightnessMax.jpg

Character Shadowed Indirect Contrast Factor

현재 모든 Dominant Light 에 의해 섀도잉되는 캐릭터 Light Environment의 간접광 대비값을 늘이거나 줄입니다. 밝은 부분은 이만큼 늘이고, 어두운 부분은 이만큼 줄이고자 할 때 사용하면 됩니다. 캐릭터의 전체적인 볼륨감을 살리기에 좋습니다. 캐릭터가 그림자 속에 들어가 어두워질 때 평평해 보일 때 유용합니다.

CharacterLightingWorldInfoCharacterShadowedIndirectContrastFactorMin.jpg

CharacterLightingWorldInfoCharacterShadowedIndirectContrastFactorMax.jpg

Light Env Spherical Harmonic Lights 허용

spherical harmonical lighting(구체형 조화 라이팅)을 합성하고자 dynamic light environment 에 대한 기능을 끄고 켜는 전역 불리언입니다.

구체형 조화 라이팅을 끄고 켭니다.

CharacterLightingWorldInfoSHLightingDisabledWorldInfo.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트는 구체형 조화 라이팅을 합성할 수 있습니다. 성능을 댓가로 나아 보입니다.

CharacterLightingLightEnvironmentSynthesizeSHLight.jpg

이 스크린샷에서, 스켈레탈 메시 컴포넌트는 구체형 조화 라이팅을 합성할 수 없습니다. 위처럼 괜찮아 보이지는 않지만, 성능은 낫습니다.

CharacterLightingWorldInfoSHLightingDisabled.jpg

전체적인 트위킹

이 스크린샷에서, 월드 캐릭터 라이팅 세팅은 트위킹되지 않았습니다.

CharacterLightingWorldInfoBeforeTweaks.jpg

이 스크린샷에서, 월드 캐릭터 라이팅 세팅은 트위킹되어, 씬에 라이트를 새로 추가하지 않았는데도 캐릭터에 볼륨감이 더해져 보입니다.

CharacterLightingWorldInfoAfterTweaks.jpg

관련 토픽