Massive is the crowd simulation software initially developed for The Lord of the Rings trilogy and is now used on major motion pictures, TV shows and commercials to create realistic crowd scenes.
This course aims to give an introduction to the inner workings of Massive from the ground up, introducing core concepts such as Fuzzy Logic and how it relates to creating an AI brain for a Massive agent. In order to demonstrate each of the aspects of Massive we’ll develop a vehicle agent and show how a simple traffic simulation can be created.
Geoff Tobin is a Lead Massive TD working at Weta Digital in Wellington, New Zealand. He started working in the industry in 1993 as an animator using SideFX Prisms, Alias PowerAnimator and Maya. Geoff has been working with Massive since 2000 and was involved with its early development in creating the crowd scenes for The Lord of the Rings trilogy. He has since used Massive in motion pictures such as I-Robot, King Kong, Avatar, Abraham Lincoln: Vampire Hunter, the Planet of the Apes films and the Hobbit trilogy.
Getting started. The introductory lesson will give a general overview of Massive and introduce theoretical concepts such as Fuzzy Logic. We’ll take a tour of the user interface and look at the various aspects of the software such as the brain, body, motion and scene pages and how they relate to each other. Geoff will also discuss the usual pipeline of a massive project in a production environment.
We will look at the Body page in Massive where you define the physical characteristics of a Massive agent. We’ll cover agent parameters and look at the various aspects that make up the body of a Massive agent. We’ll take a detailed look at the body segments which comprise the skeleton and build a skeleton and collision-shape body for our car agent. A simple brain will be created which will allow us to drive the car around and we’ll finish up with a brief demo of dynamics in Massive.
Brains! pt 1. This lesson will be the first of a two-part set looking at brains in Massive. It will give detailed coverage of each of the brain nodes, how each one functions “under the hood” and the different ways they can be connected together. We’ll discuss fuzzy logic in the context of a Massive brain and show how the brain nodes implement fuzzy logic to control the agent’s behavior.
Brains! pt 2. In part 2 of our look at brains in Massive we will use what we learned last week to start building the brain of our car agent. We’ll set up fuzzy logic networks to handle controls for turning the wheels based on the forward velocity of the car, steering the car by the amount the front wheels are turning left and right, acceleration and braking controls as well as simulating effects such as weight transfer – the way the car’s body leans during turns and pitches forward and back when accelerating.
We will look at how a Massive agent senses and interacts with its environment and adapts its behavior to match the terrain. We’ll also look at how a Massive agent navigates in its environment using flow fields, terrain maps and lanes.
Senses. We’ll cover how a Massive agent uses its senses such as sound, sight, touch and agent fields to allow it to be aware of and react to other agents.
We will continue looking at how a Massive agent interacts with its environment. We will use what we learned in the previous lessons to create a simple city environment for the car agents to inhabit. We’ll create the lanes for our city environment and look at how to set up all the possible choices of which way to go at different kinds of intersections. We will then set up the brain of the car agent to be able to decide which of the lanes to follow depending on which direction it wants to go and the available directions at each intersection.
Environment Part 3 and Variation. This lesson we will complete our city environment by creating a traffic light agent to control the flow of traffic at the intersections. We’ll also add some rules to allow the cars to give way to other cars already on the intersection and avoid collisions. Then we’ll look at how you can use agent variables to modify an agent in order to create different kinds of vehicles that share a common brain.
We’ll finish our simulation by adding pedestrians to our city scene and show how they can interact with each other and the cars.
We cover attaching geometry to an agent and assigning materials to allow us to create a production quality render. We’ll also revisit variation and variables in the context of geometry and materials. We’ll look at how to create a complete render including shadows.