Chapter 8-1. 모닥불 : 모닥불 구현(Particle System, Light)

Date:     Updated:

카테고리:

태그:

인프런에 있는 케이디님의 [유니티 3D] 실전! 생존게임 만들기 - Advanced 강의를 듣고 정리한 필기입니다. 😀
🌜 강의 들으러 가기 Click

Chapter 8. 모닥 불에 고기 굽기

모닥불 구현

🚖 장작 만들기

image

장작 오브젝트 4 개 조합. 이 장작 4 개에 모닥 불을 피울 것이고 Graphics라는 빈 오브젝트의 자식들로 넣어준다. Graphics로 묶어 줌.


🚖 불 만들기

Particle System

Flame 이름의 Particle System. 입자 하나 하나가 불 꽃이 된다.

image

  • Transform
    • 장작 위에서 불이 타도록 위치를 장작 위로 조정
    • Scale 로 입자들 크기를 조정
    • X 축 중심으로 -90 도 회전시켜 주어 불 꽃 입자들이 수직적으로 하늘 위로 올라갈 수 있도록 해주었다.

image

  • Main
    • Start Lifetime, Start Speed, Start Size, Start Rotation, Start Color 을 Random Between Two Constant 로 지정하여 입자들마다 수명, 속도, 크기, 회전값, 컬러를 랜덤하게 해주었다.
      • Start Rotation : 입자들마다 -15 ~ 15 도 사이에서 랜덤한 회전값을 가진다.
      • Start Color : 주황색, 빨간색 이 두 색 사이에서 랜덤한 색상을 가진다.
    • Looping 반복 재생
    • Play On Awake 활성화 되자마자 재생

image

  • Emission
    • 입자들은 한번에 100개씩 태어나게 한다.
  • Shape
    • 이 전체 파티클 시스템은 뒤집어진 원 뿔(Cone) 모양을 그린다.
      • 콘의 경사는 30도
    • Raius 를 줄여 좁은 한군데에서 입자들이 태어날 수 있도록 하였다.

image

image

  • Color over LifeTime
    • 주황색에서 시작하여 수명의 중간 즈음부터는 투명해지도록 하였다.
    • 입자들이 처음엔 주황 빛이 강하다가 수명이 끝나갈 때쯤엔 자연스럽게 투명해지며 사라지도록
  • Size over LifeTime
    • 처음엔 작다가 초반에 뽝! 커지고 점점 자연스럽게 크기가 작아지며 사라지도록 하였다.
  • Rotation over Lifetime
    • 불 꽃 입자들은 수명내내 15 회전 속도로 회전한다.

불의 Material

image

image

모닥불 파티클 시스템에 입힐 Material 로 Fire 이름의 Material을 만들었다.

  • Shader 는 Mobile/Particles/Additive 로 설정해주었다.
    • Additive 쉐이더
      • 색을 표현할 때 RGB 3 가지만 사용하여 뚜렷한 색을 표현한다.
        • 뚜렷하게 색을 표현하고 어두운 색은 최대한 표현하지 않기 떄문에 ‘불’ 을 표현하기에 좋다.
      • 검은색 빛은 마치 투명한 것처럼 다룬다. 검정색을 투명도처럼 존재하지 않는 빛으로 다루기 때문에 어두운 색 Material 로 사용할 것이라면 이 쉐이더는 어울리지 않는다.
    • 파티클 시스템의 모양이 될 불 모양의 Texture 이미지를 할당해준다.
      • Additive 쉐이더이기 때문에 어두운 색은 다른 색에 의하여 덮혀져 최대한 가려지고, 색을 뚜렷하게 표현할 것이다.

image

만든 Matrial을 불 파티클 시스템의 머테리얼로 설정해주었다.


🚖 검은 연기 만들기

Particle System

image

불의 검은 연기를 표현하기 위한 파티클 시스템. 이름은 Smog

Flame Particle System과 거의 동일한 설정을 가지는 파티클 시스템이기 때문에 Flame을 복사하여 만들었다. 불이 재생될 땐 Flame와 함께 하나의 파티클 시스템으로서 재생될 것이기 때문에 Flame의 자식으로 넣어 주었다.

  • Transform
    • 검은 연기는 보통 불의 윗부분에서 피어나므로 Flame 보다 위에 위치하도록 Y 위치를 좀 올려주었다.
  • Emission
    • 일반 불보단 입자 갯수가 덜해야 하므로 Rate over Time 은 30개
  • Size over Lieftime
    • 일반 불과는 다르게 수명에 따른 크기 커브를 지정해주었다. 검은 연기 답게..
  • Rotation voer Lifetime
    • 일반 불보단 좀 더 빠르게 회전할 수 있도록 회전 속도를 올려주었다.

연기의 Material

image

image

연기 파티클 시스템에 입힐 Material 로 Fire_Smog 이름의 Material을 만들었다.

  • Shader 는 Legacy/Particles/Alpha Blended 로 설정해주었다.
    • Alpha Blended 쉐이더
      • 색을 표현할 때 RGBA 투명도까지 4 가지를 사용한다.
        • Additive 와 다르게 검정색을 표현할 수 있다. 👉 검은 연기 표현에 적합
        • 따라서 사용하려는 텍스처의 이미지 배경이 검정색이면 안된다.
    • 파티클 시스템의 모양이 될 불 모양의 Texture 이미지를 할당해준다.
    • Tint Color 를 검정 계열의 어두운 색으로 하여 연기를 어둡게 표현하였다. 투명도도 좀 올려주어 살짝 투명하게 표현되도록 하였다.
      • 이제 이 Material을 가지는 오브젝트는 기본적으로 검정색이다. 색을 지정해도 이 검정색 위에 섞여서 나타나게 된다.

image

만든 Matrial을 연기 파티클 시스템의 머테리얼로 설정해주었다.


🚖 불 꽃 입자의 ‘빛’만들기 💡

Light

Hierarchy - Create - Light - Point Light

image

image

이 포인트 빛을 불🔥 파티클 시스템 입자 하나 하나의 빛으로 넣어 줄 것이다.

  • Range : 빛이 도달할 사정 거리
  • Color : 빛의 색
  • Intensity : 빛의 강도

설정이 끝났으니 파티클 시스템 입자의 빛으로 태어나게 하기 위하여 프리팹으로 만들었다.

파티클 입자에 Light 적용

image

image

  • Flame Particle System 의 Light 모듈
    • 프리팹으로 만들어 둔 Point Light을 할당해준다.
    • Ratio 0.1 👉 파티클 입자들의 10 % 정도는 이 빛을 가진다.


🚔 최종적인 모습

image

image



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Unity Lesson 3 카테고리 내 다른 글 보러가기

댓글 남기기