We’ve indicated an interest in having the meshing system from Flood:Spray available without the simulation part, yes. Though we would likely also want Flood:Spray to be available too.
Pricing wise, you could sell it separately, but require a license of a compatible product, so it would be more like a added cost module for Krakatoa than a standalone. Not sure how your FlexLM pricing is done. Just as an additional option to consider.
Also, you could have a “lite” version that comes free with Krakatoa. It grabs a Krakatoa license, and it is limited to ONLY meshing PRT Loaders, perhaps implemented ONLY as a modifier? Could even limit the number of particles supported or the overall voxel count?
As for the suitability, I can think of some use cases… Obviously if you want to do waves crashing against a lighthouse or other madness, you’d need a lot of particles and a fine grid. But if you are just doing a viewport proxy for Krakatoa PRT Loaders so you can see lighting direction and intersection with other meshes, then you can get away with smaller particle numbers and courser grids. If you are doing meshed volume proxies to accelerate particle animation, like culling one particle system based on the density of another, then it’s probably somewhere in between.
But… If you are dumping the points off to a voxel array anyway, why would the point count matter? Don’t you just stream in and accumulate the density per voxel? It’s not some weird levelset thing is it? Just the voxel array size should matter, unless it’s a levelset thing, and then the actual distribution would matter, but beyond that I couldn’t comment. And couldn’t you initialize multiple grids at multiple resolutions ala ClayStudioPro? Makes the surfacing a bit trickier, but saves memory like none other, which is why you have particles in the first place, no? Ok, sure particles have other uses, but I don’t have to explain all that to anyone at Frantic.
Dunno what features are available at this time, but you could accumulate a lot more than just density… Color would be an obvious one, but why not normal or velocity or happiness? We’ve got nearly 100 vertex channels to fill, right? Just allow us to map particle data channel to vertex data channel… Ooolala! Further, could the voxel array not also be available as a texture map for assignment of materials back to either particles or the mesh? And if you had the particle-to-voxel conversion as a Pflow operator… Mmmmm… We’d pay double for sure!
Ben has a surfacing tool that he’s built (and extending) for our needs. It’s actually really interesting to try out different meshing techniques and optimization ideas. It works on voxels, not particles, however. It’s what I’ve been using for my testing of the KSW(WSM). I load in the dataset, extract the surface (snapshot of course) and deform.