제작 원본 파일 Download:
https://mogl3d.com/refs/details?refs_id=TzmjLU9mG8zhk3bSfmGL
1] 소스준비
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값을 조절한다.
- 담배연기의 투명한 부분을 표현하기 위한 opacity값을 추가한다.
- 연기가 퍼져나가므로 'spread'값을 수정한다.
6] Field 추가하기
- 사방으로 퍼져나가는 담배 연기를 표현하기 위해 turbulence 필드를 추가한다.
- 시간에 따라 연기가 요동치는 장면을 표현하기 위해 터블런스 필드의 Phase X, Y값을 수정한다.
- 아래와 같이 Expression을 추가한다.(우클릭)
- 터블런스의 x, y값이 시간이 증가함에 따라 크게 변하게끔 expression코드를 작성한다.
- Phase x, y값의 결과를 time 변수로 설정한다.
** 아놀드 랜더러를 사용한다면, 'aiStandardSurface'쉐이더를 사용한다.
// 아웃풋
원본파일 Down:
https://mogl3d.com/refs/details?refs_id=TzmjLU9mG8zhk3bSfmGL