PRT Loader Float -> Box3 Float Problem

I’m having trouble piping the PRT Loader mxfloat value to a box3 data operator float subop. I understand the workflow, and the PDViewer shows the float data is there and I added the PRT update operator to the pflow and checked, but the data doesnt show up in the Data operator. Am I overlooking something?

I cannot reproduce the problem.
*I loaded the old tutorial teapot sequence in a PRT Loader.
*Added a KCM to the stack and put the Magnitude of the Position channel into the MXSFloat.
*Created a PFlow with Krakatoa PRT Birth and Update and checked the MXSFloat channel for loading.
*In a DataOperator, added an MXSFloat Standard Input and wired to the Scale>Average output.
*Checking the data in the DataOperator and the PDV showed the same values for the MXSFloat channel.

That being said, the viewport display percentage had some impact on the data.
If I would set the Viewport % in PFlow to, say, 10%, only the first 10% of the particles loaded for rendering by the PRT Loader would have valid values, the rest would be 0.
But I don’t think this is related to your problem.

In other words, I am not sure why you are seeing what you are seeing…

If you can post a sample scene showing your problem, I would be happy to debug it. :slight_smile:

Hi - before I upload something, let me make sure my workflow is correct - I’m having trouble getting any particles from pflow now. I must be doing something wrong.

  1. Create a sphere.
  2. Use a PRT Volume to fille the object. I only need this as a reference in which I’m going to use modifiers later, so I render out 10 partitions of the volume object with random seed on volume PRT enabled. IT prompts me to render out at least two frames.
  3. Load Partitions into a PRT loader. Enabled Single Frame only.
  4. Create an empty flow. Add Krak PRT birth, add krak PRT update.

I reproduced the above using a Teapot, saved 10 partitions as you described and the PFlow loaded them all.

But when I tried to render frame 0, I got no particles. When I tried to render frame 1, it rendered them all. Then I got back to frame 0 and it rendered the particles, too. I disabled the flow, enabled it again, rendered frame 0 and it did not render any. Moved to frame 1 and it worked again.

This is definitely a bug, but I cannot tell what exactly is causing it. I could not find a workaround so far. I will log it as a bug and pass it to the developers…

I appreciate it.

OK, I’ve tried a naked file and still can’t get the MXS Float piped into Pflow correctly. One (perhaps) important detail I left out is that I’m trying to populate the MXS Float channel from a KCM Modifier on top of the PRT Loader.

However, when added, the PRT update operator shows the channel available - it just doesn’t seem to read the values correctly.

Here is the complete operation:

  1. Create teapot
  2. Create PRT Volume. Add Multi Region. Select Teapot as Source. Enable Shell. Enable TextCoord for saving.
  3. Save 10 partitions for the PRT Volume.
  4. Create PRT Loader. Add partitions. Select “Load Single Frame Only”
  5. Add KCM Channel Modifier to PRT Loader. Pipe cellular texture as Mono to Selection channel.
  6. Add second KCM Channel Modifier to PRT Loader. Pipe selection value to MXS Float. Use Particle Data Viewer to verify that MXSFloat channels read from 0-1.
  7. In pflow, create an Empty Flow.
  8. Add Krak PRT Birth Operator, choose PRT Loader.
  9. Add Krak PRT Update to Event 01. Select PRT Loader. Enable MXSFloat checkbox.

Option 1: Add Data Operator from Box 3. Input Standard -> New Channel (Float). Show particle data. All channels read 0.
Option 2: Create a Script Test testing for .particleFloat > 1 and pipe to new Dispaly Operator. Enable Track Update ->Particle Count. No particles are sent to the new event.

I’ve included one frame of one partition, in case for some reason this is the error. Otherwise, feel free to generate teh partitions off of the volume object as listed in the instructions.
PRTLoader2Pflow_MXSFloat_Bug.zip (2.53 MB)

Can you save that scene for Max 2010?

While I was testing this on my own, I found that when the PF Source’s Viewport % wasn’t 100% weird stuff was happening. You should see if that helps you at all.

This zip includes a file saved for 2010.

I tried upping the view to 100% in pflow and still read all zeros for the MXSFloat.
PRTLoader2Pflow_MXSFloat_Bug.zip (2.56 MB)

I tweaked your setup by checking Position, ID and MXS Float in the PRT Loade Update operator and it seems to be working.

PRTLoader2Pflow_MXSFloat_Bug_2010_fixed.zip (31.5 KB)

From my testing it appears to not work when the ID channel wasn’t being updating in the PRT Loader Update. I’m not sure why this is, but for now just leave ID checked in the PRT Loader Update at all times.

Bobo pointed out that I probably saw the channels as un-checked since the channel list was cleared when I changed the path of the PRT Loader’s files. Are you having any luck?

Darcy, thanks for looking into this. The “ID” checkbox is indeed the culprit here. It must be checked for the values to be udpated correctly.

Thanks again!