Miarmy Crowd Simulation Documentation (English)

Multiple Arnold DSO Combine Render

Sometimes we want to render 2 (or more) different .ass files which were exported from different Maya files.

But due to the multi-threaded program, there is a limitation for this. So, only we setup everything by following rules, it can be done correctly without Maya crashing.


The Rule

  • There must be a ROOT maya scene file which contain all the original agent types inside.
  • And we can split this file into different files and each file must contain all OA the same as Root maya file.


Example

Let's make a real example:

The root Maya file contain 3 types of agents, like the below image, casual, dragon and snake are included inside the ROOT maya file.

And there are 2 different place node, 

  • Place 1: casual and dragon
  • Place 2: casual and snake

ROOT maya file

We can split this file into different files but all of them need to include all OAs.

Let's split it into 2 files:

Split it into 1st file, Please notice it also contains the 3 types of OA, but we just place "casual" and "snake" agents.

Split file 1

Split it into 2nd file, Please notice it also contains the 3 types of OA, but we just place "casual" and "snake" agents

Split file 2


And then we export them into 2 sets of .ass file folders:

After importing several arnold standin, we need to click Render > Arnold > Setup Multiple DSOs and setup messager among multiple DSOs.



Under The Hood

Note: you can skip reading this if you don't need to understand the under the hood technology issues.

The reason for why we need the above ROOT Maya file is that Miarmy DSO is multi-threaded and it will load Miarmy contents only one time for all OAs.

That is mean system will load 3 OAs into memory at the beginning of render. And then, in render time, it will not load any more and all render procedural will read the memory pre-loaded.

Suppose we have 2 files which only contain their own OAs:

  1. "casual" and "snake",
  2. "casual" and "dragon".

And we export ass and import them into 1 file and create 2 standins. Our system can only load the "casual" and "snake" OA before rendering. So when there is agent which type is "dragon", maya will crash.


Therefore, the only solution is have the system load 3 types of OA before render, that is the reason we must include the all 3 types of agent in each split scenes.















Basefount Technology