Introduced
1.0
Description
Creates a new ParticleType.
Note: This command uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you need to use the best workaround for your situation:
For scripting languages this command returns an ISIVTCollection which you can use to get the output arguments.
For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand packs the output arguments into a C# System.Object containing an Array of the output arguments (see Calling Commands from C#).
Scripting Syntax
CreateParticleType( RenderType, [Output] )
Parameters
|
Parameter |
Type |
Description |
|
RenderType |
Type of particle type shader to apply by default. Default Value: siBillboardType |
|
|
Output [out] |
New Particle Type object |
Examples
Python Example
# # This example demonstrates how to use the CreateParticleType command and how # to work with multiple particle types for a single simulation # from win32com.client import constants as c Application.NewScene( "", 0 ) # Set up a disc emitting particles pcloud = Application.CreateParticleCloud( "", "Disc" )(0) # Set up goals for both PTypes goal4OrigPType = Application.CreatePrim( "Grid", "MeshSurface", "thing1" ) Application.Translate( goal4OrigPType, 30, 30, 5 ) Application.Rotate( goal4OrigPType, 0, 0, -90 ) goal4PEmitter = Application.CreatePrim( "Grid", "MeshSurface", "thing2" ) Application.Translate( goal4PEmitter, -30, 30, -5 ) Application.Rotate( goal4PEmitter, 0, 0, 90 ) # Set up a goal for the original PType (and color the particles # fuscia for this particle type so it's obvious which type is which) myPType = pcloud.ActivePrimitive.ParticleTypes(0) myPType.Parameters( "Green" ).Value = 0.072 Application.AddParticleGoal( myPType, goal4OrigPType ) # Set up the event on the original particle type myPEvent = Application.AddParticleEvent( myPType )(0)(0) myPEvent.Name = "PEvent_Demo" myPEvent.Parameters( "EventTrigger" ).Value = 5 myPEvent.Parameters( "TriggerValue" ).Value = 7 myPEvent.Parameters( "EventAction" ).Value = 0 # Set up the emitter for the event myPEmission = Application.CreateEventSource( myPEvent )(0) myPEmission.Parameters( "Rate" ).Value = 5 myPEmission.Parameters( "Spread" ).Value = 25 myPEmission.Parameters( "Roll" ).Value = 12 myPEmission.Parameters( "Yaw" ).Value = 7 # Set up a new blob particle type that will be emitted and set # the new particles to flee from the goal for connectPType2Emitter in myPEmission.NestedObjects : if connectPType2Emitter.Name == "PType" : break myNewPType = Application.CreateParticleType( c.siBlobType )(0) myNewPType.Name = "PType4Emitter" Application.SetParticleType( connectPType2Emitter, myNewPType ) Application.AddParticleGoal( myNewPType, goal4PEmitter ) # Now take a look at the simulation myViewPort = Application.Desktop.ActiveLayout.Views( "vm" ) myViewPort.SetAttributeValue( "layout", "maximize:b" ) Application.FrameAll() Application.PlayForwardsFromStart()
See Also
|
|
|
|
Autodesk Softimage v7.5