Showing posts with label 3ds Max. Show all posts
Showing posts with label 3ds Max. Show all posts

Wednesday, July 21, 2010

Maxscript: Check If Auto Key Is Turned On

Need to query if auto key is turned on or off using maxscript? Use the animButtonState command. It returns true or false, so using this info you can check it's current state and then setup a toggle for it, or use it make sure Max is in the correct mode before running a script.

Simple, yet extremely useful!

Saturday, October 17, 2009

Blur Gives Us Python And PyQT In 3DSMax

http://forums.cgsociety.org/showthread.php?f=98&t=816475

Developed by Blur, these plugins have the potential to replace Maxscript and finally let us use Python properly in 3DS Max.

I'm just starting to dig into it, fingers crossed...

Saturday, May 9, 2009

MAXScript: Removing Spaces From Names

Here is a quick snippet of code that will remove all the spaces in your object names and replace them with underscores. Simple yet elegant.


for s in selection do
(
oldname = filterString s.name " "
temp = oldname[1]
for i = 2 to oldname.count do
(
temp = temp + "_" + oldname[i]
)

s.name = temp
)


Select all the objects first, and run this script.

Thursday, March 26, 2009

MAXScript: Floating Slider Time


This is something we whipped up at work a few months ago for using in Max. I've never been a fan of the default Max time configuration setup so we made this one. It lets you set the current frame, and move the start and end frames with the spinners or by typing them in.


fn floatingTime =
(

if (theTimeRollout != undefined)
then (destroydialog theTimeRollout)

rollout theTimeRollout "Floating Slider Time" width:258 height:25
(
spinner theStartFrame "Start: " pos:[22,4] width:60 range:[-100,50000,1] type:#integer
edittext theTimeInput "Go To:" pos:[89,4] width:80
spinner theEndFrame "End: " pos:[193,4] width:60 range:[-100,50000,1] type:#integer



on theTimeRollout open do
(
theTimeInput.text = ((sliderTime as integer) / ticksperframe) as string
theStartFrame.value = (animationRange.start as integer / ticksperframe)
theEndFrame.value = (animationRange.end as integer / ticksperframe)
)
on theTimeInput entered x do
(
slidertime = x as integer
)
on theStartFrame changed x do
(
if (x < animationrange =" interval" value =" (animationRange.end" animationrange =" interval"> animationrange.start)
then
(
animationRange = interval animationrange.start x
)
else
(
theEndFrame.value = (animationRange.start as integer / ticksperframe) + 1
animationRange = interval animationrange.start theEndFrame.value
)
)

)createDialog theTimeRollout style:#(#style_toolwindow, #style_sysmenu)

)
This will create your function, then you can call it either with a button, or by typing "floatingTime()"

Scripting Topics

MEL (41) Maya (39) Scripting (32) Scripts (21) programming (14) Free Mel Scripts (8) MaxScript (7) Coding (6) Rigging (5) tutorial (5) 3ds Max (4) Python (4) Tricks (4) faceware (4) image metrics (4) Learn (3) Namespace (3) Namespacing (3) animation (3) facial (3) webinar (3) Code (2) GDC (2) Game Developers Conference (2) Multiple Namespaces (2) Print Selected Objects (2) Recursive (2) Removing Namespace (2) Return (2) Set Driven Keys (2) TOkenize (2) Tips (2) Toggle Background Color with MEL (2) animation tools (2) animators resource (2) deformers (2) learning (2) maya tools (2) mesh (2) modeling (2) nodes (2) procedure (2) script swell (2) transforms (2) Animschool (1) Attribute (1) Background Color (1) Beer (1) Blur (1) Character Setup (1) Check if an object exists (1) Class (1) Command Line (1) Constraints (1) Create SDK (1) Create a directory with mel (1) Data (1) Export (1) FilterString (1) Fix (1) Floating Slider Time (1) Functions (1) Get Maya Version MEL (1) Get Parent (1) Google (1) Holiday (1) How To Write To A Text File (1) Import (1) Incremental Save (1) Index (1) Joint Chain (1) Make Set Driven Keys (1) Maya Version (1) Modules (1) Objects (1) Orient Constraint (1) PYMEL (1) Parent (1) Parent Constraint (1) Point Constraint (1) Position (1) Print (1) Print Current Selection (1) Print Random Quotes (1) Print Selection (1) Print Vertices (1) Progress Bar (1) Progress Window (1) PyQT (1) Removing Spaces From Names (1) Scene File Name (1) Select Connections (1) Select Outgoing Nodes (1) Split Bones (1) Split Joints (1) St. Patrick's Day (1) String Array (1) System (1) Transfer UVs (1) Viewport (1) White Space (1) Windows Username (1) Zero Out Attributes (1) animButtonState (1) arrays (1) articles (1) auto key (1) better (1) blendshapes (1) break (1) confirm dialog (1) continue (1) convention (1) e3 (1) efficiency (1) error (1) eval (1) executable (1) fclose (1) fopen (1) fprint (1) games (1) improving (1) infinite loop (1) joints (1) listHistory (1) listRelatives (1) logic (1) loops (1) milestone (1) nodeType (1) objExists (1) recursion (1) rotates (1) rotations (1) schools (1) sculpting (1) setAttr (1) shout outs (1) source (1) source a script with a variable (1) speed (1) tech-artists.org (1) translates (1) video (1) warning (1) world matrix (1) worldMatrix (1)
 
Script Swell - Blogged