Real-Time Rendering Fungamentals
1. 다이내믹 섀도의 퀄리티 : Esc 밑에있는 ~ (물결키) 누르면 사용 명령어가 나온다.
R.shadowquality 0 입력 : 그림자를 완전 꺼버림
R.shadowquality 1 입력 : 그림자가 나타나지만 품질이 매우 나쁨(거칠고 단순)
숫자는 5까지 설정이 가능
2. 디퍼드 렌더링 , 포워드 렌더링
- 두가지 다 실시간 렌더링
- 디퍼드 렌더링 : 고사양 앱 안정적인 퍼포먼스 보여줌 ex) 대형 블록버스터 게임, 언리얼에서 디퍼드가 기본
Temporal Anti-Aliasing약자 TAA만 제공함 , 프레임에서 약간의 고스트 현상이 발생(디퍼드의 한계!)
- 디퍼드의 약점 : 안티에일리어싱(포워드에서 구현이 잘됨)
- 디퍼드렌더러는 Gbuffer(각 프레임의 이미지세트, 엔진이 사용할 데이터를 만드는 식으로 씬의 렌더링 프로세스를 돕는기능)를 사용,
- 포워드 렌더링 : 간단한 용도나 하드웨어 성능이 제약 된 경우 퍼포먼스가 빠르다 ex) 모바일이나 vr 게임에서 사용, 보통 하드웨어 제약이 있는 상황에서 많이 사용 ex) MSAA 사용
3. RenderDog : 언리얼엔진 내 있는 것이 아니라 쉽게 다운로드 할 수 있는 렌더링 툴!
캡처한 프레임을 분석하는 툴인데 , 에디터나 게임에서 프레임을 캡쳐하면 프로그램이 분석한다.
머티리얼 메탈릭, 스페큘러, 러프니스가 저장이 따로 된다.
4. 픽셀과 버텍스 쉐이더
- 렌더링 도중에 보통 아주 단순한 계산을 몇 번씩 해야하는데 그 작업을 줄이기 위한 방법이 섀이더이다.렌더링 성능에도 큰 영향을 끼친다.
- 픽셀 셰이더 : 값을 조정하고 색을 변환하고 새롭게 출력한다. Ex) 픽셀 색을 저장해 계산하고 새로운 값을 출력한다.
- 픽셸 셰이더는 픽셀단위 , 버텍스 셰이더는 버텍스 단위로 작업함
- 픽셀 셰이더 : 머티리얼 렌더링 , 안개 , 포스트 프로세스 ,이펙트 등 많은 것을 처리 =>렌더링 파이프라인의 큰 핵심 요소이다.
5. 실시간 렌더링 퍼포먼스
- 보통은 초당 30프레임 또는 초당 60프레임을 목표로한다.
- Ms 는 밀리초를 나타내는데, 렌더링 이미지 한장 렌더링에 드는 비용 ,
초당 프레임보다 더 많이 사용하는 단위며 , 비용이 클 수록 프레임 속도는 낮다.
Ex) 60fps는 초당 60프레임을 의미, ms 숫자는 낮을수록 좋다. 퍼포먼스 측정 방법으로는 더 좋은 방법
엔진을 사용해서 제작할때 이 단위를 더 많이 사용한다.
퍼포먼스를 측정할 때 또는 배경과 렌더링 결과를 측정할 때 사용
- 콘솔 도구 / 출력로그에서 확인 : 창 - 개발도구 - 출력로그
출력로그에서는 명령어를 입력할 수 있음 "stat fps" 입력시 프레임 속도 확인 가능
명령어 이외 , 화살표를 클릭해 밑에 사진과 같이 확인 가능
- "t.masfps 600" 입력시 : 프레임 속도의 한계 제거 가능 , 숫자 변경 가능 (퍼포먼스 측정시 보통 프레임 속도제한 제거하는 것이 좋음, 그렇지 않으면 실제 작업한 효과가 보이지 않을 수도 있음 )
- "Stat unit" : Frame 은 Stat fps 와 값이 비슷! 두 개가 동일하다.
- CPU : 기본적인 앱과 배경에 해당하는 부분 , 사라지거나 사물의 위치 이동
- GPU : 기본적인 실제 렌더링 담당
- 실시간 렌더링 퍼포먼스 : 두가지 모두가 다 작동 됨. 프레임 속도가 낮은경우 cpu인건지 gpu인건지 알아내야함 둘다 동기화 상태여야함 => 앱이 느려지는 원인 파악이 중요
- Stat rhi : 추가정보 및 값 목록 , 다시 입력시 패널이 사라짐
- Stat Scenerendering : 각 단계에 소모되는 값을 보여줌 ,
- 화면의 픽셀 수가 많을수록 복잡하고 소모값이 높은 머티리얼이며, 이 복잡한 머티리얼이 퍼포먼스에 미치는 영향도 더 크다 .
퍼포먼스에 영향을 주는 4가지
- 드로 콜이나 픽셀 및 버텍스 섀이더의 영향
- 비용이 높아 픽셸 섀이더에 영향을 주는 반투명 문제
- 폴리곤 수가 높은 모델을 사용할때
- 속도 저하가 생기는 다이나믹 섀도
'Study > Unreal_Engine' 카테고리의 다른 글
언리얼엔진에서 png export하기 (0) | 2021.08.26 |
---|---|
[언리얼엔진 코스] VR 그래픽 및 렌더링 고려사항 (0) | 2021.08.25 |
언리얼엔진 머티리얼 네온효과 주는방법 (0) | 2021.08.21 |
하늘 만들기 (0) | 2021.08.21 |
언리얼 엔진 5 라이팅 세팅 방법 (0) | 2021.08.21 |