Golaem Crowd Procedural Rendering – Part1

Hi there, and welcome to the Golaem Crowd Procedural Rendering series. I am the Golaem Crowd Product Manager, and will be your humble guide for the next weeks.

As you may have noticed (if not, you should definitely go for a Snellen test), character geometries are not displayed at simulation time in Maya with Golaem Crowd. Actually, geometries are referenced in the Asset Manager tool during the setup of the assets and will not be requested until the export step (cf workflow picture below). As Maya can be easily beaten up by some couple of production characters, not having skinned geometry in Maya is of course a strategic & wise choice when dealing with crowds.
 


Golaem Crowd worlkflow


To make up for it, simulation results cannot be rendered directly into Maya: it requires an exporting step. Golaem Crowd provides two types of export: baked geometry and procedural rendering.
 


Golaem Crowd Simulation Tool


FBX Baked geometry

Baked geometry is a straightforward option: at export time, the Simulation Tool opens the referenced character geometry file (typically your tpose rig), then for each frame, it applies on it the current posture (computed in Maya) and flushes the whole in a FBX file. It results in a big geometry file containing a snapshot of your crowd at each frame.
 


Computed FBX file reloaded in Maya


If you’re dealing with dozens of characters, baked geometry is an honorable pick: easy to set up and ready to render. On the other hand, the generated file is not easily editable and if something is visually wrong (bare-chested guy in a snowy shot…), you’ll have to launch the simulation again… Do you remember when was the last time your director validated your shot at the first sight?

On the contrary, if you’re playing with real massive crowds (let say more than 100 people), do not even think about it! Unless you got decades to reimport your resulting geometry in Maya and tons of empty hard drives to store it… For now, FBX performances are definitely not good enough to play with large amount of data. For number lovers: 100 frames of 100 characters in FBX weight more than 1.5Go and take around 16 minutes to load in Maya… and you still don’t have a rendered image yet. As both measures are linear, I let do you do the math for 10k characters.

What about Alembic? Well, those guys shown up some pretty impressive results which definitely kick FBX’s ass. As lot and lot of studios are turning the corner, we’ll also soon support it. But keep in mind that if performances would be better, it will not solve the bare-chested guy problem. We’ll let you know anyway.
 

Procedural Rendering

“But what the hell is procedural rendering?” you may ask. That’s a good question, thanks for asking. That's what this post series is all about. Answer, next week!

As a teaser, let's just say that procedural rendering enables you to compute the simulation once, and render as many times as you want with different settings, but without redoing the simulation, or reimporting huge files in Maya.

Still wondering what procedural rendering is? Read the second part of this article now!!!