pymel.core.effects.nParticle¶
- nParticle(*args, **kwargs)¶
The nParticle command creates a new nParticle object from a list of world space points. If an nParticle object is created, the command returns the names of the new particle shape and its associated particle object dependency node. If an object was queried, the results of the query are returned. Per particle attributes can be queried using the particleId or the order of the particle in the particle array. If an object was edited, nothing is returned.
Flags:
Long Name / Short Name Argument Types Properties attribute / at unicode Used in per particle attribute query and edit. Specifies the name of the attribute being queried or edited. cache / ch bool Turns caching on/off for the particle shape. conserve / c float Conservation of momentum control (between 0 and 1). Specifies the fraction of the particle shape’s existing momentum which is conserved from frame to frame. A value of 1 (the default) corresponds to true Newtonian physics, in which momentum is conserved. count / ct bool Returns the number of particles in the object. deleteCache / dc bool Deletes the particle shapes cache. This command is not undoable. dynamicAttrList / dal bool Returns a list of the dynamic attributes in the object. floatValue / fv float Used only in per particle attribute edit. Specifies that the edit is of a float attribute and must be followed by the new float value. gridSpacing / grs float Spacing between particles in the grid. inherit / i float Inherit this fraction (0-1) of emitting object’s velocity. jitterBasePoint / jbp float, float, float Base point (center point) for jitters. The command will create one swatch of jitters for each base point. It will pair up other flags with base points in the order they are given in the command line. If not enough instances of the other flags are availble, the last one on the line with be used for all other instances of -jpb. jitterRadius / jr float Max radius from the center to place the particle instances. lowerLeft / ll float, float, float Lower left point of grid. name / n unicode name of particle object numJitters / nj int Number of jitters (instances) per particle. order / order int Used in per particle attribute query and edit. Specifies the zero-based order (index) of the particle whose attribute is being queried or edited in the particle array. Querying the value of a per particle attribute requires the -attribute and -id or -order flags and their arguments to precede the -q flag. particleId / id int Used in per particle attribute query and edit. Specifies the id of the particle whose attribute is being queried or edited. Querying the value of a per particle attribute requires the -attribute and -id or -order flags and their arguments to precede the -q flag. perParticleDouble / ppd bool Returns a list of the per-particle double attributes, excluding initial-state, cache, and information-only attributes. perParticleVector / ppv bool Returns a list of the per-particle vector attributes, excluding initial-state, cache, and information-only attributes. position / p float, float, float World-space position of each particle. shapeName / sn unicode Specify the shape name used for geometry instancing. DO not confuse this with the -n flag which names the particle object. upperRight / ur float, float, float Upper right point of grid. vectorValue / vv float, float, float Used only in per particle attribute edit. Specifies that the edit is of a vector attribute and must be followed by all three float values for the vector. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.nParticle
Example:
import pymel.core as pm # Creates a particle object with four particles pm.nParticle( p=[(0, 0, 0), (3, 5, 6), (5, 6, 7), (9, 9, 9)] ) # Result: [nt.Transform(u'nParticle1'), nt.NParticle(u'nParticleShape1')] # # Returns the age of the particle with id 2 in object particle1 pm.nParticle( 'particle1', q=True, attribute='age', id=2 ) # Returns the velocity of the 3rd particle in the currently selected # particle object pm.nParticle( attribute='velocity', q=True, order=3 ) # Edits the velocity of the 7th particle in the currently selected # particle object to be 0.0, 1.0, 0.0 pm.nParticle( e=True, attribute='velocity', order=3, vectorValue=(0.0, 1.0, 0.0) ) # Edits the mass of the particle in "particle1" with id 3 to be 0.7 pm.nParticle( 'nParticle1', e=True, attribute='mass', id=3, fv=0.7 )