TIL_012 (Material 생성, Material Instance)

김펭귄·2025년 8월 12일

Today What I Learned (TIL)

목록 보기
12/93

이어서 LandScape 만들기

  • 저번 TIL에 이어서 LandScape를 완성한다

Material

  • 여러 texture를 모아 하나의 material로 만들고 이렇게 만들어진 여러 material을 mesh에 적용시켜 표면을 나타낸다

  • mesh는 단순한 shape를 결정해주는 요소

  • Texture에는 다양한 종류가 존재

    • BaseColor: 기본색깔
    • NormalMap: 표면의 법선벡터. 요철, 입체감(빛 반사 방향)을 표현
    • Ambient Occlusion(AO): 홈·틈 등 음영이 강한 부분을 진하게, 튀어나온 곳은 밝게 만드는 그림자 및 간접광 효과용 흑백 이미지
    • Roughness: 거칢 정도(광택 반사 정도)를 제어하는 흑백 이미지
    • Metallic: 금속성 정도를 나타내는 흑백 이미지
    • Specular: 빛의 반사 강도
    • Glossiness 표면의 부드러움 정도. Roughness와 반대 개념
    • Height (Displacement): mesh 표면을 굴곡지게 만드는 용도
    • Bump Map: 표면 요철을 흑백 이미지로 표현하는 구식 텍스처. 최근에는 Normal Map으로 대체
    • Cavity: 미세한 홈, 틈 등 포인트 음영 정보를 담아 AO와 함께 사용하는 보정용 음영 텍스처
    • Opacity / Alpha: 투명도(alpha)를 정의하는 흑백 이미지
    • Emission (Emissive): 발광 표현 이미지
    • SSS (Subsurface Scattering): 피부, 왁스 같은 반투명 물질의 내부 산란 효과를 위한 텍스처

LandScape에 적용할 Material 만들기

Material 생성

  • Material을 새로 생성

  • Fab에서 원하는 material 에셋을 받는다

  • Material을 다음과 같이 설정

    • 위에서 설명한 텍스쳐의 종류에 따라 각 Blend에 연결해준다
    • LandScape Layer Blend에서 layer를 추가해 여러 지형의 색을 layer로 묶어준다
    • ORM 같은 이름의 텍스쳐는 R, G, B 채널에 Occlusion(Amibient Occlusion,AO), Roughness, Metallic 값이 저장됨을 뜻한다
  • 지형의 각 texture를 연결하였으면 마지막으로 material에도 연결. Blend Mode는 Masked로 설정, opacity mask에도 Landscape Visibility Mask연결

  • 이제 레벨로 돌아와 Landscape에 material로 설정

LandScape에 layer별로 칠하기

  1. LandScape Mode로 진입. Show에서 Foliage type에서 모든 Foliage 숨기기로 하면 편하다

  2. Paint 패널로 들어가서

  3. Create Layers from Assigned Materials를 눌러 만든 layer를 불러오기

  4. 각 layer의 + 버튼을 눌러 weight blended-layer로 material 폴더에 저장

  5. 칠하고 싶은 layer를 선택해 칠하면 된다

PostProccessVolume

  • Post Process Effect(후처리 효과)를 통해 컬러, 톤매핑, 라이팅 등에 영향을 미치는 프로퍼티와 기능을 결합하여 씬의 전체적인 룩 앤 필을 정의할 수 있다

  • 포스트 프로세스 볼륨(Post Process Volume) 이라는 특수한 타입의 볼륨을 레벨에 추가하여 기능들 사용 가능

  • unbound를 체크하면(Infinite Extent) 씬 전체 범위에 적용 가능

  • 아래의 사이트 참조
    Unreal PostProccessEffect

  • 후처리를 하여 아래와 같이 만듦

Material Graph

  • Blueprint에서 event graph를 사용하여 여러 설정을 해준 것처럼, material에서도 graph를 통해 여러 조작을 해줄 수 있다.

깜빡거리는 형광 Material 만들기

  • 우클릭하여 time이라는 node 생성: 실행된 시점부터 흐른 시간을 초 단위(Float 값)로 반환

  • sine node: x를 입력받을 시 sin(x)를 반환하는 node

  • 키보드 1/2/3/4 + 마우스 좌클릭: 해당 숫자 차원의 상수변수 생성. node 우클릭하고 convert to parameter로 material에 인자로 넣을 수 있는 매개변수 생성 가능

  • 이 방법으로 1차원 parameter인 Frequency 생성

  • 마찬가지로 4차원 데이터로 색을 표현하는 vector(RGBA)도 생성하여 sine 값과 곱함

  • Ceil node를 이용해 값이 0과 1만 가지도록 하여 부드럽게 켜지고 꺼지는게 아닌 깜빡깜빡하도록 설정

전구같은 Material 만들기

  • 전구같이 광원부는 밝고, 멀어질수록 어두워지는 Material 만들기

  • Fresnel node: 법선 벡터와 카메라(뷰 방향) 간의 각도 차를 바탕으로, 표면 가장자리(Edge) 부분이 두드러지도록 값을 계산. 가장자리 부분에서 최대값(1)을 가짐

  • OneMinus 노드: (1 - x)값 반환. 값을 반전시켜 가장자리부분이 어두워지고, 중심부를 밝게함

  • Power 노드: 지수 계산. 밝은 곳과 어두운 곳의 대비 정도를 결정. Falloff라는 parameter로 조절

Material Instance

  • Material을 부모로 상속받아, 주요 속성(Parameter)만 쉽게 변경하여 사용할 수 있는 복제본

  • 원하는 Parameter만 설정하여 mesh에 다양한 방법으로 적용 가능

  • Mesh에 material 적용하여 결과 보기

LandScape 마무리

profile
반갑습니다

0개의 댓글