IT/이펙트

멍청이 이펙터도 알아야 할 게임 수학 및 언리얼 지식 정리

헥크 2021. 12. 8.
728x90
반응형

삼각함수

1) cos은 (밑변x/빗변) x값, sin은 (높이y/빗변) y값

 

내적(dot)

1) A(1,0.5) B(0.5,0) -> (1*0.5) + (0.5*0) = 0.5 이다. 내적은 결과로 스칼라값을 낸다.

2) 자기자신과 내적하면 제곱이다. (단위벡터화 한 상황) 평행하는 벡터일때와 마찬가지로 각도가 cos 0도이므로 1이다.

3) A 벡터와 B 벡터의 크기를 각각 곱한 다음 사이각의 cosθ 값을 곱한 스칼라 값이 된다.

 

외적(cross)

1) 두 벡터가 평행하면 0이다. sin값이 0이기 때문이다.

 

언리얼

1) 프레넬 효과

1-1)카메라 벡터Z는 방향이 반대이다.

카메라보는방향-> <------카메라벡터

1-2)구현방법 : 카메라 벡터버텍스 노말내적(dot)한 후 원마이너(1-, 반전효과)

바라보고 있는 물체와 일직선인경우 중앙이 1, 외곽으로 갈수록 어두워지고 이를 반전하면 프레넬

 

2) 텍스쳐

2-1) sRGB

sRGB는 제한된 8비트 이미지의 품질을 최대화하는 데 사용됩니다. 저장 전에 더 중요한 어두운 부분의 색상 값 살린다. 눈은 밝은 것보다 어두운 색상의 차이에 더 민감하기 때문에 어두운 부분은 작은 0-255 값 공간에서 더 많은 공간을 확보합니다. sRGB 파일을 열면 파일을 저장하기 전과 같이 값이 다시 낮아집니다.
러프니스/메탈릭/노멀/스페큘러는 엔진 내부의 수학적 용도에 더 적합하며 Diffuse 맵처럼 직접 보는 데 사용되지 않습니다. 그리고 sRGB가 하는 감마 이동 없이 균일하게 분포된 값(선형)을 저장하려고 합니다. 선형에서 밝은 값은 어두운 값만큼 중요합니다.

sRGB는 Diffuse/Albedo에 대해 선택하고 Roughness/Metallic/Normal/Specular 맵에 대해서는 선택을 취소해야 합니다.

그 외의 맵 종류를 나누자면 색을 쓰는경우 sRGB를 체크 적용, 아닌 경우 리니어(선형)으로 사용하므로 체크해제.

아래는 sRGB에 대한 언리얼 포럼

https://forums.unrealengine.com/t/rule-of-thumb-regaring-srgb-vs-linear-colors/64682

 

rule of thumb regaring sRGB vs linear colors

heey there… I was wondering… what is general speaking a good rule of thumb to keep in mind when creating diffuse / albedo textures. When I try to create a more dark stone / cliff, the texture is getting more brighten because of the sRGB option. When I

forums.unrealengine.com

 

3) 노멀의 음영계산

노멀맵과 lightVecter (0,1,1)를 내적(dot)하면 노멀맵의 음영을 계산해 낼 수 있다.

 

4) 탄젠트 스페이스 노멀 구하기

4-1) 노멀맵으로부터 y,z값을 얻고, ConstantBiasScale(내부변수) -0.5, 2입력)를 사용하여 텍스쳐로부터 본래의 방향벡터를 구한다.

탄젠스페이스 노멀맵을 만들기 위해 DeriveNormalZ를 사용한다.

4-2) 벡터를 하나 만드는데 Z값을 1로 설정. x,y값은 노멀의 세기.

둘을 곱하여 값을 생성.

 

5) 머티리얼 Sin노드 대체 수식

Sin노드는 계산이 무겁기 때문에 이를 대체할 수식을 사용하면 비교적 가볍게 이용할 수 있다.

기존) time - sin

변경) time - frac(소수점만 출력) - multiply(곱, 2번 변수는 2) - subtract(빼기, 2번변수는 1) - abs(절대값)

정리하면 소수점만 받아와서 2배하고 1을 빼서 절대값하여 부호를 제거한다. 이리하여 0~1사이를 반복하게된다.

 

6) 탄젠트 벡터

정점의 노말벡터와 수직하는 벡터중에 UV의 U와 일치하는 벡터. (V와 일치하는 벡터 - 비탄젠트벡터)

 

7) UV

(0,1) (1,1)

(0,0) (1,0)

좌측하단이 (0,0)으로 기준

 

8) 뎁스 페이드 원리 설명

씬 뎁스 - 스크린 포지션의 알파 = 뎁스 페이드

불투명물체를 먼저 그려서 z버퍼에 저장하고 반투명 물체를 그리는 원리를 이용한 기능

겹치는 부분이 가장 어둡고 위로 갈수록 밝아지는 형태

고라니TV 캡쳐

뎁스 페이드를 원마이너스 하여 오파시티로 사용시 반투명물체와 불투명 물체가  겹친 부분에만 표시가능. 해당 효과는 물을 표현한곳에 반투명 물체가 겹쳤을떄 옅어지는(?) 등의 효과를 낼때 사용한다.

 

용어정리

1) caustics : 물 표면 일렁임을 표현하기 위해 사용하는 텍스쳐. 리플렉션 라이트 워터 정도로 검색하여도 나올듯. 한글로 해석해도 생소한 용어

 

댕청하니 적어놔야 찾아보기라도 하지;;;

계속 업뎃할 예정

728x90
반응형

'IT > 이펙트' 카테고리의 다른 글

이펙트 3d맥스 활용  (0) 2021.12.16
이펙트 포토샵 활용  (0) 2021.12.16
SOP 란?  (0) 2021.11.28
[용어정리]서브 서피스 스캐터링(Subsurface scattering, SSS)  (0) 2021.10.04
[3dmax]이미지 불러오기  (0) 2021.07.15

댓글

추천 글