cigarette smoke Effect (::Maya2023)

 

 

제작 원본 파일 Download:

https://mogl3d.com/refs/details?refs_id=TzmjLU9mG8zhk3bSfmGL

 

MoGL_3D

 

mogl3d.com


1] 소스준비

(sketchfab 무료소스 다운로드)

 

 

 

 

 

 


2] Emitter 생성하기

 

- 담배연기는 위로(y축, 한방향) 상승하기 때문에 emitter type을 'Directional'로 선택한다.

 

 

 

 

- 연기 텍스처를 사용할 예정이므로 파티클 타입을 sprite로 선택한다.

 

 

 

 

 


3] 쉐이더 넣기

 

- hypershader에서 'Lambert'쉐이더를 생성한 뒤, sprite파티클에 적용한다.

* sprite에 넣는 연기 소스는 포토샵의 브러시로 대충 만들어준다.(256 x 256[px])

 

 

 

 

 

- 램버트 쉐이더의 칼라값에 png파일을 넣어준다.

 

 

 

 

 

 


4] Sprite 파티클 크기 조절하기

 

- 파티클의 'General'속성에서 'spriteScaleXPP', 'spriteScaleYPP'를 속성을 추가한다.

 

 

 

- 해당 속성(Sprite Scale X(Y) PP)에 램프를 추가한다.(우클릭)

 

 

 

- 이로써 램프 색상값에 따라 Sprite 파티클의 x, y축 크기를 변경할 수 있다.  

 

 

 

 

 


5] 파티클 속성 수정하기

 

- 파티클이 생성된 후 4~5초 내 사라져야만 담배연기와 비슷하므로 아래와 같이 life span값을 조절한다. 

life span조절

 

 

- 담배연기의 투명한 부분을 표현하기 위한 opacity값을 추가한다.

opacity속성 추가 & 수치값 설정

 

 

 

 

- 연기가 퍼져나가므로 'spread'값을 수정한다.

spread: 4~5

 

 

 

 

 


6] Field 추가하기

 

- 사방으로 퍼져나가는 담배 연기를 표현하기 위해 turbulence 필드를 추가한다.

 

 

 

- 시간에 따라 연기가 요동치는 장면을 표현하기 위해 터블런스 필드의 Phase X, Y값을 수정한다.

- 아래와 같이 Expression을 추가한다.(우클릭)

 

 

 

- 터블런스의 x, y값이 시간이 증가함에 따라 크게 변하게끔 expression코드를 작성한다. 

- Phase x, y값의 결과를 time 변수로 설정한다.

turbulence phase X, Y Expression

 

 

 

 

 

** 아놀드 랜더러를 사용한다면, 'aiStandardSurface'쉐이더를 사용한다.

 

 

 

// 아웃풋

 

 

원본파일 Down:

https://mogl3d.com/refs/details?refs_id=TzmjLU9mG8zhk3bSfmGL

 

MoGL_3D

 

mogl3d.com