본문 바로가기

Script/MaxScript

pos2zero

오브젝트의 x,y 볼륨의 중심이 0,0으로 가고 높이는 최하위 버텍스 기준으로 0으로 이동.

objcet_pos2zero.ms
다운로드

 

 

 

 global exportsetup

 rollout chReset "chRest" width:340 height:200 
 ( 
     button bt_Pick "1. Pick" pos:[10,20] width:120 height:30
     GroupBox group1 "result" pos:[50,90] width:150 height:70
     label showbox "대기" pos:[60,120] width:100 height:30
     button bt_chReset "2. chReset" pos:[10,50] width:120 height:30

     on bt_Pick pressed do
     (
         p=pickobject prompt: "Pick Mesh"
         if p!=undefined then
         (
           select p
           p.wirecolor= [255,20,30,1]
           chReset.showbox.text= "선택했습니다" 
         )
         else
         (
            chReset.showbox.text= " 선택하세요" 
         )

     )

     on bt_chReset  pressed do
     (
         mPlane=Plane length:1 width:1 name:"AlignTarget" pos:[0,0,0] 
         ---오브젝트가 2개 이상일때 오류남
         select $
         deselect mPlane 
         SelObj=$ --선택된 오브젝트를 Selobj라 명명
         CenterPivot(SelObj) --피봇을 선택된 오브젝트의 중심으로 설정
         vpos = for i in SelObj.verts collect i.pos.z
         --버택수를 배열로 넣어서 그중에서 최대 최소 포지션 값을 구함
         
         vmax= amax vPos
         vmin= amin vPos
         move SelObj [-$.center.x,-$.center.y,- vmin] 
         --오브젝트를 0,0,0 에서 벗어난 만큼 빼줘서 0,0,0위치로 오게끔 설정
         
         SelObj.Pivot=[0,0,0] --오브젝트의 피봇 위치를 설정
         ResetXForm SelObj
         maxOps.CollapseNode $ off ---CollapseAll
         delete mPlane
         chReset.showbox.text= " 이동했습니다"  

     )

 )

 createDialog chReset



 

'Script > MaxScript' 카테고리의 다른 글

Pos2VertexColor for Foliage Animation wip  (0) 2020.06.19
FBX EXPORTER & Anim for Unity  (0) 2020.05.07
Random_Scatter_Surface  (0) 2019.10.11
TRI,VERTEX Viewport Count  (0) 2019.10.11