이것 저것 개발하고 만들어보기
article thumbnail

 

 

 

 

3D MAX에서는 다른 툴과는 조금 다른 Coordinate System 을 가지고 있습니다.

 

 

3D MAX라서 조금 다르게 표시되는 Local Space 와 Gimbal이 가지는 축의 역할을 알아보고자 합니다.

 

 

 

 

 

 

 

 

로컬축은 오브젝트가 가진 고유의 축이면서, 오브젝트 자신이 기준이 되기 때문에 자신의 위치를 항시 0, 0, 0 으로 나타냅니다.

 

 

하지만 오브젝트를 로컬 축으로 움직였을때, 다른 툴에서는 로컬 축에서 이동한 값을 보여주거나, 저장하여 사용자에게 보여줍니다.

 

 

그래서 다른 툴에선 (특히 Bone이) 간편하게 초기 위치값이나 회전값을 설정 할 수 있습니다.

 

 

 

 

 

 

 

 

하지만 3D MAX에서는 이동 할 값을 보여주나, 이동 하고 나면 다시 오브젝트의 로컬 축인 0, 0, 0 을 보여줍니다.

 

 

별다른 설정이 없다면, 3D MAX의 로컬 스페이스는 항상 자신의 위치가 0, 0, 0 을 보여주도록 설계되어 있습니다.

 

 

때문에 3D MAX에서는 Local Offset 이라는 별개의 좌표계가 따로 할당되어 있습니다.

 

 

이 로컬축은 부모의 오브젝트의 위치나 크기, 회전, 계층구조가 바뀔 때 로컬축이 업데이트 됩니다.

 

 

 

 

 

좌측 : 3D MAX / 우측 : Blender

 

 

 

다른 툴에선 이미 로컬 축으로부터 이동한 값을 미리 보여주기 때문에 Parent 축과 Local 축의 차이는 없습니다.

 

 

그래서 Blender의 경우, Local 축은 존재하나 Parent의 축이 따로 존재하지 않습니다.

 

 

하지만 3D MAX에서 Parent 축과 Local 축은 각자 다른 의미를 가지므로 두 축이 나뉘어져 있습니다.

 

 

 

 

 

 

 

 

Parent 축과 Gimbal 축이 부모 오브젝트로부터 얼마나 이동하고 회전했느냐를 보여줍니다.

 

 

이 정보를 통해서 다른 툴에서처럼 Parent Space 에 대한 정보를 얻을 수 있습니다.

 

 

 

 

 

 

 

 

하지만 3D MAX에서 이와 같은 Parent 축과 Gimbal 축을 바이패드에서 그대로 사용했을 때 문제가 생깁니다.

 

 

사진에서처럼 로컬과 다른 방식의 기즈모 핸들을 보여주게 되면서 애니메이션에 에로사항이 생깁니다.

 

 

축의 문제 뿐만 아니라 다른 툴과 다르게 작동하는 축 때문에 Biped 로컬 스페이스의 데이터를 다시 초기화 시켜야 하는 등의 문제가 생깁니다.

 

 

이렇게 때문에 특별한 이유가 아니라면 게임 엔진 등에 임포트 할 목적으로 Biped 를 스키닝 본으로써 쓰는걸 권장하지 않습니다.

 

 

 

 

 

 

profile

이것 저것 개발하고 만들어보기

@Tintana'k