SlideShare a Scribd company logo
1 of 48
01
02
03
04
05
06
07
이 기능은 씬의 스태틱 메시를 표현하는 데 사용되는 Signed Distance
Fields (부호화 디스턴스 필드)로부터 AO 를 계산하는 기능입니다. 실행시간
에 스태틱 메시를 이동시켜도 AO 업데이트가 가능합니다.
원본 디스턴스 필드 AO적용
프로젝트 렌더링 세팅은 이제 bGenerateMeshDistanceFields 라 불리며,
그 박스를 체크하고 에디터를 재시작하면 디스턴스 필드 라이팅 기능을 사용할
수 있습니다.
디스턴스 필드 생성 기능은 비동기식으로 작동합니다. 대부분의 CPU 코어를
사용하되, 에디터에서도 사용할 수 있도록 몇 개는 남겨둡니다.
더이상 디스턴스 필드 지원을 위해 반드시 닫힌 메시일 필요가 없습니다.
스페큘러 오클루전
이제 하늘 표현용 스페큘러 오클루전 추정법이 생겼습니다. '디스턴스 필드 앰
비언트 오클루전' 계산시 해당 지점에서의 하늘 표시여부를 나타내는 원뿔인
굽은(bent) 노멀을 생성합니다. 이 원뿔과 리플렉션 원뿔의 교차 부분이 하늘
스페큘러에 대한 그림자 부분이 됩니다. 이를 통해 근거리에 차폐된 것에 대한
누수가 방지되며, 스크린 스페이스 한계로 인해 스크린 스페이스 리플렉션이
유효하지 않거나 어느정도 거친 머티리얼에 최적으로 작동합니다.
더이상 닫힌 메시가 아니어도 디스턴스 필드가 제한됩니다.
원본 스페큘러 오클루전 적용
스카이 오클루전은 하늘빛을 받은 오브젝트 주변에 멋지게 연한 그림자가 표
현되는데, 이는 구름낀 라이팅 상황에서 특히나 중요한 것으로, 보통 라이팅
미리계산 없이는 하이 퀄리티 렌더링에서 내기가 힘든 것이었습니다. 바로 디
스턴스 필드 앰비언트 오클루전이, 하루의 시간이나 환경이 언제든 변할 수
있는 완전 동적인 게임에서 이러한 문제를 해결해줍니다. 이번 4.9 에서 이
기술의 퀄리티와 퍼포먼스 향상에 많은 노력을 기울였으며, 이제 전형적인 게
임 씬의 경우 총 GPU 비용 4ms 미만으로 가능하니 중사양 PC 나 플레이스
테이션 4 수준의 하드웨어에서 출시 가능하다 생각합니다!
예전 방법은 적응형 샘플링이었기에, 평평한 표면의 작업은 덜했지만, 깨끗한
환경에서 얼룩이 많이 생기기도 했습니다.
이제 적응형 샘플링을 제거할 만큼 AO 계산이 충분히 빨라졌기에, 오클루전
이 훨씬 부드러워졌습니다.
주의점은 이 새로운 방법은 더욱 긴 히스토리 필터를 요하는데, 그로 인해 유
령 현상이, 특히나 그림자를 드리우는 것이 움직였을 경우에 생길 수 있습니
다. 앞으로 개선의 여지가 있는 부분입니다.
퍼포먼스
디스턴스 필드 AO 는 중사양 PC 와 PS4 에서 실행 가능하도록 훨씬 속도를
높였습니다. 이제 그 비용도 훨씬 안정화되어, 오브젝트 밀도에 약간 좌우될
뿐 거의 비용이 같아졌습니다.
고정 카메라에 거의 평면 표면의 경우, 이 새로운 방법은 1.6 배 빠릅니다. 폴
리지가 있고 카메라가 빠르게 움직이는 경우, 새로운 방법은 5.5 배 빠릅니다.
PS4 에서 전체 게임 씬에 대한 디스턴스 필드 AO 비용은 3.7ms 입니다.
테크니컬 디테일
주요 최적화는 카메라 주변을 따르는 글로벌 디스턴스 필드의 사용입니다. 일
반적인 오브젝트별 디스턴스 필드 전부를 몇몇 카메라 주변 볼륨 텍스처, 소
위 클립맵에 합성해 넣는 식으로 만듭니다. 새롭게 보이는 영역과 씬 변화에
영향받는 것들만 업데이트해 주면 되므로, 합성 비용은 많이 들지 않습니다.
클립맵 텍셀 크기 시각화 - 각 클립맵마다 색이 다릅니다.
글로벌 디스턴스 필드는 오브젝트 디스턴스 필드보다 해상도가 낮으므로, 모
든 것에 사용할 수는 없습니다. 스카이 오클루전에 대한 콘 트레이스 계산시,
오브젝트 디스턴스 필드는 셰이딩이 이루어지는 지점 근처에서 샘플링되는
반면, 훨씬 빠른 글로벌 디스턴스 필드는 더욱 멀리서 샘플링됩니다.
글로벌 디스턴스 필드 vs 오브젝트 디스턴스 필드에 대한 레이 트레이싱 시
각화입니다. 글로벌 디스턴스 필드의 표면이 얼룩덜룩해지고 얇은 오브젝트
가 사라집니다.
메시 디스턴스 필드를 통해 라이트로 레이 트레이스를 하는 방식의 새로운 다
이내믹 섀도잉 메소드가 생겼습니다. 날카로운 접선의 부드러운 에리어 섀도가
가능합니다!
레이 트레이스 소프트 섀도를 적용한 디렉셔널 라이트입니다.
긴 그림자는 부드러워 지며, 원거리의 셀프 섀도 디테일도 여전히 살아있습니다.
포인트 / 스포트 라이트에도 통합니다. 광원의 크기와 그에 따른 반그늘 크기를 조절하는 데
'Source Radius' 가 사용됩니다.
레이 트레이스 섀도는 예전의 캐스케이드 섀도 맵(CSM) 방식보다 먼 거리에 대해서도 효율적인
계산이 가능합니다. 원거리의 그림자는 레이 트레이스로 계산하면서 근거리의 그림자는 CSM 으
로 계산하여 두 접근법의 최적 조합을 뽑아낼 수 있습니다.
레이 트레이스 섀도는 캐스케이드 섀도 맵보다 GPU 상에서 보통 20-30% 빠릅니다.
이 디스턴스 필드는 디스턴스 필드 앰비언트 오클루전 기능에 사용되는 것과 같은 데이터입니다.
라이트에서 Use RayTraced DistanceField Shadows (레이 트레이스 디스턴스 필드 섀도
사용) 옵션, 프로젝트에서 Generate Mesh Distance Fields (메시 디스턴스 필드 생성) 프로
젝트 세팅을 켜서 활성화 가능합니다.
이 기능으로 머티리얼과 스페이스 내 특정 지점 사이에서 가장 가까운 입체면 사이의 거리를 싸
게 구할 수 있습니다. 머티리얼 에디터에서 글로벌 디스턴스 필드 프로퍼티를 접근하는 노드가
두 개 새로 생겼습니다.
DistanceToNearestSurface 는 월드 스페이스 유닛으로 부호가 있는 거리를 반환합니다. 참
고로 거리는 불투명 메시 표면상에서는 항상 0 근처일 것입니다.
DistanceToNearestSurface 를 사용하면 이펙트가 가려지는 것을 피할 수 있습니다.
UE4 사용자 Roel Bartstra 가 이미 이를 활용한 재밌는 사례를 찾았습니다 - 하나는 소프트
바디 모양 내기 , 또 하나는 표면을 자동으로 피하는 흐름 맵 만들기 입니다.
모든 디스턴스 필드 기능과 마찬가지로, 이것 역시 렌더링 프로젝트 세팅에서 'Generate
Mesh Distance Fields' (메시 디스턴스 필드 생성) 옵션을 켜줘야 합니다. 디스턴스 필드 머
티리얼 접근은 셰이더 모델 5 기능입니다. 셰이더 모델 4 하드웨어 대비를 위해서는
FeatureLevelSwitch 머티리얼 노드를 사용하세요.
디스턴스 필드 라이팅 최적화
디스턴스 필드 앰비언트 오클루전 및 레이 트레이스드 디스턴스 필드 섀도우 가 현 세대 콘솔과
중간 사양 PC 에서 30-50% 빨라졌습니다! 씬에 보다 사실적인 앰비언트 라이팅과 다이내믹 메
시에 에리어 섀도우를 드리울 수 있도록 해주는 기능입니다.
게다가, Intel 의 Embree 레이 트레이싱 라이브러리를 사용하여 메시 디스턴스 필드 생성 시간
도 2.5 배 빨라졌습니다. 프로젝트 세팅 중 Eight Bit Mesh Distance Fields (8비트 메시 디
스턴스 필드) 및 Compress Mesh Distance Fields (메시 디스턴스 필드 압축) 옵션을 사용
하면 메모리 사용량 역시 크게 감소합니다.
무버블 라이트용 섀도 맵 캐시
포인트 또는 스포트 라이트가 움직이지 않으면, 그 라이트에 대한 섀도 맵을 저장한 뒤 다음 프
레임에 재사용할 수 있습니다. 이 기능은 이제 자동으로 이루어져 배경이 잘 움직이지 않는 게임
에서는 그림자를 드리우는 무버블 포인트 / 스포트 라이트 비용 부담이 크게 줄어듭니다.
위 그림은 다이내믹 섀도를 드리우는 포인트 라이트가 33 개나 되는데,
부하가 매우 적게 걸리고 있습니다.
무버블 라이트용 섀도 맵 캐시
970 GTX 에서 1920x1200 해상도로 돌렸을 때 나오는 퍼포먼스는 다음과 같습니다.
- 그림자를 드리우는 포인트 라이트 33 개를 섀도 뎁스에 렌더링할 때, 캐시가 없을 때:
14.89ms.
- 섀도 맵 캐시가 있을 때: .9ms (약 16 배 향상!)
- 참고로 33 개의 포인트 라이트가 기여하는 바를 렌더링하는 데 여전히 2ms 가 드는데, 이는
다른 방식으로 최적화시킬 수는 있지만, 이 변경사항에 영향을 받지는 않습니다.
- 캐시에 사용되는 메모리는 "Stat ShadowRendering" 하에서 볼 수 있으며, 이 씬에서는
25.6Mb 였습니다.
- 캐시에 사용되는 최대 메모리는 "r.Shadow.WholeSceneShadowCacheMb"
옵션으로 제어할 수 있습니다.
무버블 라이트용 섀도 맵 캐시
한계
- 기본적으로, 캐시가 벌어지는 상황은 다음과 같습니다:
- 프리미티브의 모빌리티가 스태틱 또는 스테이셔너리 로 설정되어 있고
- 사용된 머티리얼이 월드 포지션 오프셋을 사용하지 않으며
- 라이트가 포인트 또는 스포트이고, 그림자를 드리우고, 모빌리티가 무버블로
설정되었으나 현재 움직이지는 않는 경우
- 애니메이션이 있는 테셀레이션이나 픽셀 뎁스 오프셋을 사용하는 머티리얼의 경우,
섀도 뎁스가 캐시되므로 부작용이 생길 수 있습니다.
스카이 라이트
무버블 스카이라이트
이제 스카이라이트에 무버블 모빌리티 세팅이 지원됩니다!
- 이 라이트 유형은 동적인 씬 변화를 지원합니다.
- SSAO 와 디스턴스 필드 AO 라는 신기능으로부터 그림자를 받습니다.
스카이 라이트 글로벌 일루미네이션
스테이셔너리 / 스태틱 스카이라이트에 대한 글로벌 일루미네이션을 라이트매스가 계산합니다!
- 스카이 라이트의 Indirect Lighting Intensity (간접광 강도)를 사용하여 반사광의 밝기를
조절할 수 있습니다.
- 모든 스테이셔너리 라이트와 마찬가지로 실행시간에 색이나 강도를 변경하면 직사광에만 적용
되는데, 반사광은 라이트맵에 구워지기 때문입니다.
원본 글로벌 일루미네이션 적용
자동 키 설정 기능을 하나의 토글 상태로 단순화시켜 사용 편의성과 명확성이
향상되었습니다.
시퀀서에 새로 생긴 토글 옵션으로 프로퍼티 변경사항을 단일 샷에 적용할지
다른 샷에도 전파시킬지 하는 부분을 확실하게 할 수 있어 작업 분할이 수월
해집니다. Allow Sequencer Edits Only (시퀀서 편집만 허용) 옵션을 켜
면, 프로퍼티를 편집할 때 트랙 및/또는 키프레임이 존재하지 않는 경우 자동
으로 생성합니다. 이러한 편집 내용은 작업중인 특정 샷에만 적용되며 다른
샷에 영향을 주지 않습니다. Allow Level Edits Only (레벨 편집만 허용)
옵션이 켜지면, 오브젝트의 기본 프로퍼티를 편집하게 됩니다. 시퀀서에 이미
트랙이 있는 프로퍼티는 모든 샷에 영향을 주는 전체 변경 작업을 하고자 할
경우 디테일 패널에 비활성화됩니다.
개선사항
- 액터에 붙은 오디오 섹션의 어테뉴에이션(감쇠) 세팅이 생겼습니다.
- 어태치 섹션의 붙이고 떼는 규칙을 지정할 수 있습니다.
- 레벨 시퀀서 플레이어에 시네마틱 옵션을 추가했습니다.
- 벡터, 트랜
- 스폼, 컬러 키 프로퍼티 에디터에 Key Time 을 추가했습니다.
- 다음/예전 샷으로 한 단계씩 이동(step)하는 단축키가 생겼습니다 (Shift
+ 쉼표, Shift + 마침표).
- 스크럽 이동으로 키에 스냅할 때 이제 허용치 밖으로의 스크럽 이동도 허용
됩니다.
- 이제 에디터 개인설정의 세팅을 사용하면 시퀀서로 전환할 때 실시간 뷰포
트를 활성화시킬 수 있습니다.
버그 픽스
키 설정이 크게 바뀌었습니다.
픽스 - 스폰 해제/리스폰 시 스포너블 상태/프로퍼티가 저장/복원되지 않던
것을 고쳤습니다.
픽스 - 필터링을 할 때 시퀀서 아웃라이너가 노드를 추가하던 것을 고쳤습니
다.
픽스 - 레벨 시퀀스 비동기 로드가 수정되었습니다.
픽스 - 자동 키 기능이 (제대로 복원하기 위해 필요한) 키프레임 생성을 하지
않으면 프로퍼티 값을 저장하지 않던 것을 고쳤습니다.
시퀀서 월드 아웃라이너 통합
시퀀서가 이제 월드 아웃라이너와 더욱 유기적으로 통합되었습니다. 월드 아
웃라이너에는 액터가 묶여있는 레벨 시퀀스가 무엇인지, 시퀀서가 스폰한 액
터가 무엇인지 표시되므로, 한 곳에서 시퀀서에 묶인 모든 액터를 접근할 수
있습니다.
이제 시퀀서에서 섹션을 블렌딩하여 부드러운 전환을 쉽게 만들 수 있습니다. 시퀀서의 여러 프
로퍼티(2D/3D 트랜스폼, 벡터, 컬러, 플로트 등)에 대한 블렌딩이 가능합니다.
지원되는 섹션 모두 이제 서로 겹칠 때 부드럽게 블렌딩되어 오브젝트에 적용되는 단일 값을 산
출해 냅니다.
같은 행에 겹치는 섹션은 이제 가능하면 한 쪽에서 다른 쪽으로 서서히 자동 보간됩니다.
애니메이션 트랙 역시 이제 자동 보간됩니다.
다수의 내장 이즈(ease) 함수를(선형, 다항, 지수형 이즈 인/아웃 등) 기본으로 사용 가능합니
다. 또는, (BP 에서도 사용 가능한) IMovieSceneEasingFunction 인터페이스를 사용하여
별도의 커스텀 블렌드 함수를 구현하거나 커브 애셋을 지정할 수 있습니다.
섹션 트랜스폼 작업은 이제 트랜스폼 나머지에 영향을 주지 않고 (위치+회전 같은) 어떤 식의 채
널 조합에 대해서도 작업 가능합니다.
또한 블렌더블 프로퍼티에 새로운 블렌드 모드를 추가, 가중치 적용 절대적 / 상대적 / 더하기식
블렌딩이 가능합니다. 프로퍼티의 시작 값을 기준으로 한 프로퍼티 애니메이션이나, 절대 또는
상대 스페이스로/에서의 (컷씬 속으로 또는 컷씬 밖으로) 보간하는 등의 작업에 특히 유용합니
다.
절대 위치와 값으로 블렌딩하는 카메라 프로퍼티 및 상대 트랜스폼에 대한 데모입니다:
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트

More Related Content

What's hot

감마가 어디감마
감마가 어디감마감마가 어디감마
감마가 어디감마JP Jung
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Ki Hyunwoo
 
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019UnityTechnologiesJapan002
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Guerrilla
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityUnity Technologies
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
Deferred decal
Deferred decalDeferred decal
Deferred decal민웅 이
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더동석 김
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 

What's hot (20)

감마가 어디감마
감마가 어디감마감마가 어디감마
감마가 어디감마
 
Ssao
SsaoSsao
Ssao
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
 
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Motion blur
Motion blurMotion blur
Motion blur
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in Unity
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
 
Deferred decal
Deferred decalDeferred decal
Deferred decal
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 

Similar to [IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트

유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_ozlael ozlael
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
면접 대비 벡터, CS 개념과 사례
면접 대비 벡터, CS 개념과 사례면접 대비 벡터, CS 개념과 사례
면접 대비 벡터, CS 개념과 사례Soochan Park
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________Kyoung Seok(경석) Ko(고)
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례SangYun Yi
 
Decentraland Software Development Kit(SDK) 2.0 버전
Decentraland Software Development Kit(SDK) 2.0 버전Decentraland Software Development Kit(SDK) 2.0 버전
Decentraland Software Development Kit(SDK) 2.0 버전Jiseob Park
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuningGruter
 
Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤SangYun Yi
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlasnoerror
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬KyeongWon Koo
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTI Goo Lee
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)Sukwoo Lee
 

Similar to [IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트 (20)

유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
면접 대비 벡터, CS 개념과 사례
면접 대비 벡터, CS 개념과 사례면접 대비 벡터, CS 개념과 사례
면접 대비 벡터, CS 개념과 사례
 
엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
Decentraland Software Development Kit(SDK) 2.0 버전
Decentraland Software Development Kit(SDK) 2.0 버전Decentraland Software Development Kit(SDK) 2.0 버전
Decentraland Software Development Kit(SDK) 2.0 버전
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuning
 
Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤
 
HistoryOfCNN
HistoryOfCNNHistoryOfCNN
HistoryOfCNN
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 

More from 강 민우

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기강 민우
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들강 민우
 
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기강 민우
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마강 민우
 
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기강 민우
 
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다강 민우
 
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데강 민우
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원강 민우
 
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가강 민우
 
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점강 민우
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인강 민우
 
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법강 민우
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법강 민우
 
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가강 민우
 
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다강 민우
 
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성강 민우
 
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유강 민우
 
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나강 민우
 
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니강 민우
 
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소강 민우
 

More from 강 민우 (20)

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
 
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
 
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
 
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
 
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
 
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
 
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
 
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
 
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
 
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
 
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
 
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
 
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
 
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
 

[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트

  • 1.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. 이 기능은 씬의 스태틱 메시를 표현하는 데 사용되는 Signed Distance Fields (부호화 디스턴스 필드)로부터 AO 를 계산하는 기능입니다. 실행시간 에 스태틱 메시를 이동시켜도 AO 업데이트가 가능합니다.
  • 17. 프로젝트 렌더링 세팅은 이제 bGenerateMeshDistanceFields 라 불리며, 그 박스를 체크하고 에디터를 재시작하면 디스턴스 필드 라이팅 기능을 사용할 수 있습니다. 디스턴스 필드 생성 기능은 비동기식으로 작동합니다. 대부분의 CPU 코어를 사용하되, 에디터에서도 사용할 수 있도록 몇 개는 남겨둡니다. 더이상 디스턴스 필드 지원을 위해 반드시 닫힌 메시일 필요가 없습니다.
  • 18. 스페큘러 오클루전 이제 하늘 표현용 스페큘러 오클루전 추정법이 생겼습니다. '디스턴스 필드 앰 비언트 오클루전' 계산시 해당 지점에서의 하늘 표시여부를 나타내는 원뿔인 굽은(bent) 노멀을 생성합니다. 이 원뿔과 리플렉션 원뿔의 교차 부분이 하늘 스페큘러에 대한 그림자 부분이 됩니다. 이를 통해 근거리에 차폐된 것에 대한 누수가 방지되며, 스크린 스페이스 한계로 인해 스크린 스페이스 리플렉션이 유효하지 않거나 어느정도 거친 머티리얼에 최적으로 작동합니다. 더이상 닫힌 메시가 아니어도 디스턴스 필드가 제한됩니다.
  • 20. 스카이 오클루전은 하늘빛을 받은 오브젝트 주변에 멋지게 연한 그림자가 표 현되는데, 이는 구름낀 라이팅 상황에서 특히나 중요한 것으로, 보통 라이팅 미리계산 없이는 하이 퀄리티 렌더링에서 내기가 힘든 것이었습니다. 바로 디 스턴스 필드 앰비언트 오클루전이, 하루의 시간이나 환경이 언제든 변할 수 있는 완전 동적인 게임에서 이러한 문제를 해결해줍니다. 이번 4.9 에서 이 기술의 퀄리티와 퍼포먼스 향상에 많은 노력을 기울였으며, 이제 전형적인 게 임 씬의 경우 총 GPU 비용 4ms 미만으로 가능하니 중사양 PC 나 플레이스 테이션 4 수준의 하드웨어에서 출시 가능하다 생각합니다! 예전 방법은 적응형 샘플링이었기에, 평평한 표면의 작업은 덜했지만, 깨끗한 환경에서 얼룩이 많이 생기기도 했습니다.
  • 21. 이제 적응형 샘플링을 제거할 만큼 AO 계산이 충분히 빨라졌기에, 오클루전 이 훨씬 부드러워졌습니다.
  • 22. 주의점은 이 새로운 방법은 더욱 긴 히스토리 필터를 요하는데, 그로 인해 유 령 현상이, 특히나 그림자를 드리우는 것이 움직였을 경우에 생길 수 있습니 다. 앞으로 개선의 여지가 있는 부분입니다.
  • 23. 퍼포먼스 디스턴스 필드 AO 는 중사양 PC 와 PS4 에서 실행 가능하도록 훨씬 속도를 높였습니다. 이제 그 비용도 훨씬 안정화되어, 오브젝트 밀도에 약간 좌우될 뿐 거의 비용이 같아졌습니다. 고정 카메라에 거의 평면 표면의 경우, 이 새로운 방법은 1.6 배 빠릅니다. 폴 리지가 있고 카메라가 빠르게 움직이는 경우, 새로운 방법은 5.5 배 빠릅니다. PS4 에서 전체 게임 씬에 대한 디스턴스 필드 AO 비용은 3.7ms 입니다.
  • 24. 테크니컬 디테일 주요 최적화는 카메라 주변을 따르는 글로벌 디스턴스 필드의 사용입니다. 일 반적인 오브젝트별 디스턴스 필드 전부를 몇몇 카메라 주변 볼륨 텍스처, 소 위 클립맵에 합성해 넣는 식으로 만듭니다. 새롭게 보이는 영역과 씬 변화에 영향받는 것들만 업데이트해 주면 되므로, 합성 비용은 많이 들지 않습니다. 클립맵 텍셀 크기 시각화 - 각 클립맵마다 색이 다릅니다.
  • 25. 글로벌 디스턴스 필드는 오브젝트 디스턴스 필드보다 해상도가 낮으므로, 모 든 것에 사용할 수는 없습니다. 스카이 오클루전에 대한 콘 트레이스 계산시, 오브젝트 디스턴스 필드는 셰이딩이 이루어지는 지점 근처에서 샘플링되는 반면, 훨씬 빠른 글로벌 디스턴스 필드는 더욱 멀리서 샘플링됩니다.
  • 26. 글로벌 디스턴스 필드 vs 오브젝트 디스턴스 필드에 대한 레이 트레이싱 시 각화입니다. 글로벌 디스턴스 필드의 표면이 얼룩덜룩해지고 얇은 오브젝트 가 사라집니다.
  • 27.
  • 28. 메시 디스턴스 필드를 통해 라이트로 레이 트레이스를 하는 방식의 새로운 다 이내믹 섀도잉 메소드가 생겼습니다. 날카로운 접선의 부드러운 에리어 섀도가 가능합니다! 레이 트레이스 소프트 섀도를 적용한 디렉셔널 라이트입니다. 긴 그림자는 부드러워 지며, 원거리의 셀프 섀도 디테일도 여전히 살아있습니다.
  • 29. 포인트 / 스포트 라이트에도 통합니다. 광원의 크기와 그에 따른 반그늘 크기를 조절하는 데 'Source Radius' 가 사용됩니다. 레이 트레이스 섀도는 예전의 캐스케이드 섀도 맵(CSM) 방식보다 먼 거리에 대해서도 효율적인 계산이 가능합니다. 원거리의 그림자는 레이 트레이스로 계산하면서 근거리의 그림자는 CSM 으 로 계산하여 두 접근법의 최적 조합을 뽑아낼 수 있습니다. 레이 트레이스 섀도는 캐스케이드 섀도 맵보다 GPU 상에서 보통 20-30% 빠릅니다. 이 디스턴스 필드는 디스턴스 필드 앰비언트 오클루전 기능에 사용되는 것과 같은 데이터입니다. 라이트에서 Use RayTraced DistanceField Shadows (레이 트레이스 디스턴스 필드 섀도 사용) 옵션, 프로젝트에서 Generate Mesh Distance Fields (메시 디스턴스 필드 생성) 프로 젝트 세팅을 켜서 활성화 가능합니다.
  • 30.
  • 31. 이 기능으로 머티리얼과 스페이스 내 특정 지점 사이에서 가장 가까운 입체면 사이의 거리를 싸 게 구할 수 있습니다. 머티리얼 에디터에서 글로벌 디스턴스 필드 프로퍼티를 접근하는 노드가 두 개 새로 생겼습니다.
  • 32. DistanceToNearestSurface 는 월드 스페이스 유닛으로 부호가 있는 거리를 반환합니다. 참 고로 거리는 불투명 메시 표면상에서는 항상 0 근처일 것입니다. DistanceToNearestSurface 를 사용하면 이펙트가 가려지는 것을 피할 수 있습니다. UE4 사용자 Roel Bartstra 가 이미 이를 활용한 재밌는 사례를 찾았습니다 - 하나는 소프트 바디 모양 내기 , 또 하나는 표면을 자동으로 피하는 흐름 맵 만들기 입니다. 모든 디스턴스 필드 기능과 마찬가지로, 이것 역시 렌더링 프로젝트 세팅에서 'Generate Mesh Distance Fields' (메시 디스턴스 필드 생성) 옵션을 켜줘야 합니다. 디스턴스 필드 머 티리얼 접근은 셰이더 모델 5 기능입니다. 셰이더 모델 4 하드웨어 대비를 위해서는 FeatureLevelSwitch 머티리얼 노드를 사용하세요.
  • 33. 디스턴스 필드 라이팅 최적화 디스턴스 필드 앰비언트 오클루전 및 레이 트레이스드 디스턴스 필드 섀도우 가 현 세대 콘솔과 중간 사양 PC 에서 30-50% 빨라졌습니다! 씬에 보다 사실적인 앰비언트 라이팅과 다이내믹 메 시에 에리어 섀도우를 드리울 수 있도록 해주는 기능입니다. 게다가, Intel 의 Embree 레이 트레이싱 라이브러리를 사용하여 메시 디스턴스 필드 생성 시간 도 2.5 배 빨라졌습니다. 프로젝트 세팅 중 Eight Bit Mesh Distance Fields (8비트 메시 디 스턴스 필드) 및 Compress Mesh Distance Fields (메시 디스턴스 필드 압축) 옵션을 사용 하면 메모리 사용량 역시 크게 감소합니다.
  • 34.
  • 35. 무버블 라이트용 섀도 맵 캐시 포인트 또는 스포트 라이트가 움직이지 않으면, 그 라이트에 대한 섀도 맵을 저장한 뒤 다음 프 레임에 재사용할 수 있습니다. 이 기능은 이제 자동으로 이루어져 배경이 잘 움직이지 않는 게임 에서는 그림자를 드리우는 무버블 포인트 / 스포트 라이트 비용 부담이 크게 줄어듭니다. 위 그림은 다이내믹 섀도를 드리우는 포인트 라이트가 33 개나 되는데, 부하가 매우 적게 걸리고 있습니다.
  • 36. 무버블 라이트용 섀도 맵 캐시 970 GTX 에서 1920x1200 해상도로 돌렸을 때 나오는 퍼포먼스는 다음과 같습니다. - 그림자를 드리우는 포인트 라이트 33 개를 섀도 뎁스에 렌더링할 때, 캐시가 없을 때: 14.89ms. - 섀도 맵 캐시가 있을 때: .9ms (약 16 배 향상!) - 참고로 33 개의 포인트 라이트가 기여하는 바를 렌더링하는 데 여전히 2ms 가 드는데, 이는 다른 방식으로 최적화시킬 수는 있지만, 이 변경사항에 영향을 받지는 않습니다. - 캐시에 사용되는 메모리는 "Stat ShadowRendering" 하에서 볼 수 있으며, 이 씬에서는 25.6Mb 였습니다. - 캐시에 사용되는 최대 메모리는 "r.Shadow.WholeSceneShadowCacheMb" 옵션으로 제어할 수 있습니다.
  • 37. 무버블 라이트용 섀도 맵 캐시 한계 - 기본적으로, 캐시가 벌어지는 상황은 다음과 같습니다: - 프리미티브의 모빌리티가 스태틱 또는 스테이셔너리 로 설정되어 있고 - 사용된 머티리얼이 월드 포지션 오프셋을 사용하지 않으며 - 라이트가 포인트 또는 스포트이고, 그림자를 드리우고, 모빌리티가 무버블로 설정되었으나 현재 움직이지는 않는 경우 - 애니메이션이 있는 테셀레이션이나 픽셀 뎁스 오프셋을 사용하는 머티리얼의 경우, 섀도 뎁스가 캐시되므로 부작용이 생길 수 있습니다.
  • 38.
  • 39. 스카이 라이트 무버블 스카이라이트 이제 스카이라이트에 무버블 모빌리티 세팅이 지원됩니다! - 이 라이트 유형은 동적인 씬 변화를 지원합니다. - SSAO 와 디스턴스 필드 AO 라는 신기능으로부터 그림자를 받습니다.
  • 40. 스카이 라이트 글로벌 일루미네이션 스테이셔너리 / 스태틱 스카이라이트에 대한 글로벌 일루미네이션을 라이트매스가 계산합니다! - 스카이 라이트의 Indirect Lighting Intensity (간접광 강도)를 사용하여 반사광의 밝기를 조절할 수 있습니다. - 모든 스테이셔너리 라이트와 마찬가지로 실행시간에 색이나 강도를 변경하면 직사광에만 적용 되는데, 반사광은 라이트맵에 구워지기 때문입니다. 원본 글로벌 일루미네이션 적용
  • 41.
  • 42. 자동 키 설정 기능을 하나의 토글 상태로 단순화시켜 사용 편의성과 명확성이 향상되었습니다.
  • 43. 시퀀서에 새로 생긴 토글 옵션으로 프로퍼티 변경사항을 단일 샷에 적용할지 다른 샷에도 전파시킬지 하는 부분을 확실하게 할 수 있어 작업 분할이 수월 해집니다. Allow Sequencer Edits Only (시퀀서 편집만 허용) 옵션을 켜 면, 프로퍼티를 편집할 때 트랙 및/또는 키프레임이 존재하지 않는 경우 자동 으로 생성합니다. 이러한 편집 내용은 작업중인 특정 샷에만 적용되며 다른 샷에 영향을 주지 않습니다. Allow Level Edits Only (레벨 편집만 허용) 옵션이 켜지면, 오브젝트의 기본 프로퍼티를 편집하게 됩니다. 시퀀서에 이미 트랙이 있는 프로퍼티는 모든 샷에 영향을 주는 전체 변경 작업을 하고자 할 경우 디테일 패널에 비활성화됩니다.
  • 44. 개선사항 - 액터에 붙은 오디오 섹션의 어테뉴에이션(감쇠) 세팅이 생겼습니다. - 어태치 섹션의 붙이고 떼는 규칙을 지정할 수 있습니다. - 레벨 시퀀서 플레이어에 시네마틱 옵션을 추가했습니다. - 벡터, 트랜 - 스폼, 컬러 키 프로퍼티 에디터에 Key Time 을 추가했습니다. - 다음/예전 샷으로 한 단계씩 이동(step)하는 단축키가 생겼습니다 (Shift + 쉼표, Shift + 마침표). - 스크럽 이동으로 키에 스냅할 때 이제 허용치 밖으로의 스크럽 이동도 허용 됩니다. - 이제 에디터 개인설정의 세팅을 사용하면 시퀀서로 전환할 때 실시간 뷰포 트를 활성화시킬 수 있습니다.
  • 45. 버그 픽스 키 설정이 크게 바뀌었습니다. 픽스 - 스폰 해제/리스폰 시 스포너블 상태/프로퍼티가 저장/복원되지 않던 것을 고쳤습니다. 픽스 - 필터링을 할 때 시퀀서 아웃라이너가 노드를 추가하던 것을 고쳤습니 다. 픽스 - 레벨 시퀀스 비동기 로드가 수정되었습니다. 픽스 - 자동 키 기능이 (제대로 복원하기 위해 필요한) 키프레임 생성을 하지 않으면 프로퍼티 값을 저장하지 않던 것을 고쳤습니다.
  • 46. 시퀀서 월드 아웃라이너 통합 시퀀서가 이제 월드 아웃라이너와 더욱 유기적으로 통합되었습니다. 월드 아 웃라이너에는 액터가 묶여있는 레벨 시퀀스가 무엇인지, 시퀀서가 스폰한 액 터가 무엇인지 표시되므로, 한 곳에서 시퀀서에 묶인 모든 액터를 접근할 수 있습니다.
  • 47. 이제 시퀀서에서 섹션을 블렌딩하여 부드러운 전환을 쉽게 만들 수 있습니다. 시퀀서의 여러 프 로퍼티(2D/3D 트랜스폼, 벡터, 컬러, 플로트 등)에 대한 블렌딩이 가능합니다. 지원되는 섹션 모두 이제 서로 겹칠 때 부드럽게 블렌딩되어 오브젝트에 적용되는 단일 값을 산 출해 냅니다. 같은 행에 겹치는 섹션은 이제 가능하면 한 쪽에서 다른 쪽으로 서서히 자동 보간됩니다. 애니메이션 트랙 역시 이제 자동 보간됩니다. 다수의 내장 이즈(ease) 함수를(선형, 다항, 지수형 이즈 인/아웃 등) 기본으로 사용 가능합니 다. 또는, (BP 에서도 사용 가능한) IMovieSceneEasingFunction 인터페이스를 사용하여 별도의 커스텀 블렌드 함수를 구현하거나 커브 애셋을 지정할 수 있습니다. 섹션 트랜스폼 작업은 이제 트랜스폼 나머지에 영향을 주지 않고 (위치+회전 같은) 어떤 식의 채 널 조합에 대해서도 작업 가능합니다. 또한 블렌더블 프로퍼티에 새로운 블렌드 모드를 추가, 가중치 적용 절대적 / 상대적 / 더하기식 블렌딩이 가능합니다. 프로퍼티의 시작 값을 기준으로 한 프로퍼티 애니메이션이나, 절대 또는 상대 스페이스로/에서의 (컷씬 속으로 또는 컷씬 밖으로) 보간하는 등의 작업에 특히 유용합니 다. 절대 위치와 값으로 블렌딩하는 카메라 프로퍼티 및 상대 트랜스폼에 대한 데모입니다: