그림을표시할수없습니다. UE4 의대규모배경제작사례 ( 드로잉 특수표현편 ) 주식회사스퀘어 에닉스사이토오사무요시오카쿠니토스야마토시아키 2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

Similar documents
서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12

1

Print

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

Windows 8에서 BioStar 1 설치하기

View Licenses and Services (customer)

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

3D MAX + WEEK 9 Hansung Univ. Interior Design

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

UNREAL ENGINE

No Slide Title

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

Hyrauic cyiners T,TH,TM T IS 84 TH T TM 2 T()(3)-4()1-(1537)(L7)(1)()()()(M)(Z1) T: mm TH TM ( 3 TH: 4 TM:MI

Microsoft PowerPoint - chap01-C언어개요.pptx


Microsoft PowerPoint - NV40_Korea_KR_2.ppt

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

로거 자료실

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

gnu-lee-oop-kor-lec06-3-chap7

슬라이드 1

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Studuino소프트웨어 설치

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2

ISP and CodeVisionAVR C Compiler.hwp

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Microsoft PowerPoint - lecture19-ch8.ppt

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

iOS5_1±³

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

mobile_guide_SA

SIGIL 완벽입문

wtu05_ÃÖÁ¾

Best of the Best Benchmark Adobe Digital Index | APAC | 2015

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

슬라이드 1

언리얼엔진4_내지_ indd

PowerPoint 프레젠테이션

PowerPoint Presentation

<5BB0EDB3ADB5B55D B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D D3135B9AEC7D72E687770>

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

C스토어 사용자 매뉴얼

Web Scraper in 30 Minutes 강철

サーボモータ用高精度減速機_AFC_Aシリーズ

1809_2018-BESPINGLOBAL_Design Guidelines_out

chap 5: Trees

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

유니티 변수-함수.key

Microsoft Word - Armjtag_문서1.doc

슬라이드 1

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

Microsoft Word - Lab.4

Microsoft PowerPoint - MonthlyInsighT-2018_9월%20v1[1]

PowerPoint Presentation

슬라이드 1

언리얼엔진4_내지_ indd

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint 프레젠테이션

Microsoft Word - CSWP_sample(KOR).docx

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

4S 1차년도 평가 발표자료

ePapyrus PDF Document

adfasdfasfdasfasfadf

6_5상 스테핑 모터_ _OK.indd

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

untitled

Microsoft Word - logic2005.doc

BS-K1217-M□□-3012_ProductGuide_KR_PDF

Windows 10 General Announcement v1.0-KO

Microsoft PowerPoint - Next generation Shading&Rendering_KR_4.ppt

(Microsoft PowerPoint - \301\24615\260\255 - \303\346\265\271\303\263\270\256)

RHEV 2.2 인증서 만료 확인 및 갱신

2

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

vRealize Automation용 VMware Remote Console - VMware

Chapter 4. LISTS

coverbacktong최종spread

03_queue

ADP-2480

디지털일안리플렉스카메라펌웨어업그레이드순서에대하여 (Mass Storage 대응기종 ) - Mac 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는이번다운로드대상이되는니콘디지털일안리플렉스카메라의펌웨어버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은

스마트폰 모바일 랩 세미나

캐비노티에 임페리얼 타이거 캐비노티에 머제스틱 타이거 캐비노티에 와일드 팬더 개요 두 가지의 특별한 기법 야생 동물을 향한 찬사, 메종의 유서 깊은 기술로 완성 워치메이킹 기술과 예술 공예의 조화를 통해 완성된 탁월한 타임피스 파운싱 장식의 인그레이빙과 마르퀘트리 기법

개요

Transcription:

UE4 의대규모배경제작사례 ( 드로잉 특수표현편 ) 주식회사스퀘어 에닉스사이토오사무요시오카쿠니토스야마토시아키

약칭에대해 Unreal Engine4 를슬라이드내에서는 UE4 로표기하고있습니다.

목록 자기소개 / 처음으로 바다 하늘구름 이 ( 異 ) 세계 파쇄 지형 라이팅 섀도 식물 눈 각렌더링패스 ( 데칼포그 SSR SSAO) 포스트프로세스

お品書き 자기소개 / 처음으로 海 異世界 空 雲 破砕 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

자기소개 / 처음으로 사이토오사무테크니컬아티스트 배경만드는방법등을생각하거나서포트하거나 처리부하를보거나대응하는일을하고있습니다 요시오카쿠니토그래픽프로그래머 그래픽전반에대한지원 그래픽담당으로참여하는건처음임 스야마토시아키 그래픽프로그래머 배경의그래픽이슈지원 드로잉관련오류조사 대응

자기소개 / 처음으로 처음으로이번사례에서는 UE4.17.2 를사용하고있습니다. 때문에최신버전에서는변경이나수정이돼있을수있습니다. 또한다양한엔진개조를하고있기때문에, 상황이재현되지않을수있습니다.

자기소개 / 처음으로 다음으로 이번기회에가능하면많은사례를공유했으면합니다. 그결과많은분들이관여하게된부분도있어 특수사례의나열이되고말았습니다. 상세한부분은나중에 Q&A 혹은개별적으로질문주시면감사하겠습니다.

자기소개 / 처음으로 마지막으로 이번배경제작사례는많은분들의여러도움을통해달성할수있었습니다. 아래발표사례에대해흔쾌히협력해주신여러분께깊은감사의마음전하고싶습니다. 고토타모츠나카미치마사시나카켄고마츠오카히데키요시다타케시 마츠모토아키라하노노리토모치즈키노리츠구키무라요이치나카무라다이사쿠 모리타히데아키카와사키코지 ( 존칭생략 )

목록 자기소개 / 처음으로 바다하늘구름지형식물눈 이 ( 異 ) 세계 파쇄 라이팅섀도 각렌더링패스 ( 데칼포그 SSR SSAO) 포스트프로세스

お品書き 自己紹介 / 初めに 바다 異世界 空 雲 破砕 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

바다 필요요건 실사처럼리얼하게 헤엄칠수있다 잠수할수있다 멀리내다볼수있다 해전을할수있다

바다 사용한기법 FFT 프로젝션그리드 하이트맵밀려오는파도 굴절확장 반사확장

海 使用した手法 FFT プロジェクショングリッド ハイトマップ打ち寄せ波 屈折拡張 反射拡張

바다 FFT Fast Fourier Transform 많은사인 (sine) 파를추가하면복잡한형상을만들수있습니다. 그것을고속으로계산하는방식이라해두도록하죠.

바다 FFT X 변위스팩트럼 Dx 처리는 오른쪽그림순서대로 이뤄집니다. 초기스팩트럼 Z 변위스팩트럼 Dz 디스플레이스먼트 노멀 Y 변위스팩트럼 Dy

바다 FFT X 変位スヘ クトル Dx 512*512 의초기스펙트럼분포텍스처로부터 초기스팩트럼 Z 変位スヘ クトル Dz テ ィスフ レイスメント ノーマル Y 変位スヘ クトル Dy

바다 FFT X 변위스팩트럼 Dx XYZ 각방향별로경과시간후의변위스펙트럼생성 初期スペクトル Z 변위스팩트럼 Dz テ ィスフ レイスメント ノーマル Y 변위스팩트럼 Dy

바다 FFT X 変位スヘ クトル Dx 각스펙트럼에 IFFT 를실행하여, 변위량을산출 初期スペクトル Z 変位スヘ クトル Dz テ ィスフ レイスメント ノーマル Y 変位スヘ クトル Dy

바다 FFT X 変位スヘ クトル Dx XYZ 변위량을합성해서, 디스플레이이스먼트를 생성 初期スペクトル Z 変位スヘ クトル Dz 디스플레이스먼트 ノーマル Y 変位スヘ クトル Dy

바다 FFT X 変位スヘ クトル Dx 디스플레이이스먼트에서 경사를줘서 노멀을생성 初期スペクトル Z 変位スヘ クトル Dz テ ィスフ レイスメント 노멀 Y 変位スヘ クトル Dy

바다 FFT 이디스플레이스먼트 X 変位スヘ クトル Dx 와노멀을 머티리얼측에서 불러사용하고있습니다. 해상도는 512*512 初期スペクトル Z 変位スヘ クトル Dz 디스플레이스먼트 노멀 입니다. Y 変位スヘ クトル Dy

바다 FFT 결과

바다 FFT 이것으로, 바다의외형은만들어졌습니다. 하지만, FFT 는 GPU 에서실행되고있고, 이것을 CPU, 게임측에서사용할수있도록할필요가있습니다. ( 안그러면캐릭터가헤엄치거나할수없습니다.)

바다 FFT RenderingThread CPU 로읽어들이는처리는 오른쪽그림순으로이뤄집니다. (Rendering Thread는 Ocean Simulation Async Transfer Completed Readback Request 바다시뮬레이션뒤에계속처리 ) GameThread AsyncTask 읽어들이는처리는비동기로 하고있습니다. Update Simulation

바다 FFT 불러들이기리퀘스트처리를하기위해바다시뮬레이션결과의 Displacement/Normal 을별도텍스처에복사 드로잉완료확인용으로 Occlusion Query 를생성해커맨드리스트에축적함 RenderingThread Ocean Simulation GameThread Async Transfer Completed AsyncTask Update Simulation Readback Request

바다 FFT Query 가완료됨 (= 드로잉이완료됨 ) 읽어들이기리퀘스트가있으면복사한텍스처를매핑하여어드레스를보존 또한동시에 GameThread 에비동기태스크로서 CPU 측에서참조할어드레스의갱신을하게한다 RenderingThread Ocean Simulation GameThread Async Transfer Completed AsyncTask Update Simulation Readback Request

바다 FFT RenderingThread 시뮬레이션결과의 주소를반영해, 레이캐스트등으로적절하게참조 Ocean Simulation GameThread Async Transfer Completed AsyncTask Update Simulation Readback Request

바다 FFT 이것으로캐릭터가헤엄칠수있는바다가완성됐습니다. 하지만광활하게펼쳐진범위전체에 고밀도폴리곤을 유지할수는없습니다.

바다 FFT 이것으로캐릭터가헤엄칠수있는바다가완성됐습니다. 하지만광활하게펼쳐진범위전체에 고밀도폴리곤을 유지할수는없습니다. 카메라에비치는범위만바다를만들자

海 使用した手法 FFT 프로젝션그리드 ハイトマップ打ち寄せ波 屈折拡張 反射拡張

바다 프로젝션그리드 프로젝션그리드란? 카메라의프러스텀을이용하여 보이는범위만 그리드맵을작성하고 있습니다.

바다 프로젝션그리드 투영하는그리드는 8 장의메시로나눠져있고, 거리에따라줄이고있습니다.

바다 프로젝션그리드 프로젝션그리드는거리에따라머티리얼을전환할수있게되어있어, 근경은반투명, 중경은마스크, 원경은불투명과같은방식으로구분해사용할수있습니다. 또, 각각의파라미터는전용머티리얼함수 (material function) 에서액세스할수있게되어있어, TA가적절히운용하고있습니다.

바다 프로젝션그리드 이것으로고밀도이면서고품질의바다를완성했습니다

바다 프로젝션그리드 이것으로고밀도이면서고품질의바다를완성했습니다 하지만해안에부자연스럽게들이친다

海 使用した手法 FFT プロジェクショングリッド 하이트맵밀려오는파도 屈折拡張 反射拡張

바다 하이트맵밀려오는파도 하이트맵밀려오는파도란? 지형의하이트맵을이용해해안을향해들이치는파도를만들었습니다. 또한동시에지형보다높게해면이올라가지않도록제한하고있습니다.

바다 하이트맵밀려오는파도 하이트맵밀려오는파도란? 또한노이즈를추가하거나월드포지션오프셋이나노멀을조정해자연스러운파도로보이도록하고있습니다. 하이트맵의해상도를유지하기위해섬마다볼륨판정을해서다르게읽기도합니다.

표시할수없습니다. 바다 하이트맵밀려오는파도그림을 또파도의형상은이차원의변위량을텍스처에베이크해서그것을참조하기도합니다. 이부분은컷신등으로사용했습니다.

海 使用した手法 FFT プロジェクショングリッド ハイトマップ打ち寄せ波 굴절확장 반사확장

바다 굴절확장 UE4 의리프랙션은배경에넣게되면이펙트와의궁합이좋지않습니다.

바다 굴절확장 여기서배경용리프랙션처리를추가했습니다. 현재프레임의베이스패스의씬컬러를복사해두고, 그것을왜곡하여참조하는방식으로구현되어있습니다.

바다 반사확장 또한캐릭터가바다에들어가기때문에 반투명의바다로하는것은 필수였지만, 퀄리티를위해서 SSR 이필요했습니다.

바다 반사확장 하지만 UE4 의반투명 SSR 은몇가지문제가있어 FXAA 에서는사용할수없음 (UDN 으로해결 ) 1 프레임앞의버퍼를사용하기때문에카메라전환시지연됨 심도판정이느슨해가까운물체가비친다 Surface Forward Shading 에서사용할수없다 https://udn.unrealengine.com/questions/423378/%e5%8d%8a%e9%80%8f%e6%98%8essr%e3%81%8bfxaa%e3%81%ae%e 5%A0%B4%E5%90%88%E9%BB%92%E3%81%8F%E6%BD%B0%E3%82%8C%E3%81%BE%E3%81%99.html

바다 반사확장 여기서반투명 SSR 처리를별도로추가했습니다. 굴절과마찬가지로, 현재프레임의베이스패스의씬컬러를사용합니다. 반사를커스텀노드에서접근할수있기때문에머티리얼별로반사강도나정확도등을조정할수있어편리했습니다.

바다 반사확장 또, 커스텀노드가복잡한코드를쓰는데는불편해서, ush 를 include 하는기능도추가구현했습니다.

바다 반사확장 또한 흔히쓰는기법이라생각하지만 아티스트가드로잉을할때 반사상태를조정하고싶었기때문에 큐브맵을참조하는유사반사도주요부분에사용하고있습니다.

바다 반사확장 반사와관련해서는 EV 에따라외관이변화하는것을피하고싶었기때문에, 이미시브 (Emissive) 로의 EV 카운터도구현했습니다.

바다 반사확장 이미시브 EV 카운터는머티리얼프로퍼티로설정할수있도록확장했습니다. ( 머티리얼의프로퍼티메트릭스는 4.8 부터사용할수없지만 https://udn.unrealengine.com/questions/258128/view.html 편의성을위해버그를허용해사용할수있도록하고있습니다. )

바다 반사확장 또한반사는기본적으로는 SSR 을사용하고있지만컷신등에서일부분은퀄리티업할필요가있었습니다. 이부분은씬캡처를사용해반사를구현했습니다.

바다 반사확장 단, 씬캡처의부하가매우높았기때문에 해상도제한 렌더링패스제한 렌더링대상제한을적절히했습니다. 또한렌더링대상제한은제어하기쉽도록액터측에렌더링여부를정하는프로퍼티를추가했습니다.

바다 반사확장 Planar Reflection은사용하지않았습니다. 엔진확장에의한것인지의도치않은발광버그가생기거나셰이더메모리의증가를피하고싶었기때문입니다. 수면이하클립에대해서는 개별적으로머티리얼측에마스크 처리를추가하여대응했습니다. http://api.unrealengine.com/jpn/engine/rendering/lightingandshadows/planarreflections/

お品書き 自己紹介 / 初めに 海 하늘구름 異世界 破砕 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

하늘구름 필요요건 구름이움직이면좋겠다 시간에따라변하면좋겠다 세계관에맞추어 리얼하게 툰(Toon) 스럽게

하늘구름 필요요건 구름이움직이면좋겠다 시간에따라변하면좋겠다 세계관에맞추어 리얼하게 툰(Toon) 스럽게 여러가지요건이있었기때문에다양한기법을조합했습니다.

하늘구름 사용한기법 2D노이즈적층 (stack) 플로맵 IBL 수정 렌더링 레이마치

空 雲 使用した手法 2D노이즈적층 (stack) 플로맵 IBL 수정 렌더링 レイマーチ

하늘구름 2D 노이즈적층 시간변화에대응하기위해, 노이즈텍스처를겹쳐서, 비켜놓거나더하거나늘어뜨려프로시저 (procedure) 한 2D 구름을만들었습니다. 노이즈텍스처를 6 회 3 층샘플링한고퀄리티의하늘이됩니다.

하늘구름 2D 노이즈적층 3 층의구름은메시측에서구름의고도를고려한 UV 를각각작성한것을참조하고있습니다.

하늘구름 플로맵 또한바람의방향에맞춰서구름이자연스레흐르듯이플로맵도사용했습니다. 2D 노이즈적층과조합하여타임랩스표현등에도이용했습니다.

하늘구름 IBL 수정 또한각로케이션, 각계절, 각시간대별많은 360 도하늘 ( 全天球 ) 이미지도촬영했습니다. 원래는 IBL 용으로촬영하고있었는데, 품질이좋은것은약간의수정을거쳐스카이스피어이미지에도사용했습니다.

하늘구름 렌더링 Terragen 이나 Houdini 를이용한 렌더링도진행했습니다. Terragen에서는주로스카이스피어용스페리컬 (spherical) 이미지를, Houdini에서는주로구름빌보드나레이마치용 3D텍스처제작등을했습니다.

하늘구름 렌더링 또한각 HDR 이미지는의도치않은에러를막기위해피크휘도를 4.0 으로억제하고있습니다.

空 雲 使用した手法 2Dノイズ積層 フローマップ IBL 修正 レンダリング 레이마치

하늘구름 레이마치 볼류메트릭 (volumetric) 한구름에대한요청도있었기에레이마치구름도구현했습니다. 니즈로보자면 들어갈수있는구름 이였습니다.

하늘구름 레이마치 운용에관해서는, 구름한덩이당한개의 BP 을배치해제어했습니다. 그림패스는 UE4 의반투명을확장했습니다.

하늘구름 레이마치 레이마치구름은처리부하대응에의해 1/4 축소버퍼로렌더링하고있습니다. 또별도버퍼에각각의구름아이디도렌더링하고있습니다.

하늘구름 레이마치 그릴때는축소버퍼와 ID 버퍼를사용해순차적으로업스케일합성해나갑니다. 개별아이디버퍼를사용하는이유는구름과구름사이에다른반투명 ( 이펙트등 ) 이들어가는것을고려하기위함입니다.

하늘구름 레이마치 또구름에는캐릭터가들어가야할필요가있기때문에뒷면렌더링할수있도록엔진확장도진행했습니다.

하늘구름 레이마치 아티스트분들의요청으로 3D 텍스처를이용해임의형상으로해보거나나선회전이동을구현하기도했습니다. 레이마치는기본적으로국소적으로사용되고있지만, 처리부하는최악의경우 2ms 정도였습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 지형 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

지형 지형은기본적으로메시로작성했습니다. 모듈애셋으로조합하거나, 특수한지형은원오프로작성하기도했습니다.

지형 단자연지형에서는, 국소적으로랜드스케이프도사용하고있습니다. 그이유는 콜리전 (collision) 제작코스트 피지컬머티리얼설정코스트완화를위함입니다.

지형 특히피지컬머티리얼은다수의설정을적절히설정할필요가있기때문에, 랜드스케이프레이어로설정할수있는것은편리했습니다

지형 예를들어정점컬러의색칠구분은피지컬머티리얼이대응할수없는경우가많아, 그경우에는수작업으로오버라이드볼륨 ( 확장 ) 을설치하게되기때문에, 랜드스케이프의편의성에의지했습니다.

지형 하이트맵작성에관해서는 houdini 의하이트필드도사용했습니다. 대강의지형을메시로작성후, 디테일추가등을했습니다.

지형 또한랜드스케이프컴포넌트는캐릭터가가지않는곳은어떻게든삭제했습니다. 지형의위치나입자크기에따라별도레벨로나누어작은단위의랜드스케이프를만들어운용했습니다.

지형 또한타일링감완화를위해셰이더에서도여러모로검증했습니다. TextureBomb 이라고하는, 많은텍스처샘플링을해서혼합하는기법입니다. (UE4 의머티리얼함수에도있습니다. 운용시에는샘플링수를가변할수있도록개조했습니다.)

지형 WangTile 이라는랜덤샘플링기법도검증했습니다. 이런텍스처를만들어, 랜덤배치하는것으로타일링감을완화합니다.

지형 이러한특수텍스처는 SubstanceDesigner 등에서적절하게작성을자동화했습니다.

지형 지형의푹들어감완화에는, 하이트맵을이용한조정을하기도했습니다.

지형 또한국소적으로는픽셀뎁스 (depth) 를이용해어우러지게도했습니다. ( 디스턴스필드는메모리나처리부하의관점에서사용하지않았습니다.)

지형 시차도사용하고있습니다. 패럴랙스오클루전 (Parallax occulusion) 은무거운것과적층감으로문제가생겼었기때문에, 콘스텝맵이라는사전계산텍스처하나를추가한릴리프 (relief) 매핑을구현했습니다. (POM 도사용하고있습니다.)

지형 콘스텝맵은그위치에서가장가까운교 ( 차 ) 점의거리정보가베이크돼있습니다. 그것을이용함으로써정밀하게, 고속으로릴리프매핑을할수있는기법입니다. https://developer.nvidia.com/gpugems/gpugems3/gpugems3_ch18.html

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 地形 ライティング シャドウ 식물 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

식물 식물은기본적으로 SSS나 TwoSidedFoliage를사용해양면화, 정점오프셋을사용해바람의흔들림이나쓰러진풀등구현하고있습니다.

식물 쓰러진풀은전용 BP를배치하여, 머티리얼파라미터컬렉션에캐릭터위치나범위등이전달됩니다. 그것을머티리얼쪽에서사용하는것으로구현되어있습니다. 동시에판정가능한캐릭터수는 6개까지입니다.

식물 바람의흔들림은노이즈베이스, 흔들릴때는정점컬러나 UV 에흔들리는정도를나타내는그라데이션을넣어두고, 자연스럽게흔들리도록조정하고있습니다. 약간의 Tips 를드리자면 VertexInterpolator 를사용하면, 인스턴스화된경우에도각각의인스턴스의피벗 (pivot) 위치를얻을수있습니다.

식물 또한식물은그림자모델도사용합니다. 대략 1/5 정도의폴리곤수로그림자모델은작성하고있습니다. 그림자가거의다드리워진곳에는하나의플레이트그림자모델도사용하고있습니다. 덤불등은간이그림자모델로대체하기도합니다.

식물 스피드트리도사용하고있습니다. 바람의흔들림도스피드트리의기능을 그대로사용하고있습니다. (UV8 채널이사용돼버리는데 제작비용을감안해서 사용하기로했습니다.)

식물 스피드트리를사용하지않는나무의바람흔들림에대해서는, Houdini 로부모 - 자식피벗을자동으로넣을수있는 HDA 를작성해, MAYA 나 houdini 로운용했습니다.

식물 폴리지 (foliage) 도사용하고있습니다. 하지만, 되도록사용하지않도록하고도있습니다. ( 미세조정하기어렵고, 데이터가시화의어려움, 버그가많은등의이유입니다.) 또한컬링이덩어리로처리돼버리기때문에거리에따라지면에묻어서 ( 정점오프셋 ) 자연스럽게전환되도록있습니다.

식물 최종 LOD 에는인포스터도사용하고있습니다. 작성은 UE4 의 RenderToTexture_LevelBP 를사용하고있습니다. 1 회전축에서 8*8 패턴, 1024*1024 의 BaseColor, 트리플마스크, 노멀의 3 장으로운용하고있습니다.

식물 또한인포스터에대해서는라이트맵을안정적으로굽는게어려웠기때문에 LOD0 에베이크용판자를넣어서, 그것을참조시켰습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 地形 ライティング シャドウ 植物 눈 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

눈 필요요건 캐릭터가걸으면움푹패인다

눈 눈패임은들어가게하고싶은에리어를박스로감싸면, 그영역이 SceneCapture2D 에의해바로아래부터심도렌더링이됩니다. 그후얻은심도를가공하여시차매핑용텍스처를만들어구현하고있습니다.

눈 처리의흐름은, 1. 지형의심도렌더링 2. 캐릭터의심도렌더링 3. 별도버퍼에시차용텍스처를작성이라는순서입니다.

눈 제반처리는 BP 로작성되어있고, BP 에는지형용과캐릭터용각각의 SceneCapture2D 가 2 개, 텍스처작성 & 가공은 DrawMaterial ToRenderTarget 으로짜여있습니다.

눈 시차머티리얼은 UE4 의 ParallaxOcclusionMapping 을사용하고있습니다.

눈 발생한문제

눈 1F 지연문제 BP 에서의 texture 가공처리가, 신캡처의렌더링보다먼저이뤄지기때문에 1F 뒤처지게된다. 회피하기위해캡처직후 UpdateDeferredCaptures (FSceneInterface* Scene) 중인 Update Scene Capture Contents 의처리후 BP 이벤트로브로드캐스트하고있습니다. BP 측에서는그이벤트를바인드해서텍스처가공을하고있습니다.

눈 눈버퍼클리어대응일정이상캐릭터위치가움직인경우버퍼클리어하고있습니다. ( 컷신등으로캐릭터의서있는위치가순식간에바뀌는경우가있기때문.) 강제적으로클리어하는 BP 노드등도사용했습니다. 고속이동의보간 ( 補間 ) 미끄러지는듯한이동으로속도가빠르면얼룩덜룩부자연스러운패임이되기때문에특정모션만심도드로잉용리본파티클을보내고있습니다. 광활한지형에대한대응광활한지형에서는캡처위치를항상플레이어에추종하도록갱신했습니다. 렌더링범위의가장자리부분은페이드해서서서히사라져갑니다. 또, 눈패임의범위는상황에따라적절히조정하고있으며, 대략 50m~100m 의범위, 텍스처해상도는 512~768 정도입니다. 강한제약으로움푹패인영역에서는지형의오버행은금지되어있었습니다

눈 또, 눈의시스템을활용해모래사장이썰물로젖는부분도구현했습니다.

눈 눈의셰이더에는, 스노우플레이크의요청도있었기때문에, 그리드베이스의스노우플레이크를구현했습니다. 참고 URL:http://advances.realtimerendering.com/s2015/

お品書き 自己紹介 / 初めに 海 이 ( 異 ) 세계 空 雲 破砕 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

이 ( 異 ) 세계 필요요건 이 ( 異 ) 세계에연결된포털 안에들어갈수있다

이 ( 異 ) 세계 사용한기법 공간큐브맵 평면레이마스크 감산메시

異世界 使用した手法 공간큐브맵 평면레이마스크 減法メッシュ

표시할수없습니다. 이 ( 異 ) 세계 공간큐브맵그림을 평면이면들어가버리기때문에공간매시에큐브맵을붙였습니다. 또한셰이더측에서공간의기울기나, 위장퍼스 (pers) 조정등도대응했습니다.

이 ( 異 ) 세계 공간큐브맵 평면이면들어가버리기때문에공간매시에큐브맵을붙였습니다. 또한셰이더측에서공간의기울기나, 위장퍼스 (pers) 조정등도대응했습니다. 그러나이대로라면, 옆에서봤을때삐져나온게보여버린다.

이 ( 異 ) 세계 평면레이마스크 여기서평면에대한레이판정을해서포털범위에서벗어나면마스크하도록했습니다. Ray : P = P0+tV Plane: P N+d = 0 (P0+tV) N+d = 0 t = -(P0 N+d)/(V N) P = P0+tV P0 V P N

이 ( 異 ) 세계 평면레이마스크 여기서평면에대한레이판정을해서포털범위에서벗어나면마스크하도록했습니다. 공간큐브맵의안쪽에벽등이있으면들어가버린다.

異世界 使用した手法 空間キューブマップ 平面レイマスク 감산메시

이 ( 異 ) 세계 감산메시 뒷면렌더링한메시로뎁스를덮어쓰기하는것으로, 메시형상으로깎아내는듯한그림을그릴수있습니다.

이 ( 異 ) 세계 감산메시 감산에사용하는메시는뎁스테스트를역전시켜, ( 들어간부분만그림 ) 양면그리기를해서, 스텐실로교차돼있는부분만을추출합니다. TStaticDepthStencilState< false, CF_DepthFartherOrEqual, // reverse depth-test true, CF_NotEqual, SO_Keep, SO_Keep, SO_Decrement, // front-face stencil-test true, CF_NotEqual, SO_Keep, SO_Keep, SO_Increment // back-face stencil-test >::GetRHI(), 0x00 그후, 추출한부분에뒷면의뎁스를그려넣어, 마지막으로추출시에부서진스텐실을원상회복하면완료입니다.

이 ( 異 ) 세계 감산메시 감산메시에서, 공간큐브맵에들어가있는메시를깎아내는걸통해, 비로소위화감없는이 ( 異 ) 세계의문이구현됐습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 파쇄 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

파쇄 사용기법 이펙트교체 부서진메시교체 본애니메이션 정점오프셋파쇄 시뮬레이션애셋

破砕 使用した手法 이팩트교체 被破壊メッシュ差し替え 骨アニメ 頂点オフセット破砕 シミュレーションアセット

파쇄 이펙트교체 대미지를주면그순간파편이흩날리는이펙트로교체합니다. 외관과타이밍, 처리부하의조정이용이합니다. 파편의콜리전판정은들어있거나들어가있지않거나적절히조정하고있습니다.

파쇄 이펙트교체 단, 이펙트로교체만해서는부자연스럽게남는경우가있기때문에, 한쪽이깨지면다른한쪽에통지를보내동시에부수는방식도사용하고있습니다. (BP 로대상액터를지정해서부수고있습니다.)

破砕 使用した手法 エフェクト差し替え 부서진메시교체 骨アニメ 頂点オフセット破砕 シミュレーションアセット

파쇄 부서진메시교체 이펙트교체로는좀위화감이큰것에사용하고있습니다. ( 거대한바위라던가.) 부서진메시는 LOD 를사용할수없는등의문제가있기때문에, 콜리전히트한타이밍에스태틱메시에서부서진메시로갈아끼우고있습니다. 부서진메시는 UE4 내에서작성하고있습니다. (apex 는검증했습니다만작성비용때문에사용하지않았습니다.)

破砕 使用した手法 エフェクト差し替え 被破壊メッシュ差し替え 본애니메이션 頂点オフセット破砕 シミュレーションアセット

파쇄 본애니메이션 의도된파쇄애니메이션이 필요한경우는본애니메이션으로구현했습니다. 작성수단은 houdini 의 RBDtoFBX, MAYA 의 Pull DownIt 등입니다. 강체 ( 剛体 ) 시뮬에는 VertexAnimationTexture를사용하지않았습니다. VAT 가아니라본으로베이크한이유는애니메이션압축의효율이좋기때문입니다. (CPU 부하보다메모리를우선했습니다.)

파쇄 본애니메이션 본애니메이션에대해서는모델이나머티리얼에서도여러시도를했습니다. 자연스러운파쇄를하기위해, 애니메이션에맞춰매끄러운노멀을블렌드하거나,

파쇄 본애니메이션 엣지에전용 UV 를준비해서, 폴리곤을줄이거나정점컬러를넣어, 머티리얼을조정하기도했습니다.

破砕 使用した手法 エフェクト差し替え 被破壊メッシュ差し替え 骨アニメ 정점오프셋파쇄 シミュレーションアセット

파쇄 정점오프셋파쇄 게임의상황에따라파쇄하고싶다는요청이있었기때문에, 머티리얼에서의정점오프셋파쇄도했습니다. 파편에는각각의피벗위치가 UV 에저장되어있으며, 게임상황에따라변하는렌더타깃을참조해, 파편마다트랜스폼을해서구현하고있습니다.

破砕 使用した手法 エフェクト差し替え 被破壊メッシュ差し替え 骨アニメ 頂点オフセット破砕 시뮬레이션애셋

파쇄 시뮬레이션애셋 파쇄와는조금다른이야기이지만, Simulate Physics 를사용하는것에대해서는전용클래스에여러가지필요한프로퍼티를추가해운용했습니다. 기본적으로평상시에는 sleep 시켜놓고 wake 하면시간, 거리, 데미지를보고사라지게되어있습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 地形 植物 雪 라이팅섀도 各レンダリングパス ( デカールフォグ SSR SSAO) ポストプロセス

라이팅

라이팅 채택기법 라이트매스에의한베이크가주를이루고있습니다. 스테이셔너리를메인, 스태틱을보조로. 무버블도일부분사용했습니다.

라이팅 채택기법 라이트부분은기본적으로라이트리그라불리는 BP 로운용하고있습니다. 디렉셔널라이트 ( 스테이셔너리 ), 스카이라이트 ( 스태틱 ), 스카이스피어 ( 天球 ) 를하나로묶고있으며, 태양의위치나직접광간접광의휘도차방향등이알맞게설정되어있습니다.

라이팅 채택기법 또한이전에 Lightmass Deep Dive 의조도베이스라이팅에서 현실기준의라이팅을하고있다 고발표했습니다만그후형태를바꿨습니다.

라이팅 채택기법 그이유는발표후아주우수한라이팅전담자가들어와서, 라이팅팀이설립되었고페인팅워크플로를정리했기때문. 사용하고있던 EV 의폭도, 현실베이스의 10 에서 5 정도로제한해현실베이스의기법을전제로하면서페이팅을염두해변경해간형태라할수있습니다. ( 현실베이스의너무나도넓은 EV 폭은작업에 지장이있었기에아주도움이되었습니다.)

라이팅 기능확장 또한라이팅팀이생긴덕에니즈에맞춘다양한기능이확장되었습니다.

라이팅 기능확장 각레벨단위로라이트매스의품질조정을하고싶었기때문에, Lightmass.ini 를월드세팅에서설정할수있게했습니다. 특히그림자와포톤, PLV 부분의파라미터는레벨별로적절하게조정하고있습니다.

라이팅 기능확장 또한지정한라이트에대해, Intensity 나 Temperature 의랜더마이즈를할수있게하거나, 루멘값에서의직접수치입력이힘들기때문에라이트에대해 EV( 계수 ) 제어를할수있도록확장했습니다.

라이팅 기능확장 컷신의라이팅은품질향상시매우중요했기때문에, 마티네에라이트제어용전용트랙도추가했습니다. 제어하고싶은라이트에태그를설정해두는것으로레벨에배치되어있는라이트를직접제어할수있습니다. Intencity 나캐스케이드거리, 매수, MinRoughness, shadow 부분의프로퍼티등컷단위로키를눌러조정합니다.

라이팅 라이트펑션 라이트펑션도 적절히사용하고있습니다. 구름에의한그림자, 코스틱스 (caustics), 적색등, 영상의투영등에도 사용했습니다.

라이팅 라이트펑션 라이트펑션에서한가지곤란했던건 SSS 에대해서는마스크처리가되지않았습니다. 이부분은확장해서마스크처리도고려할수있도록했습니다.

라이팅 라이트시나리오 라이트시나리오는광범위하게사용하고있습니다. 단, 동일레벨로각환경을라이트시나리오화해서베이크하면, 베이크할필요가없는곳도데이터를가지게되기에베이크전용퍼시스턴트레벨로쪼개서개별적으로베이크했습니다.

라이팅 라이트시나리오 개별적으로베이크할때의주의점으로는 PLV 를사용하고있는경우, PLV 는퍼시스턴트레벨에도데이터가보관되기때문에베이크한퍼시스턴트레벨도모두보이도록해둘필요가있습니다.

라이팅 PLV PLV 에대해선여러모로고생했습니다.

라이팅 PLV 퍼시스턴트에남는문제 조금전에도말씀드린것같지만 PLV 의데이터는퍼시스턴트에도보관됩니다. 그래서의도하지않은레벨에라이트빌드돼있었을경우, PLV 가쓰레기데이터로그레벨에남게됩니다. 메모리도먹고, 드로잉오류로도연결됩니다.

라이팅 PLV 퍼시스턴트에남는문제 레벨은각섹션별로작성, 운용되고있으며, 레벨총수는 2000 을넘고있었습니다. 그중에는 developer 폴더로테스트했던레벨을복사해서정규데이터화한것도있어의도치않은쓰레기가많이남아있었습니다.

라이팅 PLV 퍼시스턴트에남는문제 그래서 2000 레벨모두 pkginfo 를걸어, 내역을확인했습니다. MapBuildData Registry 와같은것들이주로 PLV 입니다. 수십 MB 정도의쓰레기가발견되기도했습니다.

라이팅 PLV 박힘문제 또 PLV 는서피스의경계부분일경우검은 PLV 를만듭니다. 정말난감합니다. 여기에캐릭터가서게되면갑자기어두워집니다.

라이팅 PLV 가부족하거나 or 너무많은문제 또반대로공중등필요한곳에만들어지지않기도합니다. 볼륨의변형이나회전에대응하지않았거나, 의도치않은곳에쓸데없이많이만들어지는경우도있습니다. Lightmas.ini 에서여러모로시험해보았지만의도대로동작하지않는경우가많았습니다.

라이팅 PLV 운용 그래서 PLV 의운용은아래와같이했습니다. SurfaceSample 은사용하지않는다. Detail Sample 만사용한다. (SurfaceSample 은의도치않은밀도의 PLV 를배치하는경우가많았기때문 )

라이팅 PLV 운용 또볼륨별로 PLV 밀도를변경할수있게하거나, 변형이나회전에대응할수있도록확장했습니다.

라이팅 PLV 운용 또, PLV 에스태틱라이트의직접광성분이들어가게돼서발광하는일이있었기때문에직접광영향을온오프할수있도록확장했습니다.

라이팅 ILC 지연 또 PLV 의휘도차이는 ILC 의지연을불러일으켜, 여러곳에서문제가됐습니다. 이부분에대해서는적절하게 Transition Speed 를조정하거나, ILC 를강제갱신하는함수등을확장하여대응했습니다.

라이팅 무버블애셋이떠오른다 또 PLV 는메모리절약을위해필요최소한아슬아슬할정도로줄이고있으며 정확도문제때문에배경의무버블애셋이떠오르는경우가많았습니다. 이부분은셰이더측에서페이크인섀도를베이크하거나, 이미시브로간접광을조정하는등해서어우러지게했습니다.

표시할수없습니다. 라이팅 라이트맵익스포트그림을 또외부 DCC 로라이트맵을보낼수있도록확장도했습니다. 본래이펙트와배경이라이팅의차이로어우러지지않는부분이있었기때문에, 이정보를이용해서조정할생각이었는데, 운용이빠듯해서결과적으로수작업으로어우러지게했습니다...

라이팅 라이트맵익스포트 라이트맵을익스포트해서얻은약간의 Tips 을드리자면 UE4 의라이트맵은색과휘도로나눠서 8bit 텍스처로쓰고있기때문에실질적으로 16bitHDR 정도의정보가포함되어있습니다. 이때문에, 해상도 512 의애셋이있을경우, 2 배인 1024 해상도의라이트맵이필요하게됩니다.

섀도

섀도 채택기법 섀도는캐스케이드와캡슐섀도가메인입니다. 캐스케이드는기본 2 장. (4K*2K) PerObjectShadow 는기본적으로오프지만퀄리티가필요한곳이나특정오브젝트에서만사용하고있습니다. 디스턴스필드, 콘택트섀도는사용하지않습니다. 처리부하와메모리가부담됐기때문입니다.

섀도 캡슐섀도 캡슐섀도는사용빈도가높았기때문에스태틱메시에직접붙일수있도록확장하였습니다. 처음에는캡슐섀도용별도컴포넌트를추가하고있었는데, 컴포넌트를늘리는것이별로즐겁지않았기때문에확장하게되었습니다.

섀도 캡슐섀도 또캡슐섀도는레벨별혹은컷신의컷별로세세한조정을하고싶었기때문에포스트프로세스볼륨에제어파라미터를산출했습니다.

섀도 그림자해상도 또그림자의해상도는품질조정을자세히하고싶었기때문에오브젝트단위, 라이트단위로설정할수있도록확장했습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 地形 ライティング シャドウ 植物 雪 각렌더링패스 ( 데칼포그 SSR SSAO) ポストプロセス

데칼

데칼 데칼은 D 버퍼를사용하지않습니다. ( 메모리와처리부하대응을위함 ) 그래서여러모로고생했습니다.

데칼 D 버퍼를사용하지않을경우, 데칼은 Static Lighting 성분이제대로반영되지않습니다. ( 투과하거나, 그림자속에서사라지기도합니다.)

데칼 그래서 StaticLighting 성분을무시하고강제로덮어쓰기가되는블렌드모드를추가하였습니다.

데칼 하지만그래도새까만건위화감이있어서, 적절하게이미시브로끌어올리기도했습니다. 노멀을고려해서유사라이팅등도했습니다. ( 전부각각수작업으로개별조정했습니다...)

데칼 또데칼의페이드폭에위화감이있을경우조정가능한파라미터도확장했습니다.

데칼 데칼에서시차를다루기위해탄젠트에대한고려를확장하거나, ReceiveDecal 이오프로돼있어도캐릭터이외는강제적으로칠해버리는옵션등도확장했습니다. ( 주로이펙트용 )

포그

포그 포그는기본적으로하이트포그뿐입니다. 대기 ( 大氣 ) 포그는무거워서사용하지않습니다. 볼륨포그는보기에예쁘기때문에주요부분에사용했습니다. 설정은 PixelSize 16 GridSize 32 로억제해서 GPU 예산은 1ms 정도입니다.

표시할수없습니다. 포그그림을 하이트포그는레벨에서장소마다제어하거나컷신에서컷별로제어하고싶었기때문에포스트프로세스볼륨으로각프로퍼티를오버라이드할수있도록확장했습니다.

포그 또포그가끼는정도를조절하기위한프로퍼티도추가했습니다. 디폴트에서포그는리니어하게진해지기만하지만농도커브에감마를걸거나, 특정거리부터짙어지도록조정할수있게했습니다. 횡방향으로는진하게하고싶지만, 깊이방향으로는연하게하고싶거나할경우에조정할수있도록했습니다.

포그 또포그가끼는벡터를변경하거나, 특정구간만포그가끼는것과같은확장도했습니다.

SSAO SSR

SSAO SSR SSAO, SSR 은 UE4 의표준그대로입니다. Async 는사용하지않습니다. 앤티엘리어스 (Anti-alias) 는 FXAA. 컷신중에만템포럴 AA 를사용했습니다. 템포럴 AA 와 SSR 의조합은화면전환시에지연이눈에띄므로, 이부분은적절하게컷단위로기능을온오프했습니다.

お品書き 自己紹介 / 初めに 海 異世界 空 雲 破砕 地形 ライティング シャドウ 植物 雪 各レンダリングパス ( デカールフォグ SSR SSAO) 포스트프로세스

포스트프로세스 포스트프로세스는합성타이밍을몇가지추가했습니다.

포스트프로세스 특히 SQEX After Light 의타이밍은라이팅패스직후에삽입돼있어, 캐릭터의외모를조정하거나프로젝트만의독자적인표현을구현하기위해확장되어많이사용되었습니다. SQEX After Light PrePass Shadow Depth BassPass Pre Lighting Light Translu censy UI Occlusion Test Render Velocties Capsule Shadow SSR Reflectio n Post Process

포스트프로세스 이포스트프로세스타이밍으로독자적표현을하기위해 G 버퍼는한장늘렸으며, G 버퍼의내역은대략다음과같습니다. 신컬러 (R10G10B10A2) 법선 (R10G10B10) DF 의존관계정보 (A2) 메탈 (R8) 스페큘러 (G8) 러프니스 (B8) Shading 모델 ID(A8) 베이스컬러 (R8G8B8) AO(A8) 투명도 (R8) 커스텀데이터 ( 서브서피스컬러등 )(G8B8A8) 사전에계산된그림자요인 (R8G8B8A8) 인다이렉트라이트 라이트감쇠정보 (B16) 정보 (R16) 머티리얼에서전달가능한확장데이터 (G16) 오브젝트ID(A16)

포스트프로세스 또 SQEX After Light 는전용제어 BP 도존재하며, 항상레벨에한개배치하고, 상황에따라국소적인조정을했습니다. 프로퍼티가대량으로존재하고또외관에직결되는중요한기능이기때문에, 프로퍼티의임포트 엑스포트기능도정비했습니다.

포스트프로세스 아웃라인의포스트프로세스를이타이밍에처리하거나, 배틀중인캐릭터의시인성을조정하거나, 컷신중의연출적인추가라이팅을저비용으로적용하는등, 다방면에걸쳐프로젝트에서사용되었습니다. GPU 부하는약 1ms 입니다.

경청해주셔서감사합니다! UNREA ENGINEはエピック ゲームズ インコーポレーテッドの商標です ElasticsearchおよびKibanaはElasticdearch BVの商標です MAYA はオートデスクインコーポレイテッドの商標です その他掲載されている会社名 商品名は 各社の商標または登録商標です