Post

2026-04-14-TA03

2026-04-14-TA03

[TA] 메테리얼 활용해서 마법구체 만들기


• 만들고 싶은 투사체 기획

자신만의 마법 구체를 만드는 과제가 주어졌습니다. 어떤 투사체 느낌을 나게 만들면 좋을까? 고민하던 중, 인터넷 밈인 바보 왔다! 돌 던져가 생각나 짱돌 구체를 만들어보기로 했습니다.

  
바보왔다 돌던져 밈짱돌 던지는 캐릭터




• 돌 텍스처 찾아보기

우선 언리얼 엔진 내에 돌과 관련된 텍스처가 기본적으로 있는지 확인해 보았습니다.

언리얼 M_Rocks 재질

StarterContent에 ‘Rock’이라고 검색해 보니, 이미 구현되어 있는 M_Rock 머티리얼들이 다수 존재했습니다.

그래서 저는 아래 사진과 같이 불타는 운석 느낌이 나게 머티리얼을 구현하는걸로 변경하였습니다.

운석 사진




• 텍스처 종류 분석

Rock 텍스처 폴더

StarterContent의 텍스처 폴더를 열어보니 생각보다 Rock 텍스처의 종류가 많았고, 파일명 끝에 _D, _N 같은 알파벳이 붙어있었습니다.

위 사진의 파일명 끝에 붙은 접미사를 검색해보니 3D 그래픽에서 해당 이미지가 어떤 역할을 하는지를 나타내는 약어라고 나와있었습니다.

언리얼 텍스처 네이밍 분석

  • _D (Diffuse / 디퓨즈 맵)
    • 의미: 기본 색상 (Base Color)
    • 역할: 빛의 반사나 그림자가 전혀 포함되지 않은, 재질의 순수한 고유 색상 이미지입니다. 머티리얼 에디터에서 Base Color 노드에 연결합니다.
  • _N (Normal / 노멀 맵)
    • 의미: 표면의 굴곡 정보
    • 역할: 푸르스름한 색을 띠는 이미지로, 실제 폴리곤 수를 늘리지 않고도 빛의 굴절을 조작해 돌의 울퉁불퉁한 입체감과 디테일을 사실적으로 눈속임해 주는 맵입니다. Normal 노드에 연결합니다.


• 구현


1단계: 기본 세팅 및 텍스처 불러오기

1. 블렌드 모드(Blend Mode) 설정: Opaque
제가 기획한 운석은 레퍼런스 사진처럼 빛이 투과되지 않는 무겁고 단단한 암석 덩어리입니다. 따라서 머티리얼의 Blend Mode는 기본값인 불투명(Opaque) 상태를 그대로 사용했습니다.

2. 텍스처소스 가져오기
StarterContentTextures 폴더에서 기본 돌 텍스처와 불꽃 효과를 낼 텍스처 총 3가지를 노드 그래프로 가져왔습니다.

  • T_Rock_Basalt_D : 돌의 기본 표면 색상
  • T_Rock_Basalt_N : 돌의 울퉁불퉁한 굴곡 정보
  • T_Fire_Tiled_D : 타오르는 불꽃 텍스처

1단계 기본 세팅 및 텍스처 연결

3. 기본 노드 연결 및 1차 테스트
위 사진과 같이 Base Color에 돌 표면 색상을, Normal에 돌 굴곡 노멀을 연결해 주었습니다. 그리고 불꽃 텍스처(T_Fire_Tiled_D)는 빛을 내도록 Emissive Color에 연결했습니다.

이렇게 기본 텍스처만 입혀도 이미 ‘불타고 있는 돌’의 느낌이 나서 만족스러웠습니다. 하지만 여기서 끝내면 강의에서 배운 내용을 전혀 활용해보지 않아서 기능들을 더 사용해보기로 했습니다.




2단계: UV 스케일 세팅

기존에 있던 M_Rock의 노드 구조를 분석해 보니, 텍스처를 그냥 연결하지 않고 TextureCoordinate 노드를 생성하여 Multiply 노드(B값: 2.0)와 결합한 뒤 텍스처의 UV 핀에 연결하는 것을 발견했습니다.

이 노드 세팅을 머티리얼에도 똑같이 적용해 보았고, 적용 전과 후의 차이를 비교해 보았습니다.

적용 전적용 후
타일링 적용 전타일링 적용 후
텍스처가 1번만 입혀져 표면이 다소 큼직하고 늘어나 보임텍스처가 촘촘해지며 실제 바위처럼 디테일이 살아남


TextureCoordinate에 2.0을 곱해서 연결한 이유

이 작업은 텍스처의 반복 횟수(Tiling)를 조절하는 과정입니다.

  1. 밀도와 디테일 증가: UV 좌표에 2.0을 곱하면 텍스처 이미지가 가로세로로 각각 2번씩, 총 4번 반복해서 그려집니다. 무늬가 작아지고 촘촘하게 배치되면서 해상도가 높아진 것처럼 표면의 질감이 훨씬 정밀하고 표현됩니다.
  2. 스케일(비율) 맞추기: 텍스처 원본 이미지가 3D 모델의 크기에 비해 너무 작아서 크게 맵핑되어 이미지가 늘어나 흐릿해 보이는 현상을 줄이기 위해, 타일링 수치를 조절하여 모델 크기에 맞는 밀도를 조절하는겁니다.




3단계: 불길이 일렁이는 Panner 세팅

멈춰있는 불꽃 텍스처에 생동감을 불어넣기 위해, 텍스처의 UV 좌표를 시간에 따라 이동시켜주는 Panner 노드를 활용했습니다.

  • 속도 파라미터화 (Parameter): Panner의 Speed 값을 변수로 빼서 연결했습니다. 이렇게 설계하면 추후 머티리얼 인스턴스에서 불길이 흐르는 속도를 조절할 수 있습니다.
  • UV 연결: 세팅을 마친 Panner 노드를 불꽃 텍스처(T_Fire_Tiled_D)의 UVs 핀에 연결해 주었습니다.

불길 일렁이는 Panner 적용 결과




4단계: 검게 그을린 돌 만들기

불타는 운석의 느낌을 주기위해, 기존의 밝은 회색 돌 표면을 불에 검게 그을린 것처럼 어둡게 만들어주는 작업을 진행했습니다.

  1. 어두운 색상 생성: 에디터 빈 공간에 4 + 좌클릭을 하여 Constant 4Vector 노드를 생성하고, 값을 어두운 회색으로 설정했습니다.
  2. 색상 혼합 (Lerp): Lerp (Linear Interpolate) 노드를 꺼내어 기존 돌 텍스처(T_Rock_Basalt_D)의 색상과 방금 만든 어두운 회색을 lerp해 주었습니다.
적용 전 (Before)적용 후 (After)
원본 돌 색상그을린 돌 색상




5단계: 불길 발광 테스트

불꽃이 더 강렬하게 타오르는 느낌을 주기 위해 발광 강도를 높이는 테스트를 진행해 보았습니다.

  1. 에디터에 4 + 좌클릭으로 Constant 4Vector 색상 노드를 생성합니다.
  2. Red(빨강) 채널 값에 1을 초과하는 수치를 주어 강한 빛을 머금게 합니다.
  3. 이 노드를 기존 T_Fire_Tiled_D 텍스처와 Multiply로 곱하여 Emissive Color에 연결했습니다.
튜닝 전튜닝 후
기본 불꽃발광 수치 증가

결정: 발광 수치를 올리니 불꽃 자체는 화려해졌지만, 앞서 4단계에서 공들여 만들어둔 검게 그을린 운석 특유의 거친 질감이 빛에 가려져 보여서, 세팅을 지우고 기존 세팅으로 되돌리기로 결정했습니다.




6단계: 재질 세팅

수치 미입력Roughness 설정 후Metallic 설정 후
기본 돌거칠기 적용금속성 적용

설정 이유

  • Roughness = 1.0
    • 이유: 암석 표면이 빛을 반사할 리 없으므로, 무광을 표현하기 위해 최대치인 1.0을 주었습니다.
  • Metallic = 0.0
    • 이유: 시각적으로 불에 타고 있는 바위는 돌(비금속)의 질감에 가깝습니다. 따라서 0.0으로 주었습니다.




결과물 적용 사진

결과

회고
사진과 같이 ‘불타는 운석’의 느낌과는 다르게 나오긴 했습니다. 하지만 불꽃에 휩싸인 돌이라는 본연의 컨셉만큼 잘 살려낸 것 같아 개인적으로 만족스러운 결과물이 나왔습니다

This post is licensed under CC BY 4.0 by the author.