SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Maya Dynamics Basics
Lab 5: MEL and Expression
Author: Khieu Van Bang
Email: tribang.nd@gmail.com
CONTENTS
 Basics:
Why using MEL & expressions?
Differences between MEL and expression.
What you can do by using MEL and Expression ?
 MEL Basics:
 How Maya Uses MEL.
 Script Editor.
 MEL Commands .
 Variables .
 Return Values.
 Expression:
 Create expression.
 Helpful Resources.
1) BASICS
1.1) What is MEL and Expressions?
1.2) Differences between MEL and Expression.
1.3) What you can do by using MEL and Expression ?
MEL and Expression
1.1) What is MEL and Expressions?
1) MEL and Expression
 MEL stands for Maya Embedded Language. MEL is a scripting language which can
embody "open architecture" of maya. By using MEL, user can control maya functions
directly/indirectly. Even maya's GUI (graphic user interface) can be controlled by MEL.
Therefore user can add new functions that maya doesn't have OR customize GUI as
their needs.
 Expression controls attribute of object. User can control an animation which cannot
be key framed (e,g. particle). Using expression is similar to script MEL.
We will mainly learn how to work with Expression.
1.2) Differences between MEL and Expression.
1) MEL and Expression
MEL Expression
MEL is more likely completely independent
programme.
Expression is a correlation with objects.
MEL needs complete structure of grammar. Expression needs only the least rules.
MEL is executed no matter animation is played
or not.
Expression is executed only while animation
playing.
MEL is saved separately with the scene. Expression is saved as a part of the scene.
MEL access to the attribute indirectly. Expression access to the attribute directly.
1.3) What we can do by using MEL and Expression.
1) MEL and Expression
 MEL : control an attribute of object accurately, create new macro, create new user
interface, customize maya GUI.
 Expression : control attributes of object apart from key framing by numerical
expression, control attributes by conditions, It can use MEL command in expression.
However, it can't control the attribute that controlled by existing key, set driven key,
constraint, motion path or other expression. It can occur an error if you run MEL
commands such as connection/disconnection of attribute or creation/deletion of
object within the expression.
 Grammar of MEL is very similar to other programming languages like C, C++. Not
only the MEL, most script based languages are descended from C. It is not essential
to learn programming language for MEL. Although if you have experience with
scripting language, it will be easier to understand the structure.
 Do not worry !
1) MEL and Expression
o I know you are designers.
 Expression is very easy to use.
2) MEL BASICS
2.1) How Maya Uses MEL.
2.2) Script Editor.
2.3) MEL Commands .
2.4) Variables .
2.5) Return Values.
MEL and Expression
2.1) How Maya Uses MEL
2) MEL Basics
 Menus.
 Shelf Buttons.
 Hotkeys.
 Expressions.
 GUI.
2.2) Script Editor
 Top area displays the MEL that Maya just did.
 Bottom area is a work area where you type code interactively.
 Selecting text and hitting „ctrl + Enter‟ executes code.
 Make a shelf button by selecting text and middle mouse dragging to the shelf.
2) MEL Basics
 You get to it by hitting.
 Structure:
<command name> -flags values;
Example 1:
sphere -radius 3;
Example 2:
polySphere -radius 2.5 -subdivisionsX 10
-subdivisionsY 30 -name "Rambo";
These flags are like the option box settings.
2) MEL Basics
2.3) MEL Commands
Variable type Default value
int 0
float 0.0
string ""
 Modes :
Creation
-By default.
Edit
-Used to change values of an existing object.
Query
-Used to get a value from an existing object.
2) MEL Basics
2.3) MEL Commands
2.3) MEL Commands
2) MEL Basics
Examples of Modes:
- Creation
polySphere;
- Edit
polySphere -edit -radius 4 “Rambo”;
- Query
polySphere -query -radius “Rambo”;
2.4) Variables
- Are for storing data.
- Always start with a „$‟
- Data Types.
- Int (Stands for Integer)
4
- Float
7.259
- String
“Frito Chili Pie”
- Declaring a variable.
- int $theNumberAwesome = 42;
- Equals sign assigns a value to a variable.
2) MEL Basics
2.5) Return Values
 Are the result of running a command:
returnValue <command name> -flags values;
 Use backquotes to store the return value/result of a
command in a variable:
int $variable = <command name> -flags values;
2) MEL Basics
Example 1
2) MEL Basics
 MEL commands
polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -tx 1 -ch 1;
 Command options
move -r -os -wd 0 0 5.109298 ;
move -r 0 0 5 pCube2;
Example 2
2) MEL Basics
 Variable declarations
int $height = 2;
polyCube -w 1 -h $height -d 1;
 Variable assignments
int $width;
$width = 2;
polyCube -w $width -h $height -d 1;
$width = $width + 1;
polyCube -w $width -h $height -d 1;
Example 3
2) MEL Basics
 Selective structure
int $height = 2;
int $depth;
if ($height>2)
{
$depth = $height;
polyCube -w 1 -h $height -d $depth;
}
if($depth < 1) { polySphere -r 1;
}
Example 4
2) MEL Basics
 The for-construct
int $i;
for ($i = 0; $i < 20; $i++) {
sphere -pivot 0 $i 0;
}
 A spiral surface
select -all;
delete;
circle -center 4 0 0;
int $i;
for($i = 0; $i < 60; $i++)
{ duplicate;
rotate -r 0 3 0;
move -r 0 .3 0;
}
select -all;
loft;
3) EXPRESSION
MEL and Expression
What is Particle expression ?
3) Expression
 Are more complex than other types of expressions. For example, we can write an
expression to control all particles in an object the same way, or you can control each
particle differently.
3.1) Attributes Notes
3) Expression
1
2
 Add dynamic attributes(Modify > Add Attribute)
o Control dynamic and custom attributes you add to a particle shape node.
o When we add a dynamic attribute to an object, the attribute names appear in the
Expression Editor’s Attributes list.
 Per Particle (Array) Attributes
o Are created with Radius, Mass, Opacity,
Color, and Incandescence per-particle
ramps already added to the nParticleShape
node.
 Step 1: Create a object.
o Example: Type "sphere" in command line and press enter. It will create a
new nurbs sphere.
 Step 2: Change object attributes.
o Example: Change the name of the sphere in channel box as "Ball".
 Step 3: Create expression.
o Select the ball. Go to Window > Animation Editor > Expression Editor,
run Expression Editor.
o Type in "ScaleBallWidth" in the box of Expression Name.
o Type "Ball.scaleX = Ball.scaleZ = time +1;" in the expression box.
3.1) Create expression
3) Expression
 Step 4: Click "Create" and playback the animation.
3.1) Create expression
3) Expression
3.1) Create expression
3) Expression
3) Expression
Example 1 : Random Colored Particle.
Random colored fireworks shot up into the sky every time
3) Expression
How to create it ?
Example 2: Control the moon orbiting the earth
3) Expression
3) Expression
How to create it ?
 Books
 Complete Maya Programming by
David A. D. Gould.
 Websites
 area.autodesk.com
 fundza.com
 ewertb.soundlinker.com
Helpful Resources.
MEL and Expression
Helpful Resources.
MEL and Expression
Helpful Resources.
MEL and Expression
Thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

Power of call symput data
Power of call symput dataPower of call symput data
Power of call symput data
Yash Sharma
 
Chapter 13.1.6
Chapter 13.1.6Chapter 13.1.6
Chapter 13.1.6
patcha535
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
PRN USM
 

Was ist angesagt? (17)

Android interface elements and controls-chapter8
Android interface elements and controls-chapter8Android interface elements and controls-chapter8
Android interface elements and controls-chapter8
 
Jide grids developer_guide
Jide grids developer_guideJide grids developer_guide
Jide grids developer_guide
 
Advance Excel tips
Advance Excel tips Advance Excel tips
Advance Excel tips
 
Csharp
CsharpCsharp
Csharp
 
Gui programming a review - mixed content
Gui programming   a review - mixed contentGui programming   a review - mixed content
Gui programming a review - mixed content
 
Graphical User Interface in JAVA
Graphical User Interface in JAVAGraphical User Interface in JAVA
Graphical User Interface in JAVA
 
GUI Programming In Java
GUI Programming In JavaGUI Programming In Java
GUI Programming In Java
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)
 
Unit 6 Java
Unit 6 JavaUnit 6 Java
Unit 6 Java
 
Power of call symput data
Power of call symput dataPower of call symput data
Power of call symput data
 
Procedures functions structures in VB.Net
Procedures  functions  structures in VB.NetProcedures  functions  structures in VB.Net
Procedures functions structures in VB.Net
 
Chain of Responsibility Pattern
Chain of Responsibility PatternChain of Responsibility Pattern
Chain of Responsibility Pattern
 
System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro calls
 
WPF Controls
WPF ControlsWPF Controls
WPF Controls
 
Part 12 built in function vb.net
Part 12 built in function vb.netPart 12 built in function vb.net
Part 12 built in function vb.net
 
Chapter 13.1.6
Chapter 13.1.6Chapter 13.1.6
Chapter 13.1.6
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
 

Andere mochten auch

Progression from prelim to final thriller film
Progression from prelim to final thriller filmProgression from prelim to final thriller film
Progression from prelim to final thriller film
tubze_t
 
Properties of matter
Properties of matterProperties of matter
Properties of matter
latasant123
 
RELIEVES / ESCULTURAS
RELIEVES / ESCULTURASRELIEVES / ESCULTURAS
RELIEVES / ESCULTURAS
William Pico
 

Andere mochten auch (17)

Progression from prelim to final thriller film
Progression from prelim to final thriller filmProgression from prelim to final thriller film
Progression from prelim to final thriller film
 
Maya Python (PyMel)
Maya Python (PyMel)Maya Python (PyMel)
Maya Python (PyMel)
 
Seni kriya clay lempung dari tepung l
Seni kriya clay lempung dari tepung lSeni kriya clay lempung dari tepung l
Seni kriya clay lempung dari tepung l
 
viaMAXI
viaMAXIviaMAXI
viaMAXI
 
Kmew presentation
Kmew presentationKmew presentation
Kmew presentation
 
Magazine Genre Research
Magazine Genre ResearchMagazine Genre Research
Magazine Genre Research
 
Nikravesh big datafeb2013bt
Nikravesh big datafeb2013btNikravesh big datafeb2013bt
Nikravesh big datafeb2013bt
 
Mathematica. 3[1]
Mathematica. 3[1]Mathematica. 3[1]
Mathematica. 3[1]
 
Happy birthday quote pictures
Happy birthday quote picturesHappy birthday quote pictures
Happy birthday quote pictures
 
CoinTelegraph franchise program
CoinTelegraph franchise programCoinTelegraph franchise program
CoinTelegraph franchise program
 
Javed sayyed resume
Javed sayyed resumeJaved sayyed resume
Javed sayyed resume
 
Cruise in andaman
Cruise in andamanCruise in andaman
Cruise in andaman
 
Properties of matter
Properties of matterProperties of matter
Properties of matter
 
加鑫(蔣堂)產品目錄 2015
加鑫(蔣堂)產品目錄 2015加鑫(蔣堂)產品目錄 2015
加鑫(蔣堂)產品目錄 2015
 
Influence of micropolar lubricant on bearings performance a review(2)
Influence of micropolar lubricant on bearings performance a review(2)Influence of micropolar lubricant on bearings performance a review(2)
Influence of micropolar lubricant on bearings performance a review(2)
 
Vipra today july 2016
Vipra today july 2016Vipra today july 2016
Vipra today july 2016
 
RELIEVES / ESCULTURAS
RELIEVES / ESCULTURASRELIEVES / ESCULTURAS
RELIEVES / ESCULTURAS
 

Ähnlich wie Session 05 – mel and expression

SMARCOS CNR Paper Supporting Transformations across user interface
SMARCOS CNR Paper Supporting Transformations across user interfaceSMARCOS CNR Paper Supporting Transformations across user interface
SMARCOS CNR Paper Supporting Transformations across user interface
Smarcos Eu
 

Ähnlich wie Session 05 – mel and expression (20)

Mel for beginners
Mel for beginnersMel for beginners
Mel for beginners
 
VBA
VBAVBA
VBA
 
Visual Basic Review - ICA
Visual Basic Review - ICAVisual Basic Review - ICA
Visual Basic Review - ICA
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
The Ring programming language version 1.5.1 book - Part 174 of 180
The Ring programming language version 1.5.1 book - Part 174 of 180 The Ring programming language version 1.5.1 book - Part 174 of 180
The Ring programming language version 1.5.1 book - Part 174 of 180
 
Mastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_argumentsMastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_arguments
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
SMARCOS CNR Paper Supporting Transformations across user interface
SMARCOS CNR Paper Supporting Transformations across user interfaceSMARCOS CNR Paper Supporting Transformations across user interface
SMARCOS CNR Paper Supporting Transformations across user interface
 
The future of DSLs - functions and formal methods
The future of DSLs - functions and formal methodsThe future of DSLs - functions and formal methods
The future of DSLs - functions and formal methods
 
Vb6.0 intro
Vb6.0 introVb6.0 intro
Vb6.0 intro
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
The Ring programming language version 1.9 book - Part 98 of 210
The Ring programming language version 1.9 book - Part 98 of 210The Ring programming language version 1.9 book - Part 98 of 210
The Ring programming language version 1.9 book - Part 98 of 210
 
EGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenEGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL Open
 
Dynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to ScriptingDynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to Scripting
 
Mule expression language
Mule expression languageMule expression language
Mule expression language
 
Mule Expression language
Mule Expression languageMule Expression language
Mule Expression language
 
E learning excel vba programming lesson 3
E learning excel vba programming  lesson 3E learning excel vba programming  lesson 3
E learning excel vba programming lesson 3
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
 
Functions in Python Syntax and working .
Functions in Python Syntax and working .Functions in Python Syntax and working .
Functions in Python Syntax and working .
 
Expression language in mule
Expression language in muleExpression language in mule
Expression language in mule
 

Mehr von Trí Bằng

Mehr von Trí Bằng (20)

Session 11 – fluid effects
Session 11 – fluid effectsSession 11 – fluid effects
Session 11 – fluid effects
 
Session 10 – advanced goal &amp; instanter
Session 10 – advanced goal &amp; instanterSession 10 – advanced goal &amp; instanter
Session 10 – advanced goal &amp; instanter
 
Session 09 – particle goal
Session 09 – particle goalSession 09 – particle goal
Session 09 – particle goal
 
Session 08 – particle instancer
Session 08 – particle instancerSession 08 – particle instancer
Session 08 – particle instancer
 
Session 07 – object desintegration
Session 07 – object desintegrationSession 07 – object desintegration
Session 07 – object desintegration
 
Session 06 – particle materials
Session 06 – particle materialsSession 06 – particle materials
Session 06 – particle materials
 
Session 04 – field &amp; collision effect
Session 04 – field &amp; collision effectSession 04 – field &amp; collision effect
Session 04 – field &amp; collision effect
 
Session 03 – emitters
Session 03 – emittersSession 03 – emitters
Session 03 – emitters
 
Session 02 – animation particle basics
Session 02 – animation particle basicsSession 02 – animation particle basics
Session 02 – animation particle basics
 
Session 01 – introduces maya dynamics
Session 01 – introduces maya dynamicsSession 01 – introduces maya dynamics
Session 01 – introduces maya dynamics
 
Session 00 – Course overview Maya Dynamics
Session 00 – Course overview Maya DynamicsSession 00 – Course overview Maya Dynamics
Session 00 – Course overview Maya Dynamics
 
Thiết kế 3D_cơ_bản với Maya_Bài_16._DỰNG_CẢNH_VÀ_PHỐI_CẢNH
Thiết kế 3D_cơ_bản với Maya_Bài_16._DỰNG_CẢNH_VÀ_PHỐI_CẢNHThiết kế 3D_cơ_bản với Maya_Bài_16._DỰNG_CẢNH_VÀ_PHỐI_CẢNH
Thiết kế 3D_cơ_bản với Maya_Bài_16._DỰNG_CẢNH_VÀ_PHỐI_CẢNH
 
Thiết kế 3D_cơ_bản với Maya_Bài_14._MENTALRAY
Thiết kế 3D_cơ_bản với Maya_Bài_14._MENTALRAYThiết kế 3D_cơ_bản với Maya_Bài_14._MENTALRAY
Thiết kế 3D_cơ_bản với Maya_Bài_14._MENTALRAY
 
Thiết kế 3D_cơ_bản với Maya_Bài_12._HOẠT CẢNH (ANIMATION)
Thiết kế 3D_cơ_bản với Maya_Bài_12._HOẠT CẢNH (ANIMATION)Thiết kế 3D_cơ_bản với Maya_Bài_12._HOẠT CẢNH (ANIMATION)
Thiết kế 3D_cơ_bản với Maya_Bài_12._HOẠT CẢNH (ANIMATION)
 
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 2
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 2Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 2
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 2
 
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 1
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 1Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 1
Thiết kế 3D_cơ_bản với Maya_Bài_11._VẬT LIỆU NANG CAO TRONG MAYA PHẦN 1
 
Thiết kế 3D_cơ_bản với Maya_Bài_10._VẬT LIỆU CƠ BẢN TRONG MAYA
Thiết kế 3D_cơ_bản với Maya_Bài_10._VẬT LIỆU CƠ BẢN TRONG MAYAThiết kế 3D_cơ_bản với Maya_Bài_10._VẬT LIỆU CƠ BẢN TRONG MAYA
Thiết kế 3D_cơ_bản với Maya_Bài_10._VẬT LIỆU CƠ BẢN TRONG MAYA
 
Thiết kế 3D_cơ_bản với Maya_Bài_8._DỰNG HINH THỰC VẬT
Thiết kế 3D_cơ_bản với Maya_Bài_8._DỰNG HINH THỰC VẬTThiết kế 3D_cơ_bản với Maya_Bài_8._DỰNG HINH THỰC VẬT
Thiết kế 3D_cơ_bản với Maya_Bài_8._DỰNG HINH THỰC VẬT
 
Thiết kế 3D_cơ_bản với Maya_Bài_6.__DỰNG HÌNH ĐỒ VẬT
Thiết kế 3D_cơ_bản với Maya_Bài_6.__DỰNG HÌNH ĐỒ VẬTThiết kế 3D_cơ_bản với Maya_Bài_6.__DỰNG HÌNH ĐỒ VẬT
Thiết kế 3D_cơ_bản với Maya_Bài_6.__DỰNG HÌNH ĐỒ VẬT
 
Thiết kế 3D_cơ_bản với Maya_Bài_5._PHƯƠNG PHÁP MODELING - DỰNG HÌNH
Thiết kế 3D_cơ_bản với Maya_Bài_5._PHƯƠNG PHÁP MODELING - DỰNG HÌNHThiết kế 3D_cơ_bản với Maya_Bài_5._PHƯƠNG PHÁP MODELING - DỰNG HÌNH
Thiết kế 3D_cơ_bản với Maya_Bài_5._PHƯƠNG PHÁP MODELING - DỰNG HÌNH
 

Kürzlich hochgeladen

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Kürzlich hochgeladen (20)

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 

Session 05 – mel and expression

  • 1. Maya Dynamics Basics Lab 5: MEL and Expression Author: Khieu Van Bang Email: tribang.nd@gmail.com
  • 2. CONTENTS  Basics: Why using MEL & expressions? Differences between MEL and expression. What you can do by using MEL and Expression ?  MEL Basics:  How Maya Uses MEL.  Script Editor.  MEL Commands .  Variables .  Return Values.  Expression:  Create expression.  Helpful Resources.
  • 3. 1) BASICS 1.1) What is MEL and Expressions? 1.2) Differences between MEL and Expression. 1.3) What you can do by using MEL and Expression ? MEL and Expression
  • 4. 1.1) What is MEL and Expressions? 1) MEL and Expression  MEL stands for Maya Embedded Language. MEL is a scripting language which can embody "open architecture" of maya. By using MEL, user can control maya functions directly/indirectly. Even maya's GUI (graphic user interface) can be controlled by MEL. Therefore user can add new functions that maya doesn't have OR customize GUI as their needs.  Expression controls attribute of object. User can control an animation which cannot be key framed (e,g. particle). Using expression is similar to script MEL. We will mainly learn how to work with Expression.
  • 5. 1.2) Differences between MEL and Expression. 1) MEL and Expression MEL Expression MEL is more likely completely independent programme. Expression is a correlation with objects. MEL needs complete structure of grammar. Expression needs only the least rules. MEL is executed no matter animation is played or not. Expression is executed only while animation playing. MEL is saved separately with the scene. Expression is saved as a part of the scene. MEL access to the attribute indirectly. Expression access to the attribute directly.
  • 6. 1.3) What we can do by using MEL and Expression. 1) MEL and Expression  MEL : control an attribute of object accurately, create new macro, create new user interface, customize maya GUI.  Expression : control attributes of object apart from key framing by numerical expression, control attributes by conditions, It can use MEL command in expression. However, it can't control the attribute that controlled by existing key, set driven key, constraint, motion path or other expression. It can occur an error if you run MEL commands such as connection/disconnection of attribute or creation/deletion of object within the expression.  Grammar of MEL is very similar to other programming languages like C, C++. Not only the MEL, most script based languages are descended from C. It is not essential to learn programming language for MEL. Although if you have experience with scripting language, it will be easier to understand the structure.
  • 7.  Do not worry ! 1) MEL and Expression o I know you are designers.  Expression is very easy to use.
  • 8. 2) MEL BASICS 2.1) How Maya Uses MEL. 2.2) Script Editor. 2.3) MEL Commands . 2.4) Variables . 2.5) Return Values. MEL and Expression
  • 9. 2.1) How Maya Uses MEL 2) MEL Basics  Menus.  Shelf Buttons.  Hotkeys.  Expressions.  GUI.
  • 10. 2.2) Script Editor  Top area displays the MEL that Maya just did.  Bottom area is a work area where you type code interactively.  Selecting text and hitting „ctrl + Enter‟ executes code.  Make a shelf button by selecting text and middle mouse dragging to the shelf. 2) MEL Basics  You get to it by hitting.
  • 11.  Structure: <command name> -flags values; Example 1: sphere -radius 3; Example 2: polySphere -radius 2.5 -subdivisionsX 10 -subdivisionsY 30 -name "Rambo"; These flags are like the option box settings. 2) MEL Basics 2.3) MEL Commands Variable type Default value int 0 float 0.0 string ""
  • 12.  Modes : Creation -By default. Edit -Used to change values of an existing object. Query -Used to get a value from an existing object. 2) MEL Basics 2.3) MEL Commands
  • 13. 2.3) MEL Commands 2) MEL Basics Examples of Modes: - Creation polySphere; - Edit polySphere -edit -radius 4 “Rambo”; - Query polySphere -query -radius “Rambo”;
  • 14. 2.4) Variables - Are for storing data. - Always start with a „$‟ - Data Types. - Int (Stands for Integer) 4 - Float 7.259 - String “Frito Chili Pie” - Declaring a variable. - int $theNumberAwesome = 42; - Equals sign assigns a value to a variable. 2) MEL Basics
  • 15. 2.5) Return Values  Are the result of running a command: returnValue <command name> -flags values;  Use backquotes to store the return value/result of a command in a variable: int $variable = <command name> -flags values; 2) MEL Basics
  • 16. Example 1 2) MEL Basics  MEL commands polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -tx 1 -ch 1;  Command options move -r -os -wd 0 0 5.109298 ; move -r 0 0 5 pCube2;
  • 17. Example 2 2) MEL Basics  Variable declarations int $height = 2; polyCube -w 1 -h $height -d 1;  Variable assignments int $width; $width = 2; polyCube -w $width -h $height -d 1; $width = $width + 1; polyCube -w $width -h $height -d 1;
  • 18. Example 3 2) MEL Basics  Selective structure int $height = 2; int $depth; if ($height>2) { $depth = $height; polyCube -w 1 -h $height -d $depth; } if($depth < 1) { polySphere -r 1; }
  • 19. Example 4 2) MEL Basics  The for-construct int $i; for ($i = 0; $i < 20; $i++) { sphere -pivot 0 $i 0; }  A spiral surface select -all; delete; circle -center 4 0 0; int $i; for($i = 0; $i < 60; $i++) { duplicate; rotate -r 0 3 0; move -r 0 .3 0; } select -all; loft;
  • 20. 3) EXPRESSION MEL and Expression
  • 21. What is Particle expression ? 3) Expression  Are more complex than other types of expressions. For example, we can write an expression to control all particles in an object the same way, or you can control each particle differently.
  • 22. 3.1) Attributes Notes 3) Expression 1 2  Add dynamic attributes(Modify > Add Attribute) o Control dynamic and custom attributes you add to a particle shape node. o When we add a dynamic attribute to an object, the attribute names appear in the Expression Editor’s Attributes list.  Per Particle (Array) Attributes o Are created with Radius, Mass, Opacity, Color, and Incandescence per-particle ramps already added to the nParticleShape node.
  • 23.  Step 1: Create a object. o Example: Type "sphere" in command line and press enter. It will create a new nurbs sphere.  Step 2: Change object attributes. o Example: Change the name of the sphere in channel box as "Ball".  Step 3: Create expression. o Select the ball. Go to Window > Animation Editor > Expression Editor, run Expression Editor. o Type in "ScaleBallWidth" in the box of Expression Name. o Type "Ball.scaleX = Ball.scaleZ = time +1;" in the expression box. 3.1) Create expression 3) Expression
  • 24.  Step 4: Click "Create" and playback the animation. 3.1) Create expression 3) Expression
  • 26. 3) Expression Example 1 : Random Colored Particle.
  • 27. Random colored fireworks shot up into the sky every time 3) Expression How to create it ?
  • 28. Example 2: Control the moon orbiting the earth 3) Expression
  • 29. 3) Expression How to create it ?
  • 30.  Books  Complete Maya Programming by David A. D. Gould.  Websites  area.autodesk.com  fundza.com  ewertb.soundlinker.com Helpful Resources. MEL and Expression