By: Massive Software
Massive is a simulation and visualization solution for generating and visualizing realistic crowd behaviors and autonomous agent driven animation for a variety of industries, including film, games, television, architecture, transportation, engineering, and robotics. Using Massive, an animator, engineer or robot developer designs characters with a set of actions and reactions to "what is going on around them".
The reactions of the characters determine what they do and how they do it. Their reactions can even simulate emotive qualities such as bravery, weariness, or joy. The agent reactions can control key-framed or motion captured animation clips called actions.
Characters that perform on their own in this way are referred to as agents. Massive is a system for designing and running such agents. When scaled up into the hundreds - or hundreds of thousands - the interaction within the crowd that emerges from these individuals is highly realistic.
By building variation into an agent, the Massive artist can populate a scene with individuals who are unique in everything from physical appearance to how they respond.
Massive Prime's intuitive node-based interface allows artists to interactively create AI-enabled agents with custom responses for specific behaviours.
Massive Jet is designed for a more streamlined workflow.
Massive Jet has all the features in Massive Prime EXCEPT:
- Brain Editor
- Motion Tree Editor
- Action Editor
- Smart Stunts Editor
- Maya Skeletons and Motion Importer
- XSi Skeletons and Motion Importer
- Massive C/C++ API
- Python Scripting
New Features in Massive 5
- Now use can be made of the extra cores in your workstation to speed up sims. Multithreading improves performance of brains, vision, agent fields, lanes, and actions. Depending on the scene, a four core machine may run sims up to 3.9 times faster. The number of threads can be set with the -threads commandline option. The default value is 4. A value of 1 switches off multithreading.
- The manipulator can be used to translate, rotate and scale selections of generators, locators, lanes and flow fields. Rather than just copy the manipulators from other programs we decided to come up with something better. So the Massive manipulator is modeless, in that every function is available all of the time. And it's much easier to grab due to the thick elements and better use of available screen space. See the manipulator page for more details.
- Every camera now has an "ortho" button that can be used to switch to orthographic projection. There are also alt x, alt y and alt z hot keys for switching the current camera to orthographic projection along a world axis. Shift alt x, shift alt y and shift alt z can be used to look along the opposite directions of the world axes.
- The new transport controls in the scene page allow for playing back and scrubbing sims and camera animation. Sim scrubbing works with spawned agents, cloth simulation, and hair. See the transport controls page for more information.
- Now lanes don't have to be constrained to the terrain, and they can be used for flying things such as birds, planes and spaceships. The ranges of lane.x and lane.y have been extended to -2 - 2 to allow following of lanes even when agents are outside of the lanes. New lanes channels have been added and the lanes code now runs faster.
- New lanes channels:
- lane.y - vertical location of agent in lane
- lane.z - location of the agent along lane
- lane.oy - Y polar coordinate of angle of lane relative to agent
- lane.oz - roll angle of lane relative to agent
- lane.ay - Y polar coordinate of angle of lane relative to agent
- lane.az - roll angle of lane relative to agent
- Many improvements have been made to placement in Massive.
Actually it's not the agent IDs that we made stable, but we added seed IDs for random number generation, and these are much more stable.
multi select and move/rotate/scale
Now it's much easier to set up complicated placement, especially using the manipulator. For example, multiple generators could be copied and negatively scaled in X thereby mirroring placement.
This new button in the place editor switches on visibility of agents during placement. It's even possible to drag an agent midway through a sim to get the desired results.
When instance selected is switched on agents will only be instance at selected locators or generators. This can be used in combination with locators selections, and selecting a generator now automatically selects its locators. Instance selected can be switched on in the Edit menu.
edit agent type
It's now possible to change the type of agent at selected locators, using the Locator editor.
variable distribution functions
Previously Massive always used a linear distribution for generating random numbers for Agent variables and Group variables. Now there are three types of distribution functions:
- linear - the same as previously available
- normal - a bell shaped 'normal' distribution with a modifiable standard deviation
- integer - editable probability for each integer value in the range
Normal distribution is very useful for modelling natural variation such as height. Integer distribution is perfect for specifying the likelihood of any particular option, for example: controlling the probability of various hat geometry nodes being selected.
group variables affect child groups
When using hierarchical placement parent group node variables will now override group variables and agent variables in child setups.
better agent fields
- There are several improvements to Agent Fields, and more information can be found in the
The offset parameters at the bottom of attract fields can be used to set the relative location of attraction. Usually attract fields use the origin of another agent when calculating the resulting vector. Sometimes it's preferable for an agent to be attracted to a position relative to the other agent. This is useful for such things as military formations, couples and families, arriving at a counter etc.
The new agent field .w channel provides the weight of the agent channel due to the presence of nearby agents, rather than the value of the field due to the contribution of those agents. Weight values are useful for things like detecting red traffic lights.
copy and paste
It's now possible to copy and paste agent fields in the Agent Fields editor.
Previously there were max and sum options for assessing the contribution of agents to an agent field. Now there is also average. This averages the contributions from all of the agents. Typically, average produces values between -1 to 1, and can give similar results to vision average.
In a hierarchical setup it's sometimes useful to have the agents from a low level setup able to follow each other, for example family groups, couples, squads of troops. To make this easier we had added the group parameter to agent fields. Using this parameter it's possible to have agents only react to those sharing the same high level locator.
environment variables in the brain
Input node expressions can now resolve environment variables. Massive expects the environment variables to be set to a floating point or integer number.
find 'manual' output nodes
The search option in the brain page now has an option to find output nodes that have the "manual" button on.
improved output node behaviour
In 5.0 output nodes behave slightly differently. Previously if none of the defuzz nodes was activated then the output node would use the value of the first defuzz node. This is not particularly useful. So now, if none of the defuzz nodes are activated, the output value will remain the same. This means that momentary activation of any defuzz node effectively latches the output to that value until another defuzz node is activated.
The "parent" channel can already be used to get an agent to parent to another, but sometimes it's preferable for an agent to parent another agent to itself. The "carry" channel was added for this purpose.
parent input channel
The "parent" channel can now be used in input nodes to determine if the agent is currently parented. This is particularly useful in combination with the "carry" channel.
brain loop warning
Massive handles loops ok but it's usually better to avoid them where possible. The new commandline option -warnloop switches on checking for recursive brain structures (loops). Checking happens when agents are loaded and when a brain is modified.
terrain node features
Terrain geometry can now be non-destructively translated, rotated and scaled in the new transform tab.
Terrain nodes now support actions using the same action file format as agent actions and camera animations. Terrain node actions can be edited in the action editor.
- Some studios work with Z-up scenes rather than Y-up, and sometimes particular projects require Z-up. In the past such scenes required everything to be rotated 90 degrees before importing into Massive and rotated back again before rendering, but this is now no longer necessary. The world up axis can be specified with the -yup and -zup commandline options. Massive Prime and Jet default to Y-up. Even though the scene may be Z-up, the agents can still be Y-up and will appear correctly oriented in the Z-up scene. It's even possible to use a Y-up setup as a child setup inside a Z-up setup. While it is possible to create Z-up agents, most things in Massive inside the agents work better in Y-up. In short, in a Z-up scene it's best to use Y-up agents.
offscreen openGL renders
- While it may sometimes be entertaining for the content of overlapping windows to be inadvertently written out when running a sim, it is usually not preferable. Now Massive automatically renders the View port to an offscreen buffer when running a sim. Due to limitations in the windows version of the Nvidia drivers antialiasing is disabled when writing out View port images in windows, but this does not affect Linux users.
focus to selected
- shift ctrl A in the View window will focus to selected terrain nodes or agents.
Python functions for creating, editing, deleting agent and group variables and variable curves
- The following functions have been added:
- Agent functions
- add_var("s"), find_var("s"), del_var("s")
- Group functions
- add_var("s"), find_var("s"), del_var("s")
- Variable functions
- set_def(i), set_min(i), set_max(i), set_expr("s"), set_offset(f), create_curve(), delete_curve()
avoid clobbering sim files for replay agents
- Previously when some agents are set to replay and AMC files are being written out to the same directories, Massive would overwrite the files it was reading for the replay agents. Massive now checks to prevent overwriting any files.
V-Ray debug option
- For V-Ray shader editing (or rather V-Ray plug-in editing) to work in Massive, Massive needs to interrogate V-Ray regarding available plug-ins and vrscene files. To be able to troubleshoot any problems with this process we added the -debug_vray commandline option.
make placement and lanes use something other than spacebar
- Many of you have asked for a change in the behaviour of the spacebar in Massive. So now the spacebar is only used for starting and stopping the sim. The other functions have now been assigned to the Insert key.
- The -fps commandline option was the only way to set the frame rate in Massive. So we added the fps dialog in the Options menu to make it easier to set the frame rate.
- Massive Mental Ray rendering now supports Mental Ray 3.9.
stack trace in windows
- Stack trace functionality is built in to Linux, but this is not the case with windows. So we added special code to allow stack traces to be generated when an unexpected termination occurs in Massive in windows.
alpha channel for material texture maps
- We have added an alpha button to the diffuse tab of the material nodes. If the alpha button is on and the texture map contains an alpha channel it will be used for opacity, allowing for ragged edges on clothing, flags etc. This only affects OpenGL View port rendering.
miror all segment properties
- Symmetric editing of segments has now been extended to almost everything in the segments.
- Massive now has a preferences file which is stored in the .massive directory in your home directory. Currently this is only used for manipulator settings, but we intend to use it in the future for such things as window layout and custom menus.
- A long time ago Massive used triangle arrays to speed up OpenGL rendering in the View port, but this was taken out due to instabilities. In the spirit of making Massive faster and the fact that this is a point O release we have reinstated triangle arrays.
unified Linux build
- Rather than try to make builds for all of the different flavours of Linux that our customers are using, we now make one 64 bit Linux build. This build should run on any 64 bit Linux that has GCC 4.1.2 or later. This includes Fedora 10 onwards and Red Hat 5 onwards. Nvidia drivers are still required
Features Common to Both Massive Prime and Massive Jet
- The Body Editor provides the workflow to build and customize skeletons, geometry, cloth, and materials. It enables the automated variation of agent proportions (skeleton) and appearance (geometry, shaders, and texture maps).
- The Scene Editor provides the workflow to control and direct cameras, terrain and agents. Tools are provided for both general and specific control and direction of agents. Crowds in a stadium can easily be made to clap and cheer at the right time with the general agent controls. You can also control the parameters of individual agent placement and behavior.
- Massive is based on artificial life technology. Massive characters use a patented vision process, and a sense of hearing and touch that allows them to respond naturally to their environment.
Fuzzy Logic for Subtlety
- Massive animators use fuzzy logic to design their characters' responses. Instead of a value being black or white, it can be a shade of grey or 'fuzzy' - giving the character more natural responses than the on/off robotic results of binary logic.
AI for Film Quality
- Massive uses an approach to AI which makes the action in the shot the top priority. This distinguishes it from other crowd software using AI originally designed for games, which has as its priority the ability to generate animation in real time.
Dynamic Hair and Fur
- Use texture maps to control all hair parameters. Dynamic guide hairs can be interpolated in a render taking advantage of various details of implementation of the hair shader for either long or short hair.
- Lay down directional lanes in terrain and set up agents to follow lanes with this new automated feature. Designed to simplify traffic simulations with multiple layers, this feature is ideal for animating cars and streets, boats in a harbor or even groups of people in a building.
- Interactive viewing of subdivision surfaces on hundreds or thousands of agents is now available in the viewport via a specially developed and highly optimized level of detail algorithm. This feature enables users to build more high fidelity agents with a simplified pipeline.
- Built-in simulation passes allow the user to set up multiple layers of simulation for such things as performance, dynamics, hair and cloth more quickly and efficiently. This feature saves time, improves workflow and allows for better collaboration between artists.
- It's now possible for agents to seamlessly transition back from dynamics into performing motion captured or keyframed actions. This means that an agent could be violently knocked down to the ground with all the realism of a 'smart stunts' dynamic performance, and then get back up to continue the fight.
- Easily import and export skeletal data in and out of Massive when using animation packages ranging from Autodesk Maya and Maxon Cinema 4D to Autodesk 3ds Max much more quickly and easily than before.
- Artists can keyframe attributes of agents over time to control activities like cheering, clapping, running, standing, or talking - and whether they are excited, sad, tired, aggressive or even muddy. Artists can use flow fields or paint on the terrain to affect agent behaviour.
- Intuitive Editing of placement, 3D paint, shaders, agent variation.
- Skinning is historically a laborious, time intensive process. Massive's skinning process is revolutionary in its speed and ease of use. Skin weights can also be imported from other packages.
- Massive was designed specifically to handle hundreds of thousands of photorealistic characters. Massive does not require the use of other host animation software. It sends data straight to the renderer, avoiding a bottleneck common to other crowd software.
- Massive is compatible with industry standard skeleton, motion and geometry formats
- Import: Maya camera, Maya lights, Wavefront OBJ geometry
- Export: Maya particle cache for previewing in Maya
Rigid Body Dynamics
- Massive uses Rigid Body Dynamics, a physics-based approach to facilitating realistic stunt motion such as falling, animation of accessories, and projectiles.
- Agents are able to adapt their gait to arbitrary terrain. This process is determined by the animator when the agents are created, rather than by built-in constraints, allowing for much more realistic and character specific motion.
- Massive's optimized RenderMan pipeline avoids writing huge amounts of data to disk and enables highly efficient rendering of large Massive scenes with RenderMan renderers (Air, 3Delight and PRMan). Mental Ray support soon to be added.
Features Specific to Only Massive Prime
Motion Tree Editor
- The Motion Tree is used to design the agent's motion, which then becomes an integral part of the agent. The output from the Motion Tree can then be used as a take list for the mocap session. This Motion Tree workflow, along with the integrated Action Editor, allows key-framed or motion-captured animation clips to be actions linked to the brain.
- The intuitive node-based Brain Editor interface allows artists to interactively create AI=enabled agents without any programming. The AI toolset gives artists the freedom to build custom AI logic for the specific behavior they want to simulate.
API and Scripting
- The Massive Application Programmer's Interface (API) allows the development of C/C++ plug-ins. Python and TCL scripts can be executed either in the Massive text port or from an agent's brain.
- Massive's digital stunts are controlled by dynamics that pull from real motion capture data. Filmmakers can direct the motions and reactions they want with real stunt actors and then import these actions into a Massive agent to give direction and character to the agent's performance.
- Massive cloth can be created using arbitrary geometry, and can be used to generate flowing robes, cloaks, flags and much more. The thickness, flexibility and elasticity of the cloth are controlled intuitively.
- Import Maya skeletons, Maya animation, Acclaim skeletons and motion files, BVH motion files.
- A motion editing program for importing motion. Cross fade looping editor is a convenient way of creating seamless loops. Prepare clips for Massive. Quality of motion. Its integrated motion editing built into Massive so you don't need to use another program import and can edit it in context.
Massive used for Artificial Intelligence
Specifications & Licensing
- 1 GHz Processor
- 512 MB of RAM
- NVIDIA graphics cards
- 2 - 3 GHz Processor
- 2 GB of RAM
- NVIDIA Quadro FX series graphics card
Hard disk requirements:
- 10 MB for Program Installation
- 5 MB for documentation
- 2.5 GB for learning materials
List of certified graphics cards:
NVIDIA Quadro FX
- 330, 350, 350M,
- 500, 540, 550, 560,
- 600 PCI, Go700, 700,
- Go1000, 1000, 1100, 1300,
- Go1400, 1400, 1500, 1500M,
- 2000, 2500M,
- 3000, 3000G, 3400,
- 3450, 3500, 3500M,
- 4000, 4000 SDI, 4400,
- 4500, 4500x2, 4500 SDI,
- 5500, 5500 SDI
Supported Operating Systems (32-bit):
- Windows XP
- Fedora Core 2
- Fedora Core 4
- Fedora 8
- Red Hat 9
- Red Hat Enterprise Linux 4
Supported Operating Systems (64-bit):
- Fedora Core 2
- Fedora Core 4
- Fedora 8
Host Application Support
Massive is a standalone program, but can import and export files from other 3D packages. Maya integration in particular is strongly supported, as Maya animated lights and cameras can be imported into Massive, Maya skeletons can be imported and exported from Massive, Maya animated motions can be imported and exported from Massive, and Massive agent positions can be exported in Maya particle cache format.
- .obj Import/Export
- Accepts geometry for agents and terrain in Wavefron .obj format
- Import .bvh
- Import or Export motion in Acclain motion capture (.amc) or Maya ascii (.ma) format
- Import Maya Cameras, Lights, Particle Cache and Motion
- Import Maya Skeletons and Motion (Massive Prime Only)
- Import XSi Skeletons and Motion (Massive Prime Only)
- Massive C/C++ APi and Python Scripting Support (Massive Prime Only)
- Mental Ray
Vray - New!! Supports this popular renderer, ideal for scenes requiring highly realistic lighting, in the same highly-efficient manner as RenderMan, 3Delight, Air and Mental Ray. Massive generates .vrscene files for the main render files, and for the terrain and agent archive files. It also automatically generates shader dialog parameters for V-Ray material plug-ins and V-Ray materials, giving users complete freedom to assign any available default or custom plug-ins and materials.
Massive is sold as a floating license. Massive can be run on any machine in your network, but the number of licenses you own is the maximum number of machines that can be running Massive at once. The number of processors running on that machine do not affect the count.
The procedural primitive plugins (Massive.so and run_program.exe) do not require a license to run, so if you are doing software rendering on a render farm, you would not need additional Massive licenses on the rendering machines.
Massive License server (MHost) is required for Massive to work
MHost v.5 System requirements:
- Windows XP, Vista, 7 and 2008 Server 32 / 64 bit
- Linux (RHEL), CentOS 64 bit
- Virtual Machines are NOT supported
Upgrades / Support
Massive Software offers the following Upgrades and Support options:
- 1 year required with every new purchase of Massive Prime / Jet
- Free upgrades
- 1 year access to customer support
- Access to community forum
- Upgrades from previous versions of Massive requires active maintenance.
- Upgrade from Massive Jet to Massive Prime
RFX is available for all your support needs.
Massive Software provides support with active maintenance
- Sitex Air for Rendering
- Massive Software Agents
Educational licenses of Massive Software are available.
Available for educational institutions: Packages include Massive Prime 10 User Education Bundle. The bundle includes 10 licenses of the flagship product Massive Prime, 12 months maintenance, the educational version of Ambient, Locomotion & Stadium Agents, and comprehensive courseware designed to allow easy integration into existing training programs. Please note that Massive Jet is not available for Education, and one (1) tutor or teacher submits support requests for all students at education site.
Lessons sit side-by-side with Massive for convenient reference. This course provides the learner with an introduction to Massive Software. Students will learn how to use Massive's fuzzy logic interface to create autonomous agents from scratch, beginning with a simple crowd of boxes and eventually creating human agents with motion captured actions. Students are also introduced to rigid body dynamics, geometry skinning, variation, and cloth simulation, giving them a strong overview of Massive's feature set. This is a 40 hour course including 13 evaluations.
Contact RFX for special packages.
Training / Resources
The Massive Online Community is available with active maintenance.