파일을 Import 했을 때 시스템 단위의 차이로 크기가 동일하지 않는 경우 아래와 같은 방법 등을 이용해 봅니다.
1. 다른 시스템의 작업물 유닛을 현재 시스템의 유닛 설정에 맞게 불러오기.
예제:
1. 현재 장면의 시스템 단위가 [ inch] 로 설정한 상태에서 XYZ가 10 inch인 박스(아래 그림의 좌측 오브젝트)를 만듭니다.
( 위 그림은, 장면의 단위 설정이 Cm인 상태에서 10인치(1inch = 2.54 cm)와 10cm 박스를 만들어 크기를 비교한 장면입니다. )
2. 새로운 장면을 열고, 장면의 유닛(unit)이 [ Cm ]을 설정한 후, 시스템단위 설정 옵션의 'Respect Sysem Units in File' 을 체크 해지한 후 10인치 박스를 merge 합니다.
( 결과: 10inch->10cm로 수치는 변화 없이 씬의 설정 단위로 리스케일 되었음을 알 수 있습니다. )
* 2016 버젼이상에서는 Merge 할 때 'Rescale Objects to System Unit Scale' 를 비활성 시키면 됩니다.
------------------------------------------------------------------------------------------------------------------------
< 객체의 크기 변화와 속성(object properties) 변화 >
다음 설정은 새장면에서 각각 다른 환경의 객체를 사용하기 위해 불러오는 경우
새장면 system unit 환경으로 뷰포트를 통해서 보는 객체의 크기 변화와 속성(object properties) 변화이다.
A) 장면 안에서 Units setup 을 바꾸었을 경우 객체들의 변화
장면에 안에 객체들이 현재 시스템에 맞는 단위로 변경, 크기 변경 (객체 속성 변경 O)
B) Import : 새장면에서 파일안에 객체를 불러오는 경우
Rescale Objects to System Unit Scale (객체 크기를 시스템 단위 배율로 조정한다.)
이 옵션이 체크되지 않으면 다른 시스템 단위 설정된 파일을 open, merge, xref , 또는 드래그드롭 할때 현재 시스템과 동일한 단위로 간주한다. 그래서 '파일 로드: 단위불일치' 대화 상자가 표시되지 않는다.
체크 시: 현재 시스템 단위로 변경 되면서 질량의 변화는 없다. (객체 속성 변경 X)
체크 해제시 : 현재 시스템에 맞는 단위만 변경된다. 시각적 크기에 대한 변화는 없다. (객체 속 변경 O)
C) Mismatch Dialog : 서로다른 환경의 장면에서 파일을 불러오는 경우
Rescale the file objects to the system unit scale (파일 객체 크기를 시스템 단위 배율로 재조정)
: 현재 시스템에 맞는 단위로 변경, 'Rescale Objects to System Unit Scale' 체크시 예와 같이 현재 시스템 단위에 맞게 재조정 된다.
Adopt the file's unit scale (파일의 단위 배율을 채택한다)
: 파일에 사용된 단위와 객체 속성 그대로 사용됨.
------------------------------------------------------------------------------------------------------------------------
2. 스크립트 사용하기
타 프로그램에서( 예를 들어 캐드 같은) 오브젝트를 만들어 임포트했는데 치수가 너무 크거나 작거나 할 때 유용한 스크립트.
http://studio2k.teamnop.com/tt/category/33 여기서 프로그램을 받아 설치한다.
● 설치시 맥스 경로는 설치된 맥스 루트로 설정해준다.(맥스2012 버전에서 테스트)
●스크립트 등록은 다음 그림과 같은 위치에서 등록한다.
● 100mm/100mm/100mm 오브젝트를 스크립트를 사용하여 10mm로 입력했을 때 사이즈가 10mm로 줄었음을 알 수 있다.
Sergo's script pack ( SergoScripts )
http://www.scriptspot.com/3ds-max/scripts/sergos-script-pack
Resizer Modifier (AtelierBumpResizerModifier)
축척비율 대신 직접 사이즈 입력으로 스케일 가능
atelierbump.com/tools/resize-modifier
Scale To
위 'Resizer Modifier' 와 같음.
http://www.scriptspot.com/3ds-max/scripts/scale-to
아래 코멘트(댓글) 에 달린 개선 된 버젼 ( walid-scaleto_modified.mcr )을 사용하는 것이 좋음. 그룹으로 묶어서 할수 있음.
3. Utilities > Rescale World Units 이용
모델링을 시작하고 시스템 단위 스케일 (System Unit Scale)의 값을 변경한 경우 Rescale World Units 로 장면이나 선택된 객체만 다시 스케일을 변경할 수 있다.
0.01(100배축소), 0.1(10배축소), 10 (10배 확대) 등의 수치를 직접 사용.
4. 다른 오브젝트를 참고해서 동일한 크기로 스케일 하기
● Transform Toolbox 사용하기
Rescale World Units 를 사용하면 백분율로 조절하기 때문에 미세한 조정까지는 힘들다.
다음 기능을 사용하면 입력한 크기로 조절할 수 있다.
* Edit 메뉴 > Transform Toolbox를 사용하여 다른 오브젝트의 size를 참고하여 원하는 축으로 스케일 할 수 있음.
Get... 버튼 : 선택된 오브젝트의 사이즈 정보
X,Y,Z : 원하는 축의 정보를 size 입력란에 등록 또는 스케일 하고 싶은 축을 선택할 때.
All : 모든 축 방향으로 동일하게 스케일 하고 싶을 때.
↑ 버튼 : 체크된 축의 사이즈 정보를 Size 입력란에 등록해준다.
set size : 선택된 오브젝트를 입력된 size 값과 체크된 축방향으로 스케일 해준다.
R 버튼 : Reset Xform (스케일 정보를 초기화한다. Scale Transform Type-in를 통해서 100% 됨을 알 수 있다.)
● Align 툴을 사용하는 방법
match scale 만 체크 하고 사용하면 타겟 오브젝트의 Transform Type-In 에서 볼 수 있는 스케일 값이 그대로 복사된다.
스케일이 조정되지 않거나 스케일이 재설정된(Reset Xform) 경우 해당이 안됨.
● 선택한 오브젝트의 축 크기만큼 동일하게 모든 오브젝트에 일률적으로 스케일을 적용할 수 있는 스크립트
http://www.scriptspot.com/3ds-max/scripts/batch-rescale
( 선택한 오브젝트의 Z 축을 기준으로 스케일이 똑같이 적용됨)
* 참고)
1. 모든 오브젝트의 최종 스케일 상태는 object properties 또는 Scale Transform Type-in 대화창에서 다시 한번 확인해봐야 합니다.
오브젝트 속성의 내용에 변화가 없으면 Reset Xform을 적용합니다. Scale Transform Type-in 값이 100%가 아닐때 계층구조 애니메이션에서도 문제가 발생할 수 있다.
오브젝트에 편집을 가하여 다른 환경으로 내보낼 때도 Reset Xform을 사용하고 스택을 합쳐줘야 한다.
( Reset Xform은 오브젝트 내부 속성의 transform정보를 리셋시키는 역할을 합니다.)
2. 오브젝트를 import 하기 전 또는 새로 만들기 전에 미리 시스템의 단위 설정을 변경하고, merge를 사용해야 한다.
기존 장면 안에서 시스템 단위를 바로 변경하는 것은 나쁜 결과를 얻을 수 있어서 권장되지 않는다.
이 경우 Utilities > Rescale World Units 를 사용해서 장면의 크기를 재조정해야 한다.
3. 프로젝트 규모와 일치하도록 시스템 단위를 설정하는게 가장 좋다.
큰 물체를 만드는 경우 큰 시스템 단위로 설정하고, 작은 물체를 만드는 경우 작은 시스템 단위로 설정하는 것이다.
큰 단위에서 작은 물체나 작은 단위에서 큰 물체를 만들어야 할 경우 시스템의 유닛에 배율로 적용한다.
예를 들어 큰 장면에서 작은 동전 같은 것을 모델링할 때 1Unit = 1m라면 0.1m나 0.01m 같은 배율로 변경한다.
또는 작은 장면에서 운동장처럼 큰 오브젝트를 모델링하는 경우라면 배율을 높인다.
이렇게 하는 이유는 부동소수점 (floating point) 오류로 인한 문제를 방지하기 위해서이다.
3ds Max 및 기타 널리 사용되는 3D 소프트웨어는 단정밀도 부동 소수점 형식(single-precision floating-point format)을 기반으로 합니다. 이것은 숫자가 증가함에 따라 사용할 수 있는 소수 자릿수가 적다는 것을 의미합니다. 이로 인해 부정확한 반올림이 발생합니다(예: "1000000.445669"가 "1000000.4"가 됩니다.)
4. 만약 스케일 툴을 사용하여 배율을 크게하거나 작게 할 경우 sub-object 수준에서 사용하는 것이 좋다.
(버텍스 레벨에서 모든 버텍스를 선택해서 스케일을 적용하거나 Xform 모디파이어를 적용하고 Gizmo 에 스케일을 적용할 수 있다. 마지막에 오브젝트 자체의 Scale Transform Type-in 값이 100% 상태인지 확인하도록 한다.)
5. 물리적 렌더링 엔진에서 단위 변화는 영향을 받는다. 렌더 설정이 다시 필요할 수 있다.
기존 장면에서 'real world scale' 옵션을 사용했을 경우, 재질의 크기도 변경이 필요하다.
'3DsMax > Tips' 카테고리의 다른 글
3ds max 의 주전자 (teapot) (0) | 2012.05.09 |
---|---|
메쉬 구조를 사각형 또는 삼각형으로 바꾸기 (0) | 2012.05.09 |
material/map 브라우저를 2010 이전 형식으로 바꾸기 (0) | 2012.05.09 |
트랙바 (track Bar) 팁 (0) | 2012.05.09 |
3ds max 에서 메모,계산기를 사용하자. (0) | 2012.05.09 |
댓글