Page 3 of 3

Re: trueSpace Procedural Animation

Posted: 06 May 2019, 16:21
by Draise
Like most DirectX engines or game engines, the quantity of objects (despite geometry count) will affect performance heavily. So having one cached mesh then instanced multiple times in the 3D space will dramatically drop your GPU/CPU ram (instead of one new mesh taking up a processing slot each copy).

I also do this for most game engines, better to have one 100,000 poly mesh (so that it loads once, then draws many times, depends on the ram buffer) than x10 unique 10,000 poly meshes (loads each once, ten times with a x10 times slower card load on model changes, with the addition of drawing each over and over again, making a performance bottleneck). On top of that, better to have x1 10,000 poly mesh instanced X10 times than x10 unique 10,000 poly meshes - as the GPU will load that one mesh once, then instance it in a heartbeat making the bottleneck smaller. FPS will be better on the GPU this way, easier load on the software.

Re: trueSpace Procedural Animation

Posted: 12 May 2019, 01:07
by clintonman

Final version. Got it up to the resolution I was hoping for. At that quality level it did not run in real time. I think the limiting factor at this point is that it works by moving a tall box to the center of each hexagonal shape and runs a boolean operation. If an intersection is found it moves the corresponding hexagon. There are 1920 hexagons in the mesh and each hexagon has 20 vertices so that comes to 38400 vertices to copy and move for each frame. Even without the countdown number plus booleans processing it takes about 1 second to update for each frame, add it back in and it takes a few seconds to update.
It was a great little project. In the future I'll keep it a little bit simpler. :)

I added a link to the scene files in the first post of this thread.

Re: trueSpace Procedural Animation

Posted: 01 Nov 2019, 04:37
by clintonman

Ripples. This was actually the first of the procedural animations and was going to be part of a combined model and workspace animation. It's based on a 3dBuzz Houdini tutorial and started out as a bunch of nodes all linked together. It ran too slowly and I ended up combining all the nodes into 1 ripple node it runs much more quickly. The ripple deform takes place on a hidden mesh because the normals don't update which makes the ripple difficult to see, so the mesh is copied to a another mesh in the scene and normals are recomputed for it. It's the same thing as pressing the Auto Facet Normals button. The render uses the D3D Render script with hooks to run the ripple command at each frame of the animation. There is also a watchdog in the scene that can be connected to the RipplePlane for manually scrubbing the timeline.
D3D Render comes installed in the latest Unofficial Updates and is also available here: ... ender.html
The scene file is attached below.