Introduction to Maya - Modeling Fundamentals Vol 2
This course will look in the fundamentals of modeling in Maya with an emphasis on creating good topology. It's aimed at people that have some modeling experience in Maya but are having trouble with complex objects.
# 1 20-06-2004 , 06:46 AM
Gun-Kata's Avatar
Registered User
Join Date: Jan 2004
Location: Los Angeles
Posts: 68

Position Attribute in Expression Question (from Learning Maya Dynamics 5)

float $nz = 3* noise (nurbsPlane1ParticleShape.position*.1 + time);
nurbsPlane1ParticleShape.position = nurbsPlane1ParticleShape.position0 + <<0,$nz, 0>>;


Hi, that expression is used to control the y value of each particle in a grid of particles that has been parented to a nurbs plane. The result looks kind of like cloth blowing in the wind. What I don't understand is how the part that is in red can possibly be used to assign each particle its own y coordinate. Isn't position a vector attribute? How then can it yield a scalar value for $nz? And furthermore, how is it that it yields a different y value for each particle in the field?

user added image user added image user added image user added image


Last edited by Gun-Kata; 20-06-2004 at 06:49 AM.
# 2 20-06-2004 , 01:12 PM
kbrown's Avatar
Moderator
Join Date: Sep 2002
Location: London, UK
Posts: 3,198
The answer lies in the second line. The scalar value is used in a vector <<0, $nz, 0>>. Why does it yield to a different y value? Well, because the vector is added to the initial position of a given particle.


Kari
- My Website
- My IMDB

Do a lot, Fail a lot and Learn a lot!
# 3 20-06-2004 , 06:14 PM
Gun-Kata's Avatar
Registered User
Join Date: Jan 2004
Location: Los Angeles
Posts: 68
Thanks! What I still don't understand though is how an equation that uses a vector quantity with three distinct numerical components (nurbsPlane1ParticleShape.position) can yield a single decimal numerical value (float $nz).

If, for example, nurbsPlane1ParticleShape.position is equal to <<2,3,4>> and that value is then inserted into the equation, then shouldn't the equation also yield a vector quantity?



ps. Nice Quake III model btw.

# 4 21-06-2004 , 01:57 AM
kbrown's Avatar
Moderator
Join Date: Sep 2002
Location: London, UK
Posts: 3,198
Ah... Now I see what you mean. It is because of automatic type conversion. In this case the .position vector is automatically converted to a float by calculating a magnitude (length) of it.

These two will yield to the same result:

float $nz = <<1, 2, 3>>;
float $nz = mag(<<1, 2, 3>>);


Kari
- My Website
- My IMDB

Do a lot, Fail a lot and Learn a lot!
# 5 21-06-2004 , 02:35 AM
Gun-Kata's Avatar
Registered User
Join Date: Jan 2004
Location: Los Angeles
Posts: 68

Originally posted by kbrown
Ah... Now I see what you mean. It is because of automatic type conversion. In this case the .position vector is automatically converted to a float by calculating a magnitude (length) of it.

These two will yield to the same result:

float $nz = <<1, 2, 3>>;
float $nz = mag(<<1, 2, 3>>);

Now I get it. Thanks!

# 6 21-06-2004 , 07:06 AM
Registered User
Join Date: Nov 2002
Location: Pakistan
Posts: 57
kool explaination
Kbrown...

......


Learn the Rules|Then|
Burn the Rules Book
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads