uprezzing howto..
#1
i apologies im reposting this from another thread cos it should have its own... 


trying to use "particle force" to uprez a simulation:

i have my low res grain sim falling at the start of the sim until it lands in a tray.  

a higher resolution duplicate ( a copy of the "birth voxel" from original sim, with voxel size reduced,  in a new tyflow. )  linked to original via particle force (with force set to "replace"  ive also tried add and blend with worse results) 

kinda works.. the particles generally follow the source particles.   but tons and tons get left behind as they fall.   increasing the radius and falloff help, but i need them way higher than the suggested settings of 100% and 50% of source particle radius. 

i currently have them set to 500% radius and 200% falloff, and there are far less particles left behind, but still, after a while, i end up with streaks of static particles.

if i have to turn up the radius even higher, im going to end up with lower resolution for the motion than the original sim had.. which is hardly ideal. 
  Reply
#2
Make sure secondary forces like gravity are added to your higher res sim as well. That way if any particle loses track of its intended parent, it'll still keep falling. Add the same colliders and such too.
  Reply
#3
(04-05-2019, 11:19 PM)tyFlow Wrote: Make sure secondary forces like gravity are added to your higher res sim as well. That way if any particle loses track of its intended parent, it'll still keep falling. Add the same colliders and such too.

thanks for the reply, however if i start adding all the same forces and colliders, surely ill start to run into the same overheads that limited the particle count in the first  case ( ram and calculation speed) 

i expect the simplest way to do a foolproof "uprez"  will be simply to have a cluster of grains as the instanced geometry for the majority of the instanced particles. 



if its not already featured somewhere ive not seen, it would be of great benefit if you could include some kind of user-friendly simulation partitioning, or dedicated uprezzing tool.. 

im imagining an operator which overlays a 3d grid onto your lowres "presim"  with l x w x h partition numbers..  (particles which leave grid would be ignored i guess) 

   some kind of smart "overlap" to pass forces between partitions, and  avoid major errors, 

then the option to process one chunk at a time out to baked prt/alembic/vrmesh/tycache files.    you then increase detail level to whatever you want and hit go.  

it would allow "unlimited"   size sims to be calculated, at the cost of some inaccuracy  ..    

i cant for the life of me figure out how this could actually work, but i believe houdini can do similar...
  Reply
#4
Quote:however if i start adding all the same forces and colliders, surely ill start to run into the same overheads that limited the particle count in the first  case ( ram and calculation speed)

Forces and colliders are generally very cheap. I mean, the Particle Force operator itself is slower than both of them, because it has to calculate nearest-neighbor detection for the low res sim, which is a relatively expensive operation, compared to just adding a force to a particle or doing a collision check against a precomputed kdtree Smile

The real slowdown comes from PhysX and Particle Physics operators, which is what you'd want to use the upressing workflow for.

Partitioning is already available in the PRT Exporter (Export Particles operator). Maybe in the future I will add it to the tyCache format.
  Reply
#5
"Partitioning is already available in the PRT Exporter (Export Particles operator). Maybe in the future I will add it to the tyCache format."


great!  so, how does that work.. , i enable partitioning, choose number of partitions, and it calculates only the particles for one partiton at a time, before clearing mem and calculating next partition? 

how do i avoid maxing out ram simply by choosing a massive number of particles and having them initialized on frame 1?   can i set my frame number to a negative value or disable initialization of whole flow? 

 i assumed that setting was just to break up the files into smaller chunks, since its a feature of the exporter. ..   if it allows simming larger particle sets im very happy..


p.s. i apologise if im taking up lots of space with questions Tongue
  Reply
#6
Partitions are re-seeds of the whole flow. They can be loaded back into max using a Krakatoa PRTLoader and meshed with frost, or even VRayInstancer I believe. You could also load them back into tyFlow and mesh them, but tyFlow is history-dependent so it'll be slower than Frost (when Frost is in geometry instancing mode).

If you're partitioning a large sim, you'll probably want to disable caching beforehand so you're not building up a huge cache that is unnecessary.

Experiment with some lighter flows to get used to the workflow and then go from there. Don't forget to read the docs.
  Reply


Forum Jump: