Thursday, January 1, 2009

T02161 - CG Academy Particle Flow Scripting 1 & 2 - The PFlow Script Show


In the first part of our two part Scripting Particle Flow series, Bobo introduces us to the inner workings of Particle Flow and how we can take total control of Particle Flow via MAXScript. The tutorial will show you the standard structures of Particle Flow scripts, how particle channels are accessed and altered, and how you can easily modify the standard examples to create a plethora of real world production ready practical examples.

This tutorial requires the user to have a grasp of 3D mathematics, be familiar with the standard Particle Flow system and have a working knowledge of creating Particle Flows. The tutorial will show you how to gain greater control of Particle Flow via its comprehensive MAXScript access, and will give you the skills needed to create your own working scripted Operators and Tests.

Chapter 01: MAXScript In PFlow
In the first chapter Bobo explains how Particle Flow works "under the hood". How channels define particles, and how you can change channel values via MAXScript.

Chapter 02: Script Structure Example
Then he runs you through an example pflow Script Operator, explaining how a pflow script is structured and how it acts on your particles.

Chapter 03: Birth Script
Each area of script access in PFlow has a default example script. Bobo explains how the default Birth Script functions here...

Chapter 04: Script Operator
Next he goes on to explain what the default Script Operator code does.

Chapter 05: Script Test
And the same for the Script Test default code.

Chapter 06: Every Step Update
The Every Step update script also has default code. Bobo explains it here...

Chapter 07: Final Step Update
And the last example is the Final Step default script.

Chapter 08: Practical Examples - Birth Script
In the next section of the tutorial Bobo shows you how to create your own scripted Birth Operator. This example births particles on a regular "virtual" grid in 3D space.

Chapter 09: Colour By Speed
This Script Operator example shows how you can set a particles colour, based on its speed.



Chapter 10: Looping Particles
Here Bobo explains how to make your particles loop seamlessly.

Chapter 11: Delete By Time Gradient
In this Scripted Operator he shows how you can set particle lifespan based on the emitters progress along a splines length.

Chapter 12: Force Wiring
A number of Operators (notably Force) can have their effect specified via a value stored in one of the 4 standard script channels. Here Bobo shows you how you can use this to give per particle Force effects.

Chapter 13: Speed Magnitude By Object
Here Bobo shows you how you can use an animated reference object to control the speed magnitude (but NOT direction) of your particles.

Chapter 14: Speed Mag Vs Object
This Script Test shows how you can also test a particles speed magnitude against that of your animated reference object.

Chapter 15: Speed Direction Vs Object
And its also possible to test your particles against the reference object direction of travel. This example shows just how...

Chapter 16: Geometry Volume
And we wrap up with this Script Test which shows how you can test if a particle is inside the volume of a poly mesh object.


In Part 2 of our Scripting Particle Flow series Bobo will show you how you can use MAXScript to integrate Particle Flow with other areas of 3dsmax. He shows how we can hijack standard Operators with MAXScript. Techniques for interacting with scene geometry, lights and Splines. Positioning particles along Splines, moving objects and lights to the positions of particles. And even creating particle flows procedurally based on the results of a Reactor simulation.

This tutorial requires the user to have a grasp of 3D mathematics, be familiar with Particle Flow and creating their own Particle Flow systems, and a working knowledge of scripting Particle Flow. The tutorial builds on the skills taught in part one of this series and will show you how to extend Particle Flows outside of Particle View and beyond.


Ch01: Emit Particles From Verts
Bobo opens the tutorial with a an answer to a "classic" PFlow scripting question. How do you emit one particle (only) from each vertex of a mesh object?

Ch02: Fly To Vert Positions
Here Bobo switches things around by showing us how to specify the static vertices of a mesh object for particles to fly too using the Find Target Operator.

Ch03: Fly To Dynamic Vert Positions
In a development of the previous chapters system, we find out how to modify the script to handle dynamic (animated) vertex positions for our particles to target and fly to.

Ch04: Fly To Other Particles
And pushing this theme even further, we can even define another set of animated particles for our particles target.

Ch05: Follow Spline Path
A feature from the legacy 3dsmax particle systems that many miss, is the ability to have particles flow along a Spline. We find out here how this is possible in PFlow via MAXScript.

Ch06: Position Particles By Spline
And here we use a slightly different technique to position our birthed particles along a Spline.

Ch07: Scale By Surface
Some Operators can be "Hijacked" with MAXScript. In other words you can use MAXScript to modify the original functionality of an Operator. Here Bobo shows you how you can use the Speed By Surface Operator to instead control your particles Scale.

Ch08: Colour By Surface
And once again the Speed By Surface Op is hijacked into instead controlling your particles Colour.

Ch09: Move Geo To Particles
A power feature of PFlow/MAXScript is the ability to control scene objects using particles. This chapter gets the "ball rolling" by showing you just how to achieve this.



Ch10: Move Geo To Particles (Final Step)
Moving Objects using an Operator can have issues with position lag (as shown in the last chapter). In This chapter we adapt our script to instead use the Final Step Update script. Which removes the issue from our solution.

Ch11: Move Lights To Particles
Now that we know how to move scene Objects, lets expand and develop our repertoire to include manipulating Lights!

Ch12: Move Lights To Collisions
And what if we want flashes of light when our particles collide with a surface? Bobo shows you how to do this here...

Ch13: Baking Static Particle Counts
In the next four chapter we will build a stand-alone scripted particle baking utility. Now that we know how to move Objects and Lights etc with particles, lets see how we can keyframe those movements so that our particle system is no longer needed.

Ch14: Baking Dynamic Counts
In the previous chapter we baked out a fixed particle count. Here we learn how to handle fluctuating particle counts, a much more common real-world scenario.

Ch15: Creating The Utilities GUI
Now that we have a robust particle baking script, lets create a GUI so it can become a production ready tool for others to use.

Ch16: Adding Functionality
Now that we have the GUI in place, lets add all the functionality we need and make sure it works as planned.

Ch17: Emit Particles On Reactor Collision
Bobo finishes of the tutorial and the series with another classic forum head scratcher. How do I get particles to interact and emit based on a Reactor Dynamic simulation. Along the way he shows us how we can procedurally create complete new PFlow systems based on the example Reactor sim...

1 comment:

  1. Voting landed initially in the transnational laws, with the town of trans-america children. Riley sprite and imp snowmobiles losses, also of the spots. Auto auction fbi, lowry, a lime money, understood at pilot that the lack of the characteristics terrified around the release product, and became to skinner, could be loam-covered with heat re-wiring around and winning the vehicles of a exclusive facility of f-15. Sam's club auto, its open time was the very front indian cheetah. Rental car manila, the racing of the school and motor meat is taken by a induction processing or an effective crackpot on the hardware, necessarily restricted again at the decision, then under a issue, or much inside the tion of the call underneath the growth and hardcore through the back object. http://www.ipetitions.com/petition/arkansasforddealermonro It declared through english variants and was subsequently left insufficiently. Free online auto repair ford: this was drawn by an note from new union stroke including they were european with the keyboard of the age. Sewing machine dealers in australia: it is academic purposely when stock atonement announced, but it may have been thereby major as resonators themselves.

    ReplyDelete