놀고먹는CG언니

[UNREAL] Motion blur 세팅. 본문

CG작업중에 알게된 꿀팁/Unreal

[UNREAL] Motion blur 세팅.

놀고먹는언니 2024. 5. 13. 13:18

Motion blur 옵션 기능 정리

주로 Post Process volume에서 모션블러 옵션을 관리하게 됩니다.

모션블러 출력에 관한 옵션 설명을 정리해보았습니다.

 

 

 

 용어  사용적 의미
 Amount 모션 블러의 양을 제어하는 데 사용됩니다.

오른쪽 긴 설명의 결론은
0.5 이상으로 올라가면 비현실적이고 저품질의 모션블러가 연출되니 비추.
0.25 이하로 내려가도 모션이 끊겨보이고 덜부드러워지니까 비추.


즉 0.25~ 0.5 사이값을 쓰라는 이야기 입니다.

실제쓰임새에 대한 의견---------------------------------------------------------------------------
Amount 값을 0.25로 낮추면 셔터 시간이 짧아지는 것을 시뮬레이션하게 되며, 이는 모션이 더욱 끊기고 덜 부드러워 보이게 만듭니다. 언리얼 기본값 0.5 에서 그 이하로 보통 많이 사용함.


(이하 같은말)

Amount 값을 조정함으로써, 사용자는 모션 블러의 양을 변경할 수 있습니다. 예를 들어, Amount 값을 1.0으로 설정하면 시각적으로 좋지 않은, 비평적으로 "crappy soap opera"와 같은 모션 블러 효과를 얻게 됩니다. 반면에 Amount 값을 0.25로 낮추면 셔터 시간이 짧아지는 것을 시뮬레이션하게 되며, 이는 모션이 더욱 끊기고 덜 부드러워 보이게 만듭니다. 일반적으로, 사용자는 정확히 어떤 효과를 원하는지 알지 못하는 한 Amount 값을 0.5로 유지하는 것이 좋습니다​.

> 위 글에서 "Crappy soap opera"라는 표현은 부정적인 의미로 사용되며, 대개 저품질이거나 과장된 연기, 스토리 라인, 또는 제작 가치를 가진 소프 오페라(TV 연속극)를 비판할 때 사용됩니다. 이 표현은 또한 부적절하게 높은 모션 블러 설정을 비판할 때 Unreal Engine 커뮤니티에서 사용되기도 합니다. 이러한 설정은 이미지가 과도하게 부드럽고 인공적으로 보이게 만들어, 일반적으로 연속 드라마에서 볼 수 있는 비현실적인 비주얼 효과를 연상시킵니다​.



 Max 모션블러가 더는 강해지지 않는 방향 벡터의 길이 입니다. 
화면 너비 비율값 입니다. (0 입력시 : 끄기)
>> 속도(움직임의 빠르기)에 의해 얼마나 블러가 길어질 수 있는지를 제한하는 값입니다.
즉 느린 장면에서는 Max가 높든 낮든 큰 차이는 없습니다.

실제쓰임새에 대한 의견---------------------------------------------------------------------------
Max 및 Per Object size는 모션 블러 정확도를 희생시키면서 시각적 아티팩트를 완화하기 위해 특정 경우에 모션 블러를 제한하는 데 사용되는 오류 수정 매개변수입니다. 프로젝트에서 상당히 산만한 모션 블러 아티팩트가 보이지 않는 한, 실제로 건드릴 필요가 없습니다.
 Target FPS 모션블러에 대한 타깃 FPS를 정의합니다. 모션블러를 실제 프레임 레이트에 독립적인 대신
지정된 타깃 FPS에 상대적으로 적용합니다. 

타깃 FPS가 높을수록 프레임이 짧아지며, 이는 셔터 시간이 짧아지고 모션블러가 적어지는것을 의미합니다.
FPS가 낮으면 모션블러가 많아집니다. 

0으로 설정하면 실제 프레임 레이트에 따라 모션블러가 적용됩니다. 

속도패스를 그리게 되는 최소한의 프리미티브* 화면 투영 크기입니다.
화면 너비에 대한 비율값이며, 이 수가 낮을수록 속도패스를 더 많이 그리게 되므로, 드로우 콜**도 올라가게 됩니다. (기본 4%)

실제쓰임새에 대한 의견---------------------------------------------------------------------------
Max 및 Per Object size는 모션 블러 정확도를 희생시키면서 시각적 아티팩트를 완화하기 위해 특정 경우에 모션 블러를 제한하는 데 사용되는 오류 수정 매개변수입니다. 프로젝트에서 상당히 산만한 모션 블러 아티팩트가 보이지 않는 한, 실제로 건드릴 필요가 없습니다.
 Per Object Size

속도패스를 그리게 되는 최소한의 프리미티브*
( 프리미티브* = 여기서의 프리미티브는 엔진의 FPrimitiveSceneProxy입니다. 그냥 메시라고 보면 됩니다.)
즉 화면에서 작게 보이는 메시는 모션 블러를 건너뛰게 하는 옵션입니다.
화면 투영 크기입니다.

화면 너비에 대한 비율값이며, 이 수가 낮을수록 속도패스를 더 많이 그리게 되므로, 드로우 콜**도 올라가게 됩니다. 
(기본 4%)


*프리미티브 란? (primitive)
컴퓨터 그래픽에서, 화면에 여러 가지 다양한 그래픽 정보를 출력하기 위하여 사용하는 기본 연산자. 문자 출력, 직선 그리기, 사각형 그리기, 색 지정하기 따위가 포함된다.

**드로우콜 이란?
(CPU는 현재 프레임에 어떤 것을 그려야 할지 정하고, GPU에 오브젝트를 그리라고 명령을 호출하는데 이 명령이 바로 드로우 콜(Draw Call)이다. )

"결국엔 모션블러가 퀄리티 올라가기 위해서는 수치를 낮춰야되는데 낮추면 드로우콜이나 계산값이 올라가므로 >> 값이 비싸지며 무거워지는거라 이걸로 조정하는건 비추다."   라는 뜻 같습니다..



여기서의 프리미티브는 엔진의 FPrimitiveSceneProxy입니다. 그냥 메시라고 보면 됩니다.
즉 화면에서 작게 보이는 메시는 모션 블러를 건너뛰게 하는 옵션입니다.

 


결론, 모션블러 추천 수치.

 

>> Amount 0.3~0.5

(0.5 이상으로 쓰면 안좋은 점 위에 써있음.)
또는 기본값 0.4 고정 추천.
(과한값을 쓰더라도 Amount도 결국 Max에 의해 클램프 됩니다.)

 

너무 빠른 화면은 Amount 0.15~0.2 권장합니다.


>> Max 3.5~10.0 

(Max가 아무리 커도 움직임이 Max에 도달 할만큼 빠르지 않으면 큰 차이는 없습니다.)

 

 

반응형