Scripts
Script- BatchFBX
Simply import a folder full of .fbx object files to a scene with the option to give them their own file named layer and/or rename the object according to its filename.
more info HERE
Script – pFlow Control v1
Hopefully a useful script to easily manage some common Particle Flow parameters.
Script – CSV2Keys
I found this little script Bobo had written in a forum post a few years ago, did a few tweaks to it. Added an interface, a scale multiplier, and the option to set the time to match the current frame rate or a specified framerate.
What does it do? It takes a comma separated value file (.csv) and imports the data to a dummy object (a point helper in the case) and creates a keyframe at the time (close to the time anyway) and position indicated in the file.
Note: the .csv file needs to be generated in the form of – time, X, Y, Z

It is a macro so run it and go to the Customize->Customize User interface dialog, and it is under the Fume&Flow category, create a shortcut to open it.
Geek Out with your iPhone/Touch accelerometer!
Some point3 data and PFTools Box#2
I added a quick little explanation of how to get the data into Max HERE

added some iCamera shake too, not so noticeable without any reference.
Create a Target Spot from View Script
For some reason I thought I had seen something like this already, well couldn’t find anything soo… I found Neil Blevins old create camera from view script from his BlurScripts pack, changed it a bit and viola…done, simple maxscript is soo handy
Save as LightFromView.mcr and save in your local usermacros folder, create a shortcut, button, ect.
macroScript CreateLightFromView
category:"Lights and Cameras"
toolTip:"Create Target Spot from Pers. View"
ButtonText:"Light From View"
Icon:#("Lights",1)
(
focdistance = gw.GetFocalDist()
cp = mapscreentoworldray (getviewsize()/2)
ct = targetobject position:(cp.pos+(cp.dir*focdistance))
NewTargetSpotLight = targetspot pos:cp.pos target:ct
NewTargetSpotLight.target.name = NewTargetSpotLight.name + ".Target"
--viewport.setcamera NewTargetSpotLight --enable this if you want to use the camera controls to move the new light in the viewport
)
PF Spliner v3.0
I have been working on this project and I was having a hell of a time finding a way to get Particle Flow to generate splines. I just happened to stumble upon a thread over at Orbaz and this is what was there, PF Spliner v3.0, it does just what I was looking for and more. Written originally by Charley Carlat, both Jefferson Lim and James Haywood both contributed of whom added some great updates. I figured I would post it up.

Couple More Fume Tests
First one planetary impacts. This use pflow to set the fume containers at the particle impact points on the planet. Messy, messy, messy maxscript way to get it to work will have to find a better approach. EDIT: And I found one
…
This version runs the final update script and another script operator for impact timing.
Final Update script: Clone your grids with a more unique name easy trackability…
global theGrids pf_node_current = particleFlow.scriptRunner() if (pf_node_current != undefined) then ( count = pf_node_current.NumParticles() theGrids = $CL_FumeFX* as array--the name of your copied fume containers theGrids.pos = [0,0,-10000] --set the positions so they are off screen when not in use minCount = amin #(count, theGrids.count) for i in 1 to minCount do ( pf_node_current.particleID = i theGrids[i].transform = pf_node_current.particleTM ) )
Then the script operator for impact timing: this should go in the event that the collision occurs. ie the next event wired to say a collision op. or find target.
on ChannelsUsed pCont do() on Init pCont do ( global rlTime global curTime ) on Proceed pCont do ( p = pCont.particleID count = pCont.NumParticles() for i = 1 to count do ( --print p theGrids[p].playFrom = 0 rlTime = slidertime as integer curTime = rlTime/ticksperframe theGrids[p].playFrom = curTime - (curtime*2) -- Impact time start playback --print theGrids[p].playFrom ) ) on Release pCont do()
Be sure to use a cache op. set to View/Render Intgration step, this will ensure that the grid impact times are correct. I noticed if I didn’t use a cache the impact times were off, which makes sense since the playFrom time isn’t initialized correctly until playback has run through the timeline at least once.

Not sure if you can write to the Final step update script through maxscript, you can turn it on/off but that’s about it AFAIK. You can create the script op through maxscript. Another note you cannot use a scale operator in the flow this will jack the grid transforms and the grids will not render properly.

An attemtp to get fumeFX to look like white water. Waiting to see what the krakatoa renders look like

Script – Face To Elements
A quick simple script to convert the faces of a Editable Poly object to separate sub-object elements.
More info HERE

Added a couple of TP related buttons
To the Fume & Flow Floater. The layout is a little cheap, I didn’t really want to try an add another rollout right now, I may do it later, but anyways…
More info HERE

The Thinking Particles additions are:
TP – Create mode for a TP node
TP Prop – Opens the selected TP Properties View
Bind to TP – Select a TP node hit the button, a “Select By Name” dialog opens with all scene spacewarps, select all of the spacewarps you want to bind, and click bind.
TP Help Reference - (assuming it is in your local settings – all users folder) You can change the location by changing line 493 in the file “FumeFlowFloater_MiniTP_17.ms” to the location of your help file.
Script – FumeFX Sim and Render
Well i forgot to write a post for this. So here it is.
Starts your FumeFX simulation and renders upon completion of the sim.
More info HERE

Search
Artists
Developers
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.


