3D 맥스의 Mesh Deform 기능은 FFD
블렌더 Mesh Deform
Mesh Deform을 사용하기 위해서는 원래 모델(타겟 메시)과 왜곡을 가할 메시(디포메이션 케이지 메시)를 준비해야 합니다. 타겟 메시는 최종적으로 만들고자 하는 모델이고, 디포메이션 케이지 메시는 이 모델을 왜곡시키기 위한 역할을 합니다.
디포메이션 케이지 메시는 일종의 ‘망사’처럼 원래 모델을 덮고 있습니다. 그리고 이 망사의 꼭짓점들은 원래 모델의 꼭짓점들과 연결됩니다. 그럼으로써 디포메이션 케이지 메시의 꼭짓점을 조작함으로써 원래 모델을 왜곡시킬 수 있게 됩니다.
Mesh Deform 사전 준비
뷰포트에서 Add ( 단축키 : Shfit + A )기능을 이용해 Monkey 모델인 Suzanne를 생성해보겠습니다. Mesh Deform 기능은 일반적으로 간단한 모델링 작업 (Cube와 같은 단순한 모양) 보다는 더 복잡하고 자세한 모델링에 주로 사용됩니다. 이번에는 Suzanne, 즉 Monkey 모델을 대상으로 Mesh Deform을 테스트해보겠습니다.
Monkey 오브젝트의 비율을 수정하기 위해, Mesh Deform을 사용하기 위해 ‘왜곡시켜줄 물체’로 사용할 Cube를 생성해보겠습니다. Cube는 일반적으로 Monkey보다 작게 생성되기 때문에 크기 차이를 보정해주어야 합니다.
뷰포트에서 Add 메뉴 (단축키 : Shift+A )를 이용해 Cube를 생성합니다. 그리고 나서 ‘S’ 키를 눌러 Scale 모드로 진입하고, 마우스를 움직여 Cube의 크기를 조절합니다. Monkey 모델이 완전히 Cube 안으로 들어올 수 있도록 크기를 조절해줍니다.
Cube는 왜곡시켜줄 물체의 기준이 되기 때문에 Monkey보다 크게 만들어야 합니다. 이 Cube는 Cage 역할을 하게 됩니다. Cage는 원본 모델(Monkey)을 둘러싸고 있는 ‘외부’의 구조로서, Monkey을 왜곡 시키기 위해 사용됩니다.
*Cube의 스케일을 조절하면 스케일 정보는 1이 아닐 것입니다. Modifier를 사용하기 전에는 항상 오브젝트의 트랜스폼 정보를 초기화하는 것이 좋은 습관입니다. 이렇게 함으로써 예상치 못한 결과나 문제를 방지할 수 있습니다.
Cube를 선택한 후에 Apply 메뉴 (단축키 : Ctrl + A)를 열고 ‘All Transforms’를 선택하여 초기화 작업을 진행해주시면 됩니다. 이렇게 함으로써 Cube의 스케일 정보가 1로 초기화되고, 정확한 결과를 얻을 수 있게 됩니다.
Mesh Deform 적용하기
이제 Monkey 오브젝트를 선택하고 Modifier List에서 Mesh Deform을 적용해보겠습니다. 그러고 나서 Object 옆 스포이드를 클릭하고 Cube를 지정해서 Object 에 Cube를 활성화해줍니다.
- Object : 왜곡을 가할 오브젝트를 의미합니다.
- Vertex Group : 왜곡 될 오브젝트의 버텍스 그룹 정보를 활용합니다. 이렇게 하면 버텍스 그룹에 지정된 일부 영역만 왜곡 시킬 수 있습니다.
- Precision : 조금더 세부적으로 왜곡시켜줍니다. 수치가 높을수록 무거워지고 세부적인 계산을 합니다.
- Dynamic : 더 무겁고 세부적인 계산을 진행합니다. 기본적으로 비활성화 되어 있습니다.
- Bind : 선택한 오브젝트에 설정한 옵션으로 연결됩니다. Bind를 해야 기능이 작동됩니다.
다른 설정은 모두 디폴트로 두고 Bind을 눌러 연결 시켜줍니다.
*적용 시킨 Bind를 해제하면 다시 원래의 오브젝트로 돌아옵니다.
이제 Cube를 선택하고 Edit Mode에서 변형시키면 Monkey의 비율이 정점 (Vertexs)를 따라 같이 움직이게 됩니다. 이를 가지고 원본 형태의 모델링을 유지하며 형태, 비율등을 수정할 수 있습니다.
개념 더하기
일반적으로 위에서 설명한 단계를 따르면 물체의 비율을 조정하거나 형태를 바꿀 때 간편하게 적용할 수 있습니다.
더 깊게 들어가보면, 현재 Cube를 이용해 수정 가능한 버텍스는 8개뿐입니다. 그러나 왜곡시킬 오브젝트의 버텍스를 더 많이 설정한다면 보다 정교한 변형이 가능합니다. Cylinder나 더 복잡한 오브젝트의 형태여도 작동합니다.
다만, 이미 Bind가 적용된 상태에서 왜곡시키는 모델에 새로운 버텍스를 추가한다면 연결이 끊어집니다. 이런 경우, 다시 Bind를 새로 설정해주어야 합니다.
18개의 버텍스에서 24개로 추가했더니 경고문과 함께 연결이 끊어졌습니다.
또한, Monkey 모델의 경우 버텍스 수가 많기 때문에 자연스럽게 비율이 적용됩니다. 그러나 왜곡되는 오브젝트의 버텍스 수가 부족하다면 문제가 발생할 수 있습니다.
Mesh Deform 기능은 모델의 부피로 계산되는 것이 아니라 버텍스를 기반으로 계산됩니다. 따라서 버텍스 수가 부족하면 비율이 정확하지 않게 수정될 수 있습니다.
이런 상황을 피하기 위해 비율을 수정할 때 오브젝트의 정보를 초기화하고 작업을 진행하며, 필요하다면 적절한 버텍스를 추가하여 비율이 깨지지 않도록 유의해야 합니다.