ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최종 화염방사기의 아지랑이 효과 구현하기
    컴퓨터 3D 그래픽/미니 프로젝트(화염방사기) 2025. 2. 20. 22:30

    2️⃣ 핵심 개념: Normal Map과 벡터(3Vector)

    (1) Normal Map(노멀 맵)이란?

    Normal Map은 3D 표면의 굴곡을 가짜로 표현하는 특수한 텍스처입니다.
    이 텍스처를 사용하면 실제로 표면이 기울어진 것처럼 보이게 만들 수 있어요.

    🟢 RGB 값이 표면 기울기를 나타냄

    • X축 (Red 채널) → 좌우 방향 기울기
    • Y축 (Green 채널) → 위아래 방향 기울기
    • Z축 (Blue 채널) → 표면이 얼마나 평평한지 (보통 1.0)

    🔹 예제:
    만약 Normal Map이 (1,1,1) 값이라면, X와 Y 방향으로 강하게 기울어져 있는 것입니다.
    이 값을 이용해 빛이 굴절되는 효과(Heat Distortion)를 만들 수 있습니다.

    (2) 3Vector (3벡터)와 Normal Map의 관계

    강의에서 설명한 것처럼 3벡터(Vector3)에서 X, Y 값을 조절하면 왜곡 강도가 달라집니다.

    • Vector3(0,0,1) → 평평한 표면 (왜곡 없음)
    • Vector3(0.5,0.5,1) → 살짝 기울어진 표면 (약한 왜곡)
    • Vector3(1,1,1) → 강하게 기울어진 표면 (강한 왜곡)

    👉 X, Y 값이 클수록 더 많이 기울어져서, 굴절(Refraction) 효과가 강해짐!
    👉 반대로 X, Y 값을 0에 가깝게 하면 왜곡이 줄어듦.


    3️⃣ Heat Distortion 머티리얼 제작 과정

    머티리얼에서 열 왜곡 효과를 만들기 위해 3가지 핵심 작업을 수행해야 합니다.

    📌 1. 기본 설정 (반투명 & Unlit)

    1. 새로운 머티리얼 생성 (M_HeatDistortion_Master)
    2. Blend Mode: Opaque → Translucent (반투명)
    3. Shading Model: Default Lit → Unlit (조명 영향 X)
    4. Opacity를 0으로 설정 → 완전히 투명한 오브젝트 생성

    💡 🔎 용어 설명:

    • Blend Mode (블렌드 모드) → 오브젝트의 투명도를 결정 (Opaque: 불투명, Translucent: 반투명)
    • Shading Model (쉐이딩 모델) → 표면이 조명에 어떻게 반응할지 결정 (Unlit: 빛 영향을 받지 않음)

    📌 2. Refraction (굴절) 효과 추가

    🔥 Refraction(굴절) 값을 조정하여 빛을 휘게 만듦

    1. Refraction 값 1.33 (물의 굴절율) 설정
    2. 굴절 효과를 적용할 Normal Map 추가
      • HT_Noise_Normal_B 또는 T_Noise_Normal_A 사용
    3. Normal Map을 Normal 소켓에 연결

    💡 🔎 용어 설명:

    • Refraction (굴절) → 빛이 다른 매질을 통과하면서 방향이 바뀌는 현상
    • Normal Map → 표면의 기울기를 가짜로 표현하는 텍스처

    📌 3. Panner (패너) 노드를 활용한 왜곡 애니메이션

    🔥 Panner 노드를 사용하여 텍스처가 움직이게 만들어 동적인 왜곡 효과 추가

    1. Panner 노드 추가
      • Speed X: 0.1
      • Speed Y: 0.1
    2. Normal Map의 UV 입력에 연결
    3. Texture가 부드럽게 흐르면서 왜곡 효과 생성

    💡 🔎 용어 설명:

    • Panner (패너) → 텍스처를 지속적으로 이동시키는 노드
    • UV → 텍스처가 모델에 어떻게 매핑되는지 결정하는 좌표 시스템

    📌 4. 네모난 왜곡 제거 - 3Vector + Lerp 사용

    🔥 Lerp(Linear Interpolation) 노드를 사용하여 불필요한 네모난 왜곡 제거!

    ✅ A 값 (기본값 - 왜곡 없는 상태)

    • Vector3(0,0,1) → Z 값만 1.0으로 설정하여 완전히 평평한 상태 유지
    • 즉, X, Y 값을 0으로 하면 Normal Map이 적용되지 않아 왜곡이 사라짐

    ✅ B 값 (적용할 왜곡 텍스처)

    • 원래 적용하려던 **울렁이는 텍스처(Normal Map)**을 연결

    ✅ Alpha 값 (마스크 - 왜곡이 적용될 영역)

    • Mask(마스크) 텍스처를 사용하여 왜곡이 적용될 부분을 지정
    • 테두리 부분은 0 (A값 사용 → 왜곡 없음),
      중앙 부분은 1 (B값 사용 → 왜곡 적용)

    이렇게 하면 테두리는 평평하게 유지되면서, 원하는 부분에만 왜곡이 적용됨!


    4️⃣ 최종 조정 및 테스트

    🔥 Material Instance를 사용하여 세부 값 조정 가능

    • Speed X, Speed Y → 왜곡 이동 속도
    • Refraction Rate → 왜곡 강도 (1.2~1.5)
    • Mask Contrast → 왜곡이 적용될 범위

    댓글

Designed by Tistory.