View Full Version : Nothing rendering

02 February 2005, 12:41 AM
Hi there,

I have a basic pflow birth script that generates new particles according to a wave file, you can check out the relevant thread in my signature. It generates fine when i scrub the time slider and does fine when i render a preview animation. But when I go to do a production render of the same time frame it renders nothing....???? Anyone know why???

Sphere02's z position is controlled by an audio float.....
on ChannelsUsed pCont do


pCont.usePosition = true


on Init pCont do


global oldPos

global currPos


on Proceed pCont do


currPos = $Sphere02.pos.z

if currPos > 5 and currPos < 20 do


oldPos = currPos

if oldPos > currPos then newPos = oldPos - currPos

if currPos > oldPos then newPos = currPos - oldPos

if currPos == oldPos then newPos = currPos

if newPos > .1 then pCont.addParticle()

--print currPos


--Check to see the particles don't drop out

count = pCont.NumParticles()

for i in 1 to count do


pCont.particleIndex = i

if pCont.particlePosition.z <= -130 then pCont.deleteParticle (i)

--print pCont.particlePosition.z



on Release pCont do



02 February 2005, 12:42 AM
Also is it just something that I have to accept in MAX if particles slip through a deflector??

02 February 2005, 04:29 AM
Idea for debugging:

Add a regular Birth operator instead of the Birth Script.
Does it render?
If it does not, the problem is not in the script...
If it does, there might be something wave-controller-related...

02 February 2005, 04:34 AM
Oops, I think I have a suspicion.

As you probably know, the renderer uses a different sub-sampling (Integration) step than the viewport. The viewport is by default set to 1 frame, while the renderer samples the time line more often. This also means that the 0.1 you used as a .Z position threshold which works in the viewport might be too high for the rendering sampling where the wave controller is evaluated on sub-frames and the difference to the previous value is probably much smaller than that...

There are MAXScript methods in PFlow to ask whether the operator is in rendering or viewport mode and base your test on that fact. You could also check the integration step inside the operator and base the threshold on it...

Try setting both viewport and rendering integration steps to the same value and play with the threshold value controlling the birth to see when it works in the viewport. Then try to render and see if it shows the same...

CGTalk Moderation
02 February 2006, 05:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.