TP, Krakatoa, Frost


Hello guys.
I have a TP setup where I have the particles with custom geometry. I turned this into .prt using krakatoa. I created a custom channel in TP called Radius and piped it to the size of the particles. I use Forst now to recreate the same system using the very same custom geometry from TP. The problem is that it’s not neither matching the size of the particles nor the geometry that was there before. As I said it’s using the custom geometry but not they’re not matching the geometry that was assigned in TP. I plugged the Radius channel using a magma modifier but even so is not working. Can anyone tell me was it the correct workflow to achieve this? Basically I want an identical match between the TP system and the Krakatoa .prt.


The missing ingredient is a ShapeIndex channel to tell Frost which of the geometry shapes listed in it to assign to which particles. Unfortunately, I am not sure there is a way to export that kind of data from TP to control the shape assignment. Even with PFlow it is rather tricky to determine which particle got which shape.

Regarding the size, Frost supports two channels to control the particle scale - Radius, and Size*Scale. When meshing TP and PFlow particles directly with Frost, Frost will use both the Size info and the Scale info to determine the particle size. If you are exporting the size data yourself, you should make sure your Magma defining the Radius channel produces a Float32 value of Arity 1 with the exact capitalization (capital R, the rest lower case). You can test by plugging in a Float input to output to Radius channel - tweaking the Float Input should affect the Frost particle size if you have it all set up correctly. If that works, but plugging in the TP value does not, then the problem must be on the TP data channel side…

Does the Frost UI report that the Radius channel was found when you check the “Use Radius Channel” option?

Anyway, I am not sure you will be able to transfer the shape assignment info from TP to Frost, but I have not looked at TP in a while, so I could be missing something.


Hi Bobo.

Yes, it says “Radius and Orientation channel found”.

I’ll dig in deeper into the shapeIndex thing cause it would be hugely helpful to get this workflow right.

Thanks for your help.


I forgot to ask.

If thre’s a way to export the ShapeIndex channel, how would I go about setting it up in magma?



That’s the thing, ShapeIndex is a Frost-specific control channel, and I am not aware of any other plugin exporting that type of data (although I could be wrong).
The shape assignment in both PFlow and TP is, as far as a I know, performed by an operator that makes the decision which shape goes to which particle without exposing that decision to a dedicated numeric channel. In PFlow you can script the shape assignment to specific particles by literally assigning the TriMesh to a shape channel. You could access the actual mesh being assigned, and based on its data (e.g. vertex & face count) determine which shape it was, and populate some custom channel to represent that. Not sure if TP has the same ability.