Massive 6.0 Summary

Massive 6.0 Overview

Deborah R. Fowler

MASSIVE Overview

Posted 2014 
Update Aug 3  2014 

click here for Motion Capture Resources

Massive is based on fuzzy logic (not boolean) and information comes from channels that are interpreted from their "fuzzy" values to specific actions using node networks that define rules of behavior for your agents. Channels are active and change as the simulation runs.There are three categories of channels: agent, segment and action.

Note that unlike probability which measures the likelihood of truth, fuzzy logic evaluates teh degree to which it is true (in Massive, a value from 0 to 1). The process of "defuzzification" determines a crisp value based on the degrees of truth of the input or inputs. Default is to average them, you can also use max.

An agent defines your character and is made up of segments (body) and a brain. The brain is a node network defining behavior in relation to other agents and the environment. Agents must have a root (center of gravity).

Instances of the agent are created using the place tool (and will automatically be assigned a group - that's the reason there are two nodes on the scene page).

Motion is relative to an axis in Cartesian coordinates, with y up.


User workspace is task divided into four pages: Body, Brain, Scene and Motion (although now in 6.0 you can toggle between Action and View as well)

Skeletons are used for 3D objects and characters - these are 3-D segments and occupy space and are used in the calculations as well as in the other agents' vision (which is why it is important to use stand-ins (more about that later). Segments (sphere, tube, disc, cube) are used as 'joints' that determine mesh deformations and used in dynamics and collisions.

NOTE: you can move around in the other pages, not just the view window ie. right mouse dragging zooms the workspace in and out.

Hint: Underscores in node labels will display on two lines on the icon.
Note: Manual values are ignored if there is input connected.

File organization

NOTE: Do not put spaces in your folder names. If you do, your pathnames will not work in renderman. (It will also cause problems with saving files in Massive)

You are strongly advised to use linux and to organize your files (it is up to you so if you are from a Maya background this may be new)
It is suggested that you name your projects with number padding. ie. project001
I would strongly encourage you to organize your Massive projects with subdirectories   cdl/  obj/  terrain/ Sim/  Rib/  act/  maps/   with the mas files at the top level

mas - is your scene file and may also contain placement, flowfield information - it is the master file linking all the pieces together
cdl - stores the agents (brain, skeleton, skinning or "Bones" data)
obj (or you could call is geo) - stores the geometry (.obj files)
terrain - stores the terrain geometry (.obj file) and optional terrain texture maps (.tif)
Sim and Rib - are used for rendering
act - stores the animation (action) files (.actb files)
maps - stores the agent texture maps

For information on how to start massive in linux see Command Line

Default scene

By default, your scene will have four cameras (camera1-4) and four lights (key, sky, bounce, ambi)

Note the you see two icons for your agent:

Body page

geometry nodes - reference the .obj files
Binding can occur in two ways, by default the geometry will be placed in the root space of the agent

Center of gravity should be named root

Naming is very important. No spaces, punctuation or numbers at the start. Use descriptive names, ie. r_arm

Brain page

input - sends info for the brain to monitor - usually Massive channels ie. ground.dx
output - sends result out, typically triggers an action, ie you could put a manual value in channel tz to cause movement (translation)
fuzz - graphical interpretation of how true input is ie. to what degree (use the arrow keys as shortcuts to grab the points)
defuzz - create 'crisp' values, pay attention to the method (average or max) as it sends this info to the output node
timer - a value that varies over time
noise - random number from 0 to 1.0 centered at .5
and - fuzzy and logic (either min or prod) true if all of the inputs are true to some degree
or - fuzzy or logic (the weight of the combined elements is evaluated, max or sum), true if one or more inputs is true to some degree

Note: range only affects the slider on input nodes.
Note: Agent and segment transformation channels differ
Note: For agents, pos affects speed and speed affects acceleration. For segments, pos affects position and speed affects speed.