Maya 특수효과『bifrost 기초』

MoGL3D ㅣ 2020. 10. 28. 23:13

유체 특수효과 플러그인 중에서

꾸준히 사용빈도가 높아지고 있는

bifrost에 관해 알아보자.

 

 


씬 구성

 

bifrost기능을 체험할 수 있는

적절한 유체씬은 '물 따르기'다.

 

간단한 테스트 씬을 위해

TF3DM과 같은 무료 3D모델링 사이트에서

와인잔과 와인병을 다운받자.

 

소스출처 : TF3DM.com

 

와인을 따르는 간단한 애니메이팅을 설정한 뒤,

 

 

기본 Cylinder를 생성한다.

 

 

Cylinder는 액체가 뿜어져나오는 Emitter역할을 해야하므로

와인병의 움직임을 그대로 따라가야한다.

(parent constrain설정) 

 

parent constrain

 

 


Bifrost노드 생성

 

bifrost를 사용하는 이유는 간편하기 때문이다.

 

아래와 같이 폴리곤 Mesh를 선택한 뒤,

FX메뉴의 Bifrost Fluid -> Liquid를 클릭하는 것으로 

꽤 괜찮은 유체특수효과를 만들 수 있다.

 

 

Bifrost는


1) bifrost shape

2) container

3) guide

4) mesh

5) emitter


5가지 노드를 기본으로 한다.

이중에서 많이 사용하는 노드는 container와 shape이다.

 

그리고

 

bifrost노드를 처음 생성하고나면 아래와 같이

아무것도 안 보이거나

파티클 덩어리가 살짝 나타났다 사라지는 장면을 볼 수 있다.

 

 

대부분 위와같은 현상이 발생하는 이유는

크기와 emitter 때문이다.

 

Bifrost는 그리드의 1칸을 1미터로 인식한다.

 

주의해야할 점은

preference setting에서 centimeter를 설정하더라도

bifrost는 그리드 1칸을 계속 1미터로 계산한다. 

 

 

현재 Bifrost는 와인잔의 크기를 3미터 정도로 인식한다. 

 

여기서 미터 단위를 센티미터로 일치시키려면

폴리곤의 크기를 10배이상 줄여야하는데,  

그렇게 작업하기에는 다소 무리가 따른다.

 

폴리곤의 크기가 너무 작아지면

작업하기가 어렵기 때문이다. 

 

일단 voxel의 크기를 미터단위(1 = 1미터) 혹은 0.5정도로

맞춘 상태에서 시뮬레이션을 진행하는 편이 좋다.

 

오브젝트의 크기를 10분의 1이상 줄이기보다

마지막 랜더링에서 Emitter의 양을 10배 늘려주는 편이 편할 수 있다.

 

시뮬레이션을 위해서

Emitter에서Continuous Emission에 체크하고,

파티클의 밀도가 보일 정도로 voxel size를 낮춰준다.

 

 


Boundary 설정

 

현재 파티클들이 아무런 저항없이 병을 뚫고 나오고 있다.

파티클의 움직임에 제약을 만들려면,

bifrost Liquid노드를 클릭한 후

Bifrost Fluids -> Kill Field를 실행한다.

 

*Kill Field : 설정한 영역 밖으로 튀어나가는 파티클을 모두 제거해주는 기능

 

kill field의 모양을 Cylinder로 설정한 뒤

병입구에 위치시켜준다.

(파티클은 boudary 안에서 움직인다)

 

 

kill field는 병의 움직임에 따르기 때문에

parent constrain을 설정한다.

 

 

와인이 쏟아지는 프레임 구간에서는

병의 collider가 실행되기 때문에

key설정을 통해 kill field의 작동을 중단한다.

(메모리 효율)

 

 

bifrost Liquid노드와 병을 선택한 상태에서

Collider를 실행한다.

(병 폴리곤이 파티클 움직임을 막음)

 

 

와인잔 역시 Collider를 실행하고,

 

 

kill Field를 적용해서

폴리곤 밖으로 튀어나오는 파티클을 제거한다. 

 

Cylinder & invert설정 

 

 

 


bifrost Liquid

 

액체의 성질은 bifrost Liquid노드에서 대부분 조절할 수 있다. 

 

포도주나 물과 같이 점도가 낮은 액체는

Particle Distribution의 interior particle Density수치값만 1~2정도 높여줌으로써

현실적인 느낌을 구현할 수 있다.

 

 

 [bifrost Liquid 속성] 

- Vorticity : 소용돌이 강도 조절
- Surface Tension : 표면장력
- Viscocity : 점성
- Erosion : 침식(파도생성에 사용)

 

 

 

 


Emitter

와인병을 기울기를 줄이는 과정에서

더이상 와인이 쏟아지면 안 된다.

 

이를 표현하기 위해서는 98프레임 정도에서

파티클 생성을 멈춰야하며,

Emitter의 Continuous Emission의 on/off에 key를 설정한다.

 

01

 

병에서 흘러나오는 와인을

좀더 생동감있게 표현하고 싶다면,

Emitter 폴리곤 오브젝트의 표면을 울퉁불퉁하게 만들어야 한다.

 

 

Emitter 폴리곤 오브젝트를 선택하고,

Deform(리깅 메뉴)에서 Texture를 적용한다.

 

 

텍스처 파일에는 'noise'노드를 연결한다.

 

 

Emitter폴리곤 오브젝트의 표면이 구겨질 정도로

대략 noise설정을 지정한다.

 

 

와인이 흘러나오는 형태를 좀더 역동적으로 표현하고 싶다면,

아래와 같이 Time 속성에 Expression을 적용한다.

 

 

마야의 'time' 내장함수와 noise의 time값을 곱해준다.

(변하는 시간값과 noise의 곱셈)

 

 

이제 캐시를 조절하고, 랜더링하는 부분이 남았다.

 

 

next 『bifrost 캐시편』