Monday, March 15, 2010

MEL: setAttr On All Translates And Rotates Using T and R

This is a really simple MEL trick, but one that's pretty rad if you didn't know about it before. It can save you time and precious lines of code.

You can set all three translates or rotates each with a single line of code.

Instead of this:

// Set Translates
setAttr myObject.translateX 10 ;
setAttr myObject.translateY 10 ;
setAttr myObject.translateZ 10 ;

// Set Rotates
setAttr myObject.rotateX 180 ;
setAttr myObject.rotateY 180 ;
setAttr myObject.rotateZ 180 ;

You can combine it all into just two lines, using .t and .r

// Set Translates
setAttr myObject.t 10 10 10 ;

// Set Rotates
setAttr myObject.r 180 180 180 ;

If you're really looking for some fun, try doing it all in one line using the .worldMatrix attribute. :)

4 comments:

  1. hi, i have a question, if i have a my object in a variable, how do i need to write the setAttr?

    I wrote by this way:

    //$c have the name of the object.

    setAttr $c.translateX 0;

    ReplyDelete
  2. setAttr ($c + ".translateX") 0 ;

    ReplyDelete
  3. dịch vụ thành lập doanh nghiệp công ty tại Hưng yên, vĩnh phúc, phú thọ, hải dương, quảng ninh, thái bình, Bắc Giang, Thái Nguyên, Nam Định, Thanh Hóa, Hà Nam, Ninh Bình, Hã Tĩnh, Nghệ An
    dịch vụ thành lập doanh nghiệp công ty tại Bình dương, biên hòa, huế, đà nẵng
    dịch vụ thành lập doanh nghiệp công ty tại Huyện Nhà bè, cần giờ, Hóc môn, củ chi, bình chánh
    dịch vụ thành lập doanh nghiệp công ty tại Huyện Hoài đức, sơn tây, thường tín, ứng hòa, phú xuyên, mỹ đức, thanh oai, đan phượng, quốc oai, phúc thọ, sóc sơn
    dịch vụ thành lập doanh nghiệp công ty tại Quận 1, 2,3,4,5,6,7,8,9,10,11,12 TPHCM
    dịch vụ thành lập doanh nghiệp công ty tại Huyện Đông anh, gia lâm, mê linh
    dịch vụ thành lập doanh nghiệp công ty tại Quận Thủ đức, bình thạnh, tân phú, Gò vấp, phú nhuận, bình tân, tân bình
    dịch vụ thành lập doanh nghiệp công ty tại Quận Đống đa, ba đình, tây hồ, Hoàng mai, thanh trì, hoàn kiếm, Hai bà trưng, từ liêm
    dịch vụ thành lập doanh nghiệp công ty tại Hải Phòng
    dịch vụ thành lập doanh nghiệp công ty tại Bắc Ninh
    dịch vụ thành lập doanh nghiệp công ty tại Quận Cầu Giấy
    dịch vụ thành lập doanh nghiệp công ty tại Quận Long Biên
    dịch vụ thành lập doanh nghiệp công ty tại Quận Hà Đông
    dịch vụ thành lập doanh nghiệp công ty tại Quận Thanh Xuân
    dịch vụ thành lập doanh nghiệp công ty trọn gói

    ReplyDelete
  4. What if I want to translate my object by a variable?

    I wrote it like this

    //$cubepx is how far I want to translate my object

    setAttr myObject.translateX $cubepx

    But it says Error: line 45: setAttr: Error reading data element number 1: 0

    ReplyDelete

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