Game effect 1

Zoee·2024년 1월 9일
0

1. Blend Mode

https://docs.unrealengine.com/4.26/ko/RenderingAndGraphics/Materials/MaterialProperties/BlendModes/

1. Opaque : 불투명. 금속 등 빛이 투과되지 않는 재질

2. Masked : 해당 머테리얼이 적용된 부분만 표현됨


경계부분을 보면 거칠거칠한데, 마스크는 중간값이 없기 때문임
0 or 1 이다

3. Translucent : 반투명


중간값이 존재하여 부드러운 표현이 가능함

랜더링 계산식

(SrcColor x SrcAlpha) + (BGColor x (1 - SrcAlpha)) = FinalColor

  • SrcColor : 빛의 색상 (RGB)
  • SrcAlpha : 빛의 양
  • 1 - SrcAlpha : 빛의 양이 반전된 것

블랙을 표현할 수 있음 (값이 0에 가까워 질수록)

4. Addictive : 말 그대로 "더해지는" 계산임

배경맵에 계속해서 빛이 더해짐

랜더링 계산식

SrcColor + BGColor = FinalColor

블랙을 표현할 수 없음

0의 값을 자동으로 투명하게 처리됨

2. Shading Model


보통 Unlit 을 많이 사용함
불, 스파크 등 발광하는 요소가 많기 떄문

3. Base Material Node


각 채널들을 살펴보자

1. Base Color

머터리얼 본질의 색

2. Metallic (0~1)

금속 재질 표현

3. Specular (0~1)

반사 정도

(Roughness 채널이 연결되어 있어야 함)

4. Roughness (0~1)

표면의 거친 정도


0 : 매끄러움 (0일 수록 반사정도가 표현이 잘 됨)

0.2


1 : 거칠함

5. Emissive Color

Base 컬러 외에, 추가적인 색을 쓰고 싶을 때 쓰는 채널

큰 값이 입력되면 더 밝은 빛을 출력함 (RGB + 빛의 양)

EX. Multiply 노드 사용해 x100 을 했을 때

6. Opacity

Blend Mode 에서 Additive 활성화시 Opacity 채널 활성화됨

Opacity 에 채널값을 연결해주면 0에 가까운 부분(검정)은 투명해지고, 1에 가까운 부분은 불투명해진다.

4. Material Editor

1. Input, Output, Pin


노드에는 인풋과 아웃풋이 존재
그를 연결시켜주는 부분을 핀이라고 함

2. 코멘트

- 개별 코멘트


Details 에서 수정

- 그룹 코멘트

여러 노드를 선택한 뒤 단축키 C

그룹핑됨
코멘트를 달아주거나 한 번에 이동시킬 수 있음

3. 단축키

1. 1, 2, 3, 4 + MLB


각각 1, 2, 3, 4 vector 채널 노드

2. T + MLB

Texture Sample 노드

3. A + MLB

Add 노드

4. M + MLB

Multiply 노드

5. E + MLB

파워 노드

6. S + MLB

스칼라 파라미터 노드

7. D + MLB

Divide 노드

8. U + MLB

Texture Coodinator
UV 를 관리함

9. P + MLB

텍스쳐 오프셋을 자동으로 시켜주는 노드

10. Shift + C

컴포넌트 마스크 노드
채널 분리

필요 채널만 활성화 시킬 수 있음

11. Alt + Pin 클릭

다른 node 와의 연결 해제

12. L + MLB

linear interpolate Node

4. Node

0. 색깔

  • 파란색 노드 : function

1. Append Node

채널을 합쳐주는 노드

  • Input : vector 두개
  • Output : Input vector 채널 수를 합한 개수의 채널을 가지는 vector


output은 2 flow vector


output은 4 flow vector

2. Add Node

3. Multiply Node


4. Subtract Node

5. Divide Node

A / B

6. Power Node

거듭제곱

어두운 부분은 더 어두워지고, 밝은 부분의 영역이 좁아진다 (완전히 1이 아닌 경우 값이 계속 작아짐)

exp 가 5 인 경우

7. Clamp Node

최댓값과 최솟값의 바운더리를 정해주는 노드

Min 보다 작은 값은 Min 값으로, Max 보다 큰 값은 Max 값으로 대체됨

8. Texturecoord Node

Texture 의 타일링 조절, 매시의 UV 인덱스 저장, 메시의 UV 좌표를 이용

  • UTiling : 가로 반복 횟수
  • VTiling : 세로 반복 횟수

두 값이 모두 1이면 본연의 텍스처가 적용됨

노이즈 텍스처를 조금 더 밀도 높게 만들 수 있음
=> Seamless 텍스처 라고도 함 (경계가 없는 텍스처)

  • Coordinate Index

UV 채널을 조절함

9. Lerp Node

linear interpolate Node

두 인풋값을 블렌딩해주는 노드 (텍스처, 칼라, ...)

  • Alpha : 블렌딩 되는 양을 조절
    0에 가까울 수록 A input, 1에 가까울 수록 B input

10. Desaturation Node

  • 1에 가까울 수록 채도가 적어짐 (흑백)

  • 마이너스 값을 주게 되면 채도가 올라감

11. SphereMask

구 형태의 마스크 텍스처를 생성함

  • A : 대상이 되는 포지션
  • B : Sphere 의 중심값
  • Radius : 원의 크기
  • Hardness : edge 경계선의 hardness. 값이 클 수록 원이 더 선명해짐

12. Panner

UV 애니메이션을 지정하여 텍스처가 움직이도록 함

루프형태의 이펙트를 만들 때 많이 씀

13. Particle Color

머터리얼과 파티클 컬러를 연동

항상 연산 노드와 연결됨

나이아가라 시스템에서 파티클의 색깔을 조절해주는 창이 있음

만약 머터리얼에서 Particle Color 와 텍스처가 연결되어 있지 않다면,
이 창에서 값을 바꿔도 제대로 적용되지 않음
(Alpha 값을 연결시켜 주지 않으면 A 값을 바꿔도 반영되지 않는다)

14. Dynamic Parameter

나이아가라 시스템에서 파라미터를 변경하여 텍스처의 위치 등을 변경하고 싶을 때 사용

머터리얼 에디터에서 설정한 이름과 동일한 이름의 파라미터들이 존재함

지금 같은 경우는 V offset 을 변경시킬 수 있도록 연결해뒀으므로 다음과 같은 결과가 나옴

15. Time

계속해서 수가 커짐

16. Frac

소수점 부분의 수치만 가져옴

  • Time 과 Frac 을 이용한 애니메이션

V 방향으로 좌표가 계속 이동하는 모습

17. VectorToRadialValue

방사형 UV


  • U방향

    한 바퀴를 도는 방향성

  • V방향

    센터 - 외곽까지의 거리를 나타냄

17. Depth Fade

바닥 (or 다른 오브젝트?) 등과 머터리얼이 닿을 때 알파값이 자연스럽게 줄어들도록 함
Opacity 에 연결해서 사용

18. TransformVector

노말 텍스쳐의 탄젠트 스페이스를 World Space 의 버텍스(?)로 변환

19. BumpOffset

머터리얼이 보고 있는 방향쪽으로 튀어나와 보이게(양수) 혹은 들어가 보이게(음수) 착시효과를 줌

5. 노말맵으로 왜곡 효과 주기

Multiply 이 커질 수록 왜곡의 정도가 커짐

Frac 적용

How?

  • 디폴트 uv

    u 방향은 빨간색, v 방향은 초록색

  • 노말 맵 텍스처

    캐릭터 등의 표면을 보다 사실적으로 나타내기 위해서는, 일반적으로 vertex 를 많이 써서 표현한다.
    하지만 게임 같은 경우 최적화가 매우 중요하기 때문에 더 많은 폴리곤을 쓸 수 없는 상황이 있을 수 있다.
    때문에 노말 맵 등을 사용해 텍스처를 왜곡하여, vertex 를 더 많이 쓰지 않고도 실감나는 표현을 가능하게 할 수 있다.

  • 노말 맵 텍스처에 마스크를 적용

    R, G 만 가져오기 때문에 이와 같은 텍스처가 만들어짐

    • B 채널만 존재
      Depth 만 표현되는 느낌

    • B, G
      Righting 을 받은 듯한 굴곡 표현 (V 방향)

    • R, G, B
      U 방향의 굴곡까지 표현 -> x, y, z 방향의 모든 표현이 들어가 있는 빛의 계산

    • R, G 마스크를 적용 한 텍스처
      이 Noise Offset 을 기존 uv offset 에 add 해줌으로써 원 offset 의 색상들이 이 모양대로 "밀리며" 형태가 만들어짐

Why?

왜 노말맵을 사용해야 하는가?

  • 일반 텍스처를 가지고 왜곡 효과를 주었을 때의 결과

    텍스처의 모양이 대각선으로 움직이며 가운데에서 벗어나게 된다

    그 이유는

    일반 텍스처를 마스크 노드에 연결했을 때의 결과값은 다음과 같다.

    • R 채널, G 채널

      일반 텍스처는 R 채널과 G 채널의 값이 같아 흑백으로 보이는 것임
      따라서 이를 ADD 로 적용시키게 되면 텍스처가 이동하게 되어버림

      반면 노말맵은

    • R 채널

      x축 표현

    • G 채널

      y축 표현
      이렇게 각 채널에서의
      모양이 다르다. 상반된 값을 가진다.

0개의 댓글