PROFILE
RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

오브젝트의 사이즈를 정해서 스케일할수 있는 툴입니다.
맥스의 Scale 와 별반 차이는 없습니다..
맥스의 Scale 는 % 로 적용하는 반면 Width Resize tool 은 실제 수치로 Scale 할수 있습니다.
MM , Cm , M 외 다른 unit 에 대한 현제 수치가 표시 않되고 Generic unit 에 대한 표시가 되는 버그(?) 가 있습니다. --수정완
자세한 설명은 아래 사용 동영상을 보시는것이 빠를것같습니다.

사용자 삽입 이미지

[Flash]


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/05/11 14:32 2009/05/11 14:32
http://studio2k.teamnop.com/tt/trackback/250


[Flash]


Selection rollout
 - 오브젝트의 이름을 검색하여 선택해 줍니다.(*name* 식의 검색이며 box라는 이름의 오브젝트 검색시 b,o,x,bo,ox,box로 검색할수 있습니다.)
Poly Modeling rollout
 - pivot 의 위치와 0,0,0 을 기준으로 각 방향으로 잘라 낼수 있으며 Symmetry 할수 있으며 Delete 일때 offset이 가능합니다.
 - Attach 선택된 모든 오브젝트를 Attach 합니다.
 - Detach 엘레먼트 단위로 detach 합니다.
Transform rollout
 - Move Rotate Scale 모드가 있으며 쿼드 메뉴나 맥스의 버튼에 따라 기능이 바뀝니다.Move 의 경우 0,0,0 과 선택한 오브젝트의 위치로 변경이 가능하며 오브젝트의 복사가 가능하고 Rotate 의 경우 각 축별로 각도를 입력할수 있습니다, 또한 Scale 모드의 경우 스케일 할 사이즈를 입력할수 있습니다. (축선택시 같은 비율로 스케일 됩니다)
 - Flatten 은 2개 이상의 오브젝트 선택시 오브젝트의 위치를 정렬 하며 1개의 오브젝트 선택시 선택된 버텍스의 위치를 정렬 합니다.
Pivot Setting rollout
 - 기존의 pivot Setting 의 기능과 동일 합니다.

모델링할때 조금 도움이 될수 있는 툴입니다.
기존에 있던 pivot setting 나 width resize 가 합쳐졌습니다.
(2가지를 모델링 할때 마니 써서 합치게 되었습니다.)
작업시 불편함이 없도록 왼쪽에 붙도록 바뀌었습니다.
3dsmax 2009 버전에서 제작및 테스트했으며 현제 지인분들이 각 버전별로 테스트하고 잇습니다..ㄷㄷ
블로그 리뉴얼과 함께 공개 하도록 하겠습니다.


2008/07/24 - [3D studio Max Scripts/Width Resize tool] - Width resize tool V0.80
2008/04/22 - [Script Download] - Pivot setting and Export v0.95

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/10/16 12:34 2008/10/16 12:34
http://studio2k.teamnop.com/tt/trackback/264
사용자 삽입 이미지


[Flash]



Delete Mode 는 피봇 또는 0,0,0 기준으로 각 방향을 지울수 있습니다.
Symmetry Mode 는 Delete Mode 와는 반대적 역할을 합니다.

왼쪽 상단의 수치는 Delete Mode 일땐 offset 의역할을 Symmetry Mode 일땐 Threshold 의 역할을 합니다.

Selection Attach 말그대로 선택한 오브젝트를 Attach 하는 역할을 합니다.
Element Detach 각 오브젝트의 각 Element 단위로 Detach 하는 역할을 합니다.

아이콘 작업하고 바로 공개하겠습니다.

ps. 작업할때 도움주신 comtist님 감사합니다.^^
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/09/19 17:22 2008/09/19 17:22
http://studio2k.teamnop.com/tt/trackback/260

     Global Thread,MainThread,SecondaryThread
     Fn WorkThread sender e =
     (
       for i = 1 to Thread.spnLoops.value do
         (
         If MainThread.CancellationPending Then
          (
          e.cancel = true
          Thread.lbl2.text = "Primary Thread Aborted"
          )    
           else
           (
           -- test for object 'Box01'
           -- Box01'.height = i
                             --max zoomext sel               
                                
                             -- or do some nonsense calculation
                             local asum = i*pi
                             local prog  = (i as float)/Thread.spnLoops.value * 100           
                             --    MainThread.ReportProgress prog asum               
                             Thread.lbl2.text = asum as string
                             Thread.pb2.value = prog
                             sleep 0.05                       
                         )
                 )               
                 Thread.lbl2.text = "Primary Thread Complete"
                 Thread.pb2.value = 0
     )
     Fn WorkThread2 sender e =
     (   
                     for i = 1 to Thread.spnLoops.value do
                     (
                     If SecondaryThread.CancellationPending Then
                         (
                         e.cancel = true
                         Thread.lbl3.text = "Secondary Thread Aborted"
                         )                   
                         else
                         (
                         -- do some nonsense calculation
                         local asum = i/pi
                         local prog  = (i as float)/Thread.spnLoops.value * 100           
                         --    MainThread.ReportProgress prog asum               
                         Thread.lbl3.text = asum as string
                         Thread.pb3.value = prog
                         sleep 0.025                           
                         )   
                     )   
                    
                     Thread.lbl3.text = "Secondary Thread Complete"
                     Thread.pb3.value = 0
      )
      Fn MxsFn =
     (   
                     for i = 1 to Thread.spnLoops.value do
                     (
                     -- test for object 'Box01'
                     --    Box01'.height = i
                     --        max zoomext sel           
                        
                     -- or do some nonsense calculation
                     local asum = i*pi
                     local prog  = (i as float)/ Thread.spnLoops.value * 100
                     Thread.lbl1.text = asum as string
                     Thread.pb1.value = prog
                     sleep 0.025           
                     )   
                    
     Thread.lbl1.text = "MXS Fn Complete"
     Thread.pb1.value = 0
      )
      Fn UpdateThread sender e =
     (   
     format "FnValue -  % Percentage done - % \n" e.progresspercentage e.userstate
     )
      -- Specify the BackgroundWorker Class
          MainThread = dotnetobject "System.ComponentModel.BackGroundWorker"
         --    MainThread.WorkerReportsProgress = true
         MainThread.WorkerSupportsCancellation = true       
         dotNet.addEventHandler MainThread "DoWork" WorkThread
         --dotNet.addEventHandler MainThread "ProgressChanged" UpdateThread
        
         SecondaryThread = dotnetobject "System.ComponentModel.BackGroundWorker"
         SecondaryThread.WorkerSupportsCancellation = true
         --    SecondaryThread.WorkerReportsProgress = true
         dotNet.addEventHandler SecondaryThread  "DoWork" WorkThread2
         --dotNet.addEventHandler SecondaryThread  "ProgressChanged" UpdateThread
        
     rollout Thread "Running Multiple Threads in DotNet" width:728 height:147
     (
         GroupBox grp1 "MaxScript Function Execution" pos:[7,28] width:192 height:114
         GroupBox grp2 "DotNet BackgroundWorker Class" pos:[202,7] width:522 height:135
         progressBar pb1 "" pos:[19,88] width:168 height:16 color:(color 255 255 0)
         GroupBox grp3 "Function Value" pos:[18,44] width:171 height:39
         button btnMXstart "Start" pos:[16,110] width:173 height:23
         label lbl1 "" pos:[24,61] width:160 height:18
         progressBar pb2 "" pos:[394,33] width:168 height:25 color:(color 0 255 0)
         GroupBox grp4 "Function Value" pos:[215,22] width:171 height:39
         button btnDNstart "Start Primary" pos:[566,31] width:109 height:28
         label lbl2 "" pos:[220,37] width:161 height:18   
         progressBar pb3 "" pos:[394,70] width:168 height:24 color:(color 30 10 190)
         GroupBox grp18 "Function Value" pos:[215,62] width:170 height:39
         button btnDNboth "Run Both Threads" pos:[214,105] width:461 height:28
         label lbl3 "" pos:[220,78] width:158 height:18
         button btncancel1 "Cancel" pos:[678,31] width:42 height:28       
         button btnDN2 "Start Secondary" pos:[566,67] width:109 height:28
         button btnCancel2 "Cancel" pos:[678,66] width:42 height:28
         spinner spnLoops "Number of Loop Iterations" pos:[114,8] width:84 height:16 range:[10,10000,100] type:#integer
         button btncancelboth "Cancel" pos:[679,104] width:42 height:28
    
         on Thread open do
         (       
             try
             (
             If MainThread.IsBusy do MainThread.CancelAsync()
             )
             catch()   
         )
        
         on btnDN2 pressed do
         (
         if not SecondaryThread.IsBusy do SecondaryThread.RunWorkerAsync()
         )
        
         on btnMXstart pressed do    MXSFn()
        
         on btnDNstart pressed do
         (
             if not MainThread.IsBusy do MainThread.RunWorkerAsync()       
         )
        
         on btnDNboth pressed do
         (
             if (not MainThread.IsBusy) and (not SecondaryThread.IsBusy) do
             (
             MainThread.RunWorkerAsync()
             SecondaryThread.RunWorkerAsync()
             )
         )
        
         on btncancel1 pressed do
             If MainThread.IsBusy Then MainThread.CancelAsync()
    
         on btnDN2 pressed do
             if not SecondaryThread.IsBusy do SecondaryThread.RunWorkerAsync()
        
         on btnCancel2 pressed  do
             If SecondaryThread.IsBusy Then SecondaryThread.CancelAsync()
        
         on btncancelboth pressed  do
         (
         if MainThread.IsBusy do MainThread.CancelAsync()
         if SecondaryThread.IsBusy do SecondaryThread.CancelAsync()
         )
     )
     createdialog thread  style:#(#style_toolwindow, #style_sysmenu)


굉장히 흥미로운 스크립트...
후.....내머리속에선 언제 이런게 나올까?ㅡㅡ;;;

출처 : cgsociety.org
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/08/08 12:50 2008/08/08 12:50
http://studio2k.teamnop.com/tt/trackback/254

사용자 삽입 이미지

[Flash]



배치 익스포터 입니다.
씬의 선택오브젝트의 익스포트 또는 선택되어진 오브젝트 각각으로 익스포트 합니다.
익스포트시 피봇의 위치 (X = Center Y = Center Z = Min) 으로 위치시킨후 0,0,0 으로의 이동은 선택사항이 될수 있습니다.

또한 각각의 오브젝트를 익스포트가 아닌 Max file 로의 저장도 가능합니다.

(현제의 기능은 위와같습니다.)
추후 개별로 피봇과 위치(0,0,0)의 변경시 씬에서의 위치또한 저장할수 있게 만들려고 합니다.
임포터 또한 만들려고 하고 있습니다..

계획된 임포트의 기능
- 씬의 각 오브젝트의 위치값 (export의 기능)을 읽어 오브젝트와 위치에 맞게 구성

해야할일 XML 공부..............
아마 임포트와 익스포트시 위치저장은 제가 XML 을 어느정도 공부하고 만들지 않을까 합니다..쿠..쿨럭..



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/08/04 15:16 2008/08/04 15:16
http://studio2k.teamnop.com/tt/trackback/251
studio2k:개발자로 살아가기
개발자로 살아가기
    전체 : 523955 오늘 : 174 어제 : 130
    Name
    Message
전체 (220)
Gossip (160)
Portfolio (2)
Tip and Tech (31)
Script Download (3)
3D studio Max Scripts (20)
Photoshop scripts (3)
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
  1. 모바일스튜디오 (Mobile Studio)  2009
    소니 엑스페리아 안드로이드폰 Rachael UI 공개
  2. "Wish~!"  2008
    Unreal 3.x ED 통한 맵작업
  3. 도아의 세상사는 이야기  2008
    다기능의 가벼운 IE 기반 브라우저, TheWorld
  4. Conya In BackStreet  2005
    음악바톤이어받기ㅇ_ㅇ
  5. 젊은거장의 서재 속 이야기 - 시즌2  2005
    바보 이미 다 하고 있어요.
  1. 2010/06 (1)
  2. 2010/05 (4)
  3. 2010/01 (1)
  4. 2009/08 (3)
  5. 2009/07 (2)