home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2002 April / GSSH42002.iso / EDITOREN / DS / gmax / gmaxinst_1-1.exe / gmaxsetup11.cab / Macro_IKSolvers.mcr < prev    next >
Text File  |  2002-02-13  |  2KB  |  83 lines

  1. -- Easy IK Assignment MacroScript File
  2. --
  3. -- Created:          April 18 2000
  4. -- Last Updated:     Nov 30 2000
  5. --
  6. -- Author :   Frank DeLise
  7. -- Version:  3ds max 4
  8. --
  9. -- IK tools
  10. -- This script increases workflow on assigning IK Solvers.
  11. --***********************************************************************************************
  12. -- MODIFY THIS AT YOUR OWN RISK
  13. -- 
  14.  
  15. -- may 22, Removed Temporary Chain Options, Frank D
  16. -- July 18, Added HI Solver 
  17.  
  18.  
  19.  
  20.  
  21. MacroScript IK_Limb
  22.  
  23.     ButtonText:"IK Limb Solver"
  24.     Category:"Inverse Kinematics" 
  25.     internalCategory:"Inverse Kinematics" 
  26.     Tooltip:"IK Limb Solver" 
  27.     Icon:#("MainToolbar",49)
  28.     SilentErrors:(Debug == undefined or Debug != True)
  29.  
  30. (
  31.     
  32.         
  33.     -- Check to see if something is selected
  34.         
  35.     on isEnabled return selection.count == 1 or 
  36.                         selection.count > 1 and
  37.                         (
  38.                             local h = selection[1].parent 
  39.                             h != undefined and h.isSelected and isGroupHead h
  40.                         )
  41.      
  42.     on execute do 
  43.     (
  44.         Global EC_OBJ, EC_TargetObj        
  45.         EC_OBJ = selection[1]
  46.         
  47.         -------------------------------------------------------------------------------------------
  48.         -- Define Filter Function for PickObject Selection
  49.         -------------------------------------------------------------------------------------------
  50.         
  51.         fn ChildFilt o = Filters.Is_Child EC_OBJ o or Filters.Is_Parent EC_OBJ o
  52.         
  53.         -------------------------------------------------------------------------------------------
  54.             
  55.         Animate off
  56.         (
  57.             EC_TargetOBJ = PickObject count:1 select:true filter:ChildFilt Message:"Pick Joint to complete IK Chain" count:#Multiple Rubberband:EC_OBJ.pos ForceListenerFocus:False
  58.             
  59.             If EC_TargetOBJ != #escape or EC_TargetOBJ != undefined then 
  60.             (
  61.                 if Filters.Is_Child EC_OBJ EC_TargetOBJ then
  62.                 (
  63.                     NIK = iksys.ikchain EC_OBJ EC_TargetOBJ "IKLimb"
  64.                 )
  65.                     Else
  66.                 (
  67.                     NIK = iksys.ikchain EC_TargetOBJ EC_OBJ  "IKLimb"
  68.                 )
  69.                         
  70.             )
  71.             
  72.             Max Motion Mode
  73.         )
  74.             
  75.     )    
  76. )
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.