Miarmy Crowd Simulation Documentation (English)

Menu and Editor





Miarmy Global

  • Transition Type
    • Use Simple Transition

If enable, the transition map will be ignored by engine. Transition will automatically happened by themselves between any 2 actions.

  • Solver Options
    • Stop Feedback

If enable, the agent will not send information to Brain Viewer. It will save your time if you are already done the logic construction.

    • Pause Solve

If enable, the simulation will be paused. And if you disable this at the frame you enable this, the simulation will continue.

    • Start Time

Specify the simulation start frame.

    • TBB Parallel Computing

Enable Intel TBB Paralleled Computing

  • Mesh Drive Save Block
    • Unblock save with MD3

By default Miarmy not recommend user save scene with duplicated mesh in scene, enable this make this file can be saved with Mesh Drive Enable
Physics Global

  • Solver
    • Each Step Time:

Specify how much time will proceed in one Maya frame

    • Sub Step:

Specify how many steps will make in Each Step Time

    • Is Self-Collide:

Specify whether you need enable collision on bones of single agent

    • Inertia Factor:

How much (in percent) speed will inherit from action when enable dynamics

    • Block Same Type Collide

Stop checking collide with same type of agent

    • Update Kine Prim Shape

Update shape of kinematic primitive in each frame

    • Gravity X:

Gravity acceleration in X direction

    • Gravity Y:

Gravity acceleration in Y direction

    • Gravity Z:

Gravity acceleration in Z direction

  • Agent Body
    • Stop Apply Force Speed

When the speed of RBD exceeds this value, the force field cannot add force on to it.

  • Agent Cloth
    • Solver Frequency

Solver frequency specifies how often the simulation step is computed per second. For example, a value of 60 represents one simulation step per frame in a 60fps scene. A value of 120 will represent two simulation steps per frame, etc.

    • Stiff Damping (de-jitter)

The damping coefficient is the portion of local particle velocity that is canceled in 1/10 sec.

    • Cloth Density

The particles' density of cloth

    • Vertical Stretch Stiffness

Stiffness in horizontal direction, bigger value leads harder deform in horizontal space

    • Horizontal Stretch Stiffness

Stiffness in vertical direction, bigger value leads harder deform in vertical space

    • Shearing Stretch Stiffness

Stiffness in diagonal direction, bigger value leads harder deform in diagonal space

    • Bending Stiffness

Stiffness of bend down, bigger value make not easy to curly

  • Default Plane Terrain

The attribute effect on the plane terrain default created.

    • Dynamic Friction

The friction force when object is moving on terrain

    • Static Friction

The friction force when object is before moving on terrain

    • Restitution

The energy of bounces back from collision, increase this make object bounce greater on the default terrain

  • Agent Dynamic Bones

The attribute effect on the agent body default created.

    • Dynamic Friction

The friction force when object is moving on terrain

    • Static Friction

The friction force when object is before moving on terrain

    • Restitution

The energy of bounces back from collision, increase this make object bounce greater on the default terrain

  • Field Multiplier

Exclusive adjust the force effect on the rigid body of Miarmy. If the Maya field or fluid affects both Miarmy contents and Maya contents, you can adjust these values to change the result only on the Miarmy contents.

    • Field Force Multiplier

The value will be multiply the result force effect on the rigid body from Maya field

    • Fluid Force Multiplier

The value will be multiply the result force effect on the rigid body from Maya fluid



Render Global

  • Summary

First line: The result folder name of output image or rib
Second line: The result file name of output image of rib

  • Image File Output

The attributes can change the file export name, format and path

    • Full User Custom Path

Make the user specified path totally, will not add any sub folder or camera folder

    • Output Folder

The location your image files of each pass will output

    • Ribs Name(Rib/)

The file name of RIB file

    • Pics Name

The file name of image file

    • Extension

The file name extension

    • Image Format

The format of output image

    • Start Frame

The frame the render will start

    • End Frame

The frame the render will end

    • Frame Padding

The bit of digits of file name endin

  • Renderable Camera

Adjust the camera attributes

    • Renderable Camera

Select the renderable camera here

    • Alpha Channel

Enable this if you want to export alpha channel

    • Depth Channel

Enable this if you want to export depth channel

    • Camera Motion Blur

Enable this if you want ot apply motion blur when camera is moving

  • Image Size
    • Preset

Choose width and height presets

    • Width

The X resolution of output image

    • Height

The Y resolution of output image

    • Copy from Maya

Copy the same setup from Maya Render Global node

  • Split Render

To know more about split render, please refer the render part of this manual.

    • Split X

The number of parts the viewport should be split in horizontal space

    • Split Y

The number of parts the viewport should be split in vertical space

    • Bound Filter

The filter pixels which between any 2 split parts

  • Texture Options
    • Generate .tex Everytime

The system will generate a .tex texture file for each of texture file and send the .tex file to the RenderMan renderer when rendering. By default, the system will check the existence of that .tex file, if there is .tex file exist, system will not generate them again. If you need convert it every time, please enable this.

  • Image Quality

The attributes exclusive belong to RenderMan and control the quality of output images
Please refer the RISpec if you want to know them in details

    • Shading Rate

Minimum rate of surface shading

    • Pixel Sample X

Sampling rate in the horizontal directions

    • Pixel Sample Y

Sampling rate in the vertical directions

    • Filter method

Antialiasing by filtering the geometry (or supersampling) and then sampling at pixel locations

    • Pixel Filter X

The filter in horizontal directions

    • Pixel Filter Y

The filter in vertical directions

    • Deformation Motion Blur

Enable this to enable deformation motion blur, only available with agent cache

    • Motion Blur

Enable this to enable motion blur

    • Shutter Open

The times at which the shutter opens

    • Shutter Close

The times at which the shutter closes

  • Ambient Occlusion Options
    • Occ Sample

Increase this can get smoother result (less noise) but take more time to render

  • Procedural Primitive
    • Enable

Enable procedural primitives when export RIB

    • Run Program Folder

Specify the run program folder

  • Render Passes Setup

Specify which pass or passes should be rendered

    • If in preview mode (Miarmy > Render Preview), renderer will render the first option which enable here.
    • If in batch mode (Miarmy > Render Extra > Render Batch to Image Files/RIB Files), renderer will render all the options enabled here.



Other Renders Tab is the place for setting up the other renderers output paths or names

Render Preview (i-display)
Render current frame from current active viewport and put the image to the frame buffer (or i-display). The pass to be rendered should be the first pass enabled in Render Pass Setup of Render Global.
Render Extra (sub menu)

  • Foreground Render

Open Maya Render View, and render this scene from start frame to end just inside of Maya

  • Render Batch to Image Files

Render this scene from start frame to end frame and output the images to the folder been specified in Render Setting

  • Render Batch to RIB Files

Convert the scene to the RIB files start frame to end frame and output the RIB files to the folder been specified in Render Setting

  • Export Rib Archive Files

Export rib file with only agent info as archive file can be referencing back

  • Export Procedural Primitive Assets

Export the necessary assets for procedural primitive generation

  • Export Rib Archive Files

Add or remove custom render man attributes:

  • Add Subd Attribute

Add 2 attributes to the selected objects, so that the objects can be recognized to the subdivision mesh by the render engine.

  • Delete Subd Attribute

Remove the 2 attributes of subdivision mesh flags from selected objects

  • Add Displacement Bound Attribute

Add an attribute to the selected objects, so that the renderer will use this value when dealing with displacement shader

  • Delete Displacement Bound Attribute

Remove the attribute of displacement bound from selected objects

  • Add Matte Attribute

Add an attribute to the selected objects, so that the renderer will render it totally black but alpha channel existed.

  • Delete Matte Attribute

Remove the attribute of matte from selected objects
Note: if this attribute is added to the agent instead of geometry, the specific agent will matte out all the geometries it used
Agent Viewer (Auto Focusing)
The Agent Viewer will display the bone structure and some flags set in Agent memory

  • Bone structure:

The name of bone in memory, it can be used in channel, like torso1:tx

  • Flags
    • (@) sign

This bone will join collision check if using "collide" channel

    • (star) sign

This bone can feel field and fluid when dynamics is turned on
Agent Manager


Agent manager can determine which type of agent is activated. System will create contents such as logic decision nodes or action nodes for the active agent and put the contents inside the active agent group.

  • Active

Active the agent type in this line

  • Modify

Modify the name of agent

  • Delete

Delete all the contents of this agent

  • Color buttons

Select color for active agent, when the agents are placed, the color of bones will be the same color selected here

  • Add Agents

Add a new type of agent to scene
Terrain Manager

Terrain manager can mark geometry terrain. When the geometry is marked terrain, the agents can interactive with it and the rigid body can collide in it. In fact, the geometry which been marked terrain is connected by a McdTerrain node.

  • Terrain Node

The McdTerrain node name which connected to terrain geometry

  • Mesh

Actual mesh name been marked terrain

  • Dynamic Friction

The friction force when object is moving on terrain

  • Static Friction

The friction force when object is before moving on terrain

  • Restitution

The energy of bounces back from collision, increase this make object bounce greater on the terrain

  • Is anim

Enable this if the terrain has animation or deformation.

  • Is Plane

Enable this if the terrain is a plane, it can speed up the physical simulation

  • Select

Select the transform node of this terrain geometry.
Visualization

  • Sound range switch

Switch on/off the sound range

  • Vision range switch

Switch on/off the sound range

As the picture above, the red circle is sound range, and the green frustum is the vision range.
Setup Rig

Miarmy provide a free setup pipeline tool, which can generate a simple rig from the template.

  • Import Template

Import template with default pose

  • Import Template (Preset Pose)

Import template with the preset pose

  • Setup Rig

Convert the template to the rig

  • Import Standard Bone Tree

Import a clean and preset posed bone chain which can be used to motion capture

Above 3 pictures, from left to right:

  1. Template with default pose
  2. Template with preset pose
  3. Bone chain with preset pose


After setup, the rig has been generated.
Original Agents

  • Create Original Agent

Create Original Agent if there is correct rig in Setup group for the active agent type

  • Create Original Agent (Preset Pose)

Create Original Agent with many preset setup

  • Select Skin Bone and Geo

Select all the joints except end ones from current active original agent

  • Hide Bone Shape

Hide all the box shape of the bone

  • Unhide Bone Shape

Unhide all the box shape of the bone

  • Re-create Original Agent

Delete the current active original agent and create it again. If you delete some important part from original agent, you can use this tool

  • Delete Original Agent

Delete the current active original agent

  • Create Bounding Box for Agent

Create bounding box for current active agent

  • Shape Box Adjustment (This feature is not finished yet)
  • Go Original Pose

Clear all rotation value from original agent and put it to the origin

  • Send Active Geo to Original Agent

Copy geometries and skinning info from setup rig to Original Agent, only can work on active agent type

Placement

  • Create Placement Node

Create a placement node for you

  • Placement Editor


Placement editor can setup the proportion for the selected placement node

    • Proportion Setup (slider)

Only the place-able agent type can be listed here. The agent with original agent is correct agent type. Move any of the slider, the others types will automatically update except 0 proportion type

      • 0 proportion

Crank down to 0 for turning off this type of agent place

    • Make Even

Auto averaging all the proportion of exist types

  • Place

Populate agent to scene.

  • De-Place (Delete All Agents)

Delete all the agents and flush the undo queue. We not recommended delete agents by "del" key because that the agent is actually leave there in memory.

  • Inverse Place

Create a brand new place node from the selected agents, and this will record follow info:

    • Parent node of each agent
    • Type of each agent
    • Translate and Rotate
    • Mute dynamic flag
  • Attach Terrain

Attach place node to the selected terrain

  • Detach Terrain

Detach place node from terrain

  • Attach Curve

Attach place node to the selected curve

  • Detach Curve

Detach place node from curve
Mocap

  • Import Standard Bone Tree

Import a clean and preset posed bone chain which can be used to motion capture

  • Human IK (available next time)
  • Characterize (available next time)


Actions

  • Create Action

Create an action node, then playback once and store the animation data to this node, from rig (with animation) to action

  • Action Editor

    • Basic Attribute
      • Length

The length info of current selected action

      • Rate

The playback speed multiplier, e.g. 2 means playback speed is 2 times than normal

      • Is Final

Enable this means that once agent transit to this action, never transit out, e.g. dead

    • Transition

Control the transition between 2 actions

      • Is Cycle

Enable: cycle action (e.g. walk), Disable: transition action (e.g. standToWalk)

      • Cycle Filter

A percent value stand for a smooth filter when the action performing self-cycle transition

      • Entry Range

The range of transition from previous action to the current one

      • Exit Range

After this percent range, this action can transit to next action, before that, it playback itself

    • Agent Transform Speed

The speed of transform node of the agent, this can create the locomotion result, please check out the detail of this in Animation and Action session

      • Channel(TX, TY, TZ, RX, RY, RZ)

Block/Open the channel on agent transform node

      • Auto Fill

Use the preset channel preset

      • Rebuild

Important: After editing the channels, user need click this rebuild button make it works

    • Agent Transform Fix

This feature can offset the result of transform speed of the root, e.g. one of the motion capture data is x-oriented, but one can use this feature to rotate it back to z-oriented action

      • Transform Data

Specify which channel and how many values need offset

      • Fix Agent Transform

Once specify the value in blank, click this for performing offset

    • Exit Choices

In different phase, action can transit to different next actions. We can specify the exit choices here

      • Exit Action

The list of actions which the current action will transit to

      • Start Frame & End Frame

Between start and end frame, the current action will transit to this exit action if there is a transition signal

      • Preview Bar

Preview in which phase we can transit to which exit action

  • Create Action Proxy

Create an action proxy node for current active agent type

  • Action Proxy Editor

Action proxy can check the transition between any actions and see is them transit smooth or correct
For more details of action proxy, please check out the Transition session of this manual.

    • Active

Activate/deactivate element of agent name

    • Play list

The names of actions in list

    • Set

From right to left set

    • Available Actions

Choose which action to be set
Transition Map

(Note: need switch to the transition map viewport)

  • Move tool

Click and drag to move the states and action shells in transition map viewport

  • Create State

Create a new state node for current active agent type

  • Create Action Shell

Create a new action shell node for current active agent type

  • Add/Edit Action Group

Add an action group flag to the selected action

  • Cancel Action Group

Remove the action group flag from the selected action
Knowledge Perception

Please check out the channel spec for the detailed information

  • Create Solver Space

Create a solver space node

  • Create Road from Curve

Create a road object from your selected curve, the agent can feel it

  • Attach Road to Terrain

Attach the road to terrain

  • Road Mode Switch

Switch road between flow and road modes

  • Create Bound

Create bound box/sphere so that the agent can feel it

  • Create Spot + Force Field Combo

Create a spot node and set the Feel Mode to "both"

  • Create Spot

Create a spot node and set the Feel Mode to "Only Spot"

  • Create Force Field

Create a spot node and set the Feel Mode to "Only Field"

  • Create Wind

Create a wind node so that the agent can feel it

  • Create Zone

Convert the selected geometry to zone object

  • Select Zone Node

Select the geometry firstly, and then this tool can help you get the related zone node
Logic and Decision

  • Make Decision

Create a decision node for the active agent type, for detail, please check out the logic part of this manual

  • Decision Node Editor
    • Input Part (Normal Mode)

The inner logic part

      • Make Default/Global Button

Change the current selected decision to Global Mode

      • Active

Activate/Deactivate of this sentence

      • Priority

The priority of this sentence, bigger value has higher priority

      • Logic

The operate before this sentence

      • Not

Determine whether invert the logic result

      • ID

The Identity of this sentence assigned by the system

      • Input

Input sentence

      • Inf

Whether infinity for the fuzzy range in, e.g. "< 10" means negative infinity to 10

      • Min

The minimum/start value of range in which the result will be true

      • Inf

Whether infinity for the fuzzy range out, e.g. "> 10" means 10 to positive infinity

      • Max

The maximum/end value of range in which the result will be true

      • Fuzzy In

Blur the start of true range, not available when negative infinity

      • Fuzzy Out

Blur the end of true range, not available when positive infinity

      • Input Type

Chose the input type between max or average

        • Max

Take the result which makes this sentence fully activated

        • Average

Take all the results and calculate out the average, then calculate the activation of this sentence

      • Auto Fill

Some presets for the user, one can add new preset in McdSentencePresetListGUI.py

      • Move Up

Change the order between 2 sentences up and down, move current sentence up

      • Del

Delete current sentence

      • Parse Result

The result of inner logic

    • Output Part (Normal Mode)

  • Active

Activate/deactivate output channel

  • Decision

The output decision

  • Value

The output value if full activated

  • Auto Fill

Some presets for the user, one can add new preset in McdDecisionPresetListGUI.py

    • Decision (Global Mode)

  • Make Normal Button

Change the current selected decision to Normal Mode

  • Default Action

Play this action when there is no other action activated.

  • Active

Activate/Deactivate the default output channel

  • Decision

The output channel

  • Default Else

System will use this value when the channel are not been activated

  • Output Type

The output value change type, absolute value or change rate

  • Defuzz Type

The output defuzz type average/blend/max

  • Auto Fill

Some presets for the user, one can add new preset in McdDecisionPresetListGUI.py

  • Preset Logic Behavior

Create the preset logic decision nodes for current active agent type
Physics

  • Cloth Setup
    • Attach Cloth (Tip: points to box)

Mark cloth for selected geometry and attach the selected points to the bone shape of original agent (firstly select the cloth points, then the bone box shape)

    • Clear Cloth

Unmark the cloth for the selected geometry

  • Force Field


Create PhysX force field

  • Kinematic Primitive


Create PhysX kinematic Primitives

  • Create PhysX Debug Node

Create a PhysX debug node which can display all the contents of PhysX scene.
Debug Tools

  • Create PhysX Debug Node

Create a PhysX debug node which can display all the contents of PhysX scene.

  • Agent Match

Match the original agent to the selected agent, this feature is used to integrate your baking or rendering pipeline

  • Agent Return

Put the original agent back to origin and default pose
Re-Link Miarmy
Reconnect your Miarmy if you install a new version in the other place
Un-Link Miarmy
Disconnect Miarmy from this Maya
3Delight Setup

  • Check Renderer Status

Check is your 3delight been installed correctly, check are your 3delight paths been setup correctly, check are your 3delight shaders been compiled ok, etc. If there is anything incorrect, the finished dialog will report them

  • Compile Shaders

Find the source code of shader in Miarmy installation place and compile using your installed 3delight program, then put the result shaders into 3delight shader path

  • Remove 3delight.dll

Remove the 3delight.dll from your Maya bin folder. Because system will copy a 3delight.dll to your Maya bin folder when installing, this 3delight will proxy/take over the 3delight of yourself if you already using your own 3delight. Delete the 3delight Miarmy provided here.

Basefount Technology