HLOD : 계층형 LOD 시스템
거리가 어느 정도 이상으로 떨어졌을 때, 메쉬를 부분적으로 합쳐버리는 것.
그냥 LOD: 폴리곤 최적화
HLOD: draw call을 줄이는 방식
타일링 형식으로 맵 만들기: 최적화 특화, 그러나 타일형식이라 못생겼음.
해상도 큰 거 가져와서 그냥 깔기: 타일 형식은 안 보이지만 쓸데 없는 곳까지 한 번에 렌더링이 된다. (보이면 무조건 렌더링 해야되니까)
Virtual Texture: 스트리밍 버추얼
프로젝트 세팅 → 버츄얼 텍스쳐 지원 활성화 → 30분걸림
뷰포트 오른쪽마우스 → virtual texture 하시겠습니까? → Yes 하면 바로 적용됨
일부분만 타일로 나누어서 렌더링.
나나이트
무제한으로 쓸 수 있다?
바로 활성화 가능
메쉬 오른쪽 마우스 클릭 → Nanite→ 나나이트 체크
보여지는 클러스터 단위까지 렌더링이 됨
보이는 부분만 스트리밍하면서 메모리에 올림.
낮은 폴리곤 → 나나이트 돌리면 오버헤드 부하 측에서 손해를 보게 됨.
나나이트 준비 비용이 더 높은 로우폴리의 경우 손해
40000, 50000개 이상의 폴리곤을 가진 것들에 사용 추천
라이트 베이킹
베이킹?
루멘 → 라이팅 베이킹 할 필요가 없게 됐다. 실시간으로 빛을 쬐며 계산해줌.
그러나 베이킹이 필요할 때가 있다.
루멘은 어느정도 사양이 필요함.
모바일/VR의 경우 힘듦
그러니 루멘 안 쓰고 베이킹 하는거 추천
루멘을 안 쓰고 None으로 바꿈
거울처럼 비치는 것들.
사진으로 만들어서 그림자 고정.
모빌리티 스태틱 설정
- Static: cost 가장 낮음, 퀄리티 증가
- stationary: 색, 강도정도는 수정 가능
- RGBA 채널 사용해서 맵핑
- movable
UV를 기반으로 라이팅을 구움.
UV 정리가 안 된 에셋들이 있음.
라이트맵 UV 생성 설정
프로젝트 설정→ 스태틱 라이팅 허용
라이팅 베이킹 어떻게 하는지 확인 필요 (딴짓함)
라이팅 퀄리티 올리는 데는
메쉬 누르기 → 스태틱 메쉬 에디터 창 들어가기→라이트 맵 해상도 → 제곱으로 올리기 2, 4, 8
빌드→라이팅만 빌드
물체는 스테이셔너리 거의 안 쓴다고 보면 됨.
여기 부분만 중심으로 구웠으면 좋겠다
라이트매스 임포턴스 볼륨→퀄리티가 좋아짐
맵 전체에서 어떻게 구울지 설정
world setting → 라이트매스 설정→ 스태틱 라이팅 레벨 스케일
사람 키가 4m씩 된다?
레벨 스케일을 2로 늘리면 촘촘하게 할 필요가 없으니 부담이 줄어든다.
작아지면 오히려 세밀하게 빌드해서 시간 증가
간접광 퀄리티: 최후의 수단
간접광 스무드니스: 높이면 간접광이 옅어짐
루멘
저퀄의 게임을 만들때 라이팅베이크
루멘
라이팅포함→루멘→표면캐시
디테일 트레이싱 : 메시 디스턴스 필드
조금 더 정확하게 그려줌
글로벌 트레이싱: 글로벌 디스턴스 필드
성능 중시 > 디테일
루멘을 쓸 경우 → 벽을 10cm 이상 만들어라
ex) 하나로 병합되어 나온 메쉬 → 루멘은 이렇게 쓰면 XXX
카드 플레이스먼트가 이상하게 적용된다. 쓸 수 X
타일로 그냥 만들면 OK
빛이 지글지글거리는 문제
엔진에서 라이트 컬러 변경
지글거리는 부분을 강제로 없애는 방법
post process volume → 파이널 게더 퀄리티 올리면 깔끔해짐
그러나 권장하지 않음. GPU 비용이 많이 듦.
최대한 라이트랑 섞어서 사용하는 것을 권장
화면에 보이는 라이팅을 기준으로 반사광을 그림
Reflection
머티리얼 흰색 → 메탈릭 1, 러프니스 0 : 거울
리플렉션 메서드 Screen Space → 보이는 것만 반사함
skylight는 반사광을 만들어줌.
하늘을 기준으로 만들어주기 때문에
국소적이고 local한 건 반사 X
box reflection capture 액터
쉐이더 복잡도
1 픽셀을 그리기 위해서 GPU가 얼마나 많은 일을 해야하는가? 에 대한 지표