Physics (Particle Emitter) simulation on network
Imago
Posts: 5,147
A little question before I could buy a new PC...
When I render a scene in Carrara using the Network Rendering to accelerate the render, the Physics calculations are only on the "master" PC or they are divided on all the networked PCs?
I don't have a PC to do the testing, the Help file doesn't say much and I can't find any clue in the forum!
*EDIT*
Sorry, I forgot to add that the physics simulation is a particle emitter!
Post edited by Imago on
Comments
Good thing you clarified.
I'm not sure how the particle simulation is calculated, but I assume it is like the other simulations and that it is not multi-treaded, so even on a multi-core computer, only one core will work on the simulation. The emitter is stored in the scene file, and that is sent to the client computers by the main computer when you render over a network. Since the scene on the node is a duplicate from the host computer, I would think the particle calculations that were done when the scene was being set up would have been saved in the scene file and that is what the node would use.
For a straight up physics render, you need to run the simulation before you render, or there is no physics-based animation. Once it is run, the simulation is saved within the scene file, so you can render over a network, as the host computer copies over the scene file (and any other files the scene needs, such as image maps) to the client machines. The Carrara network node doesn't need to calculate the physics as that should have been done before saving the scene and network rendering.
I have rendered scenes over my home network with physics and particles and have had no problems, except for one time where I forgot to run the physics simulation and everything just stayed in place for 20 seconds. I will say that rendered fast. ;-)
Run the physics before render?
You mean press the "Calculate 3D View" in the emitter parameters or I have to do something else?
HI Imago :)
A particle simulation, is not the same thing as a Physics simulation,.
I think Evilproducer is meaning that you need to simulate any "rigid body or soft-body" physics,. as that simulation data is saved in the scene file.
particles are calculated per frame
Ok, so I guess particles can't be "baked" running them before rendering as Evilproducer suggested... But the question is the same: Particle simulation calculations can be reparted to all the PCs in the network in order to have faster calculation?
I didn't type it clear enough. My apologies. I was trying to get to where 3Dage got to more succinctly than I did.
What I was trying to emphasize (poorly) is that if you are doing a physics simulation or a particle physics simulation, it isn't calculated over the network.
As 3Dage said, a particle physics calculation would be frame to frame in the scene. Scene is the keyword, because that data is kept in the .car scene file, and when you render over a network, the scene file and any other external file that scene needs, such as image maps, are transferred from the host computer to the client computer. The files are placed in a temp folder, and the Render Node accesses the scene file from there. There is coordination between the host computer and the Node to be sure, but there isn't really an open scene file across the network that both computers are accessing at the same time, so even if the the physics and particle physics were multi-threaded, they wouldn't be able to share computations in that way. They each have their own separate-but-identical scene they are working from.
Sorry if I caused any confusion. I find that as I get older, my ability to be coherent while doing three different things at once is not what it used to be.
Eheheh... No problem, Evilproducer, we are in the same boat!
So nothing to do... Well, I guess I'll buy the new PC anyway... At least I'll be able to shorten the frame rendering time!
Thanks 3DAGE and Evilproducer!
Why not render a half part of the timeline on one PC and the other part on the second PC ?
Because the simulation will be broken... The particles doesn't behave always in the same way!
Plus, doing so is just adding mess to a mess, since I can just setup the network and have a complete animation!
Rendering on my workstation is pretty fast, after all, but the particles are incredibly heavy and slow...
A simulation is a mathematical calculation and don't change if you don't tweak the parameters.
I made this experiments with soft and rigid bodies simulations, and there were any differences.
With the particles, I believe that the simulation is done in realtime and the calculation is the same if you read your timeline several times.
"heavy and slow": I bet you use the metaballs...
Yes, I use metaballs for blood and other fluids... There is an alternative for it?
I tried to use PyCloid, but it's too instable and often it doesn't work... I once trusted it and put my PC to render a pretty long scene (ten seconds at 30 FPS).
After two hours I checked how it was going... And a big puddle of rigid, frozen blood was floating diagonally over my char's head!
Pycloid metaballs unlike Carrara natve metaballs do work in Octane render if you decide to go that route, a 980ti and and Octane plus the Carrara plugin is still less than a new PC
For personal reasons I have to work only on mobile workstations, so I can't simply swap the GPU.
About PyCloid, I guess its calculations can't be redistributed in the network, right? As I can recall it was way faster than the "standard" emitter... But very unstable!