Maya Plugin Project - Maya Complex Aggregates Plugin

Introduction - Complex Aggregates (CA_Plugin) is a Maya plugin tool that allows artists to quickly and efficiently generate a complex aggregate group at the click of a button, and is based off of the siggraph paper:

Ramanarayanan, G., Bala, K., and Ferwerda, J. Perception of Complex Aggregates. Siggraph 2008.

Downloading the Plugin - The Complex Aggregate tool was developed using MEL script, and should run fine with most versions of Maya. It was developed on Maya 2008, and is guarenteed to load for that version. The link for the plugin will be included here soon.

Installing CA_Plugin - The CA_Plugin consists of three files:

  • ca_icon.xpm
  • shelf_Aggregate.mel file
  • complexAggregates.mel

The icon file is an image file for the shelf, the shelf_Aggregate.mel file is a file that allows the tool to be easily called from the toolshelf, and the complexAggregates.mel file contains the plugin code. To install the plugin, you follow the standard file placement for icons and mel scripts for the icon and shelf. Place the files in the following folders:

C:\Documents and Settings\USER_NAME\My Documents\maya\2008\prefs\icons - ca_icon.xpm
C:\Documents and Settings\USER_NAME\My Documents\maya\2008\prefs\shelves - shelf_Aggregate.mel
C:\Documents and Settings\USER_NAME\My Documents\maya\2008\scripts - complexAggregates.mel

In addition, we want the complexAggregate code to be loaded on startup, so in the same folder, create or edit your userSetup.mel file to include the following line:

source "complexAggregates.mel";

The plugin should now load on startup and can be accessed via the toolbar icon. In addition you can call the aggregate command by typing in Aggregate() in the script editor.

Tool Description - The Complex Aggregate tool allows the artist to quickly generate a large scene at the click of a button. There are several constraints that the user can specify for the aggregate generation. The tool requires you to select two objects to be populated. The order is important as the first object clicked will be object one and the second object, object two for the percentage breakdown and suggested percentage as shown in the figure below. The objects are populated in a calculated square area around the two objects, with the center being at the point between the two objects. To help show where the objects will be placed, a plane is generated when the aggregate slider is moved, or when the checkboxes for the random rotations are selected.

Aggregate Options - The first section describes the max number of objects in the group as well as the maximum number of polygon faces allowed. In the event that you reach the max number of polygons first, the tool will stop populating the scene.

Ratio Adjustments - In the ratio adjustment section, the mesh resemblence bar is used to describe the geometric similarity between the two objects. As explained in the Siggraph paper, objects can be very similar, slightly similar, or not similar. This affects how the suggested percentage is calculated. The artist is then able to use either the specified ratio, or the suggested ratio for the objects. In addition, he or she can specify whether the objects should be randomly rotated as the scene is populated, and whether objects can overlap. THe aggregate density bar specifies the size of the bounding plane that is used when populating the aggregate. The larger the number, the larger the bounding plane, which increases the amount of space between objects.

Performance Evaluation - The third section is a performance evaluation section that provides feedback to the artist after the aggregate tool is finished populating.

Smooth / Reduce - This section allows the artist to quickly call Maya's reduce or smooth commands on the selected objects. These sections are here simply for convenience if the object needs to be smoothed or reduced before the aggregate function is used for population.

Aggregate - The Aggregate section is the button that calls the main agrgegate command. This takes all of the constraints and the selected objects and populates them into an aggregate group.

Using the Tool - The tool is very straightforward to use. Simply specify the desired constraints and two desired objects, and click the aggregate button. The tool will typicall take a few seconds to generate the scene, depending on the number of objects specified. Below is an example image of generating a complex aggregate scene with an adjusted ratio. The objects are of similar geometric shape, so the ratio can be adjusted while still maintaining a perceived appearance of a 1:1 ratio, even though the ratio leans more towards 2:1. Even if the adjusted ratio is not needed, the tool can still be used to quickly populate a scene.

Recommendated Usage - The tool is best used for aggregate groups where the two objects have a large disparity of polygons. A few recommendations for using this tool include:

  • Garden scenes with flowers and/or ferns
  • Forest scenes with different trees
  • Crowd scenes of people or objects
  • Parking lots of cars

Known Limitations - Here are some limitations of the tool:
  • The plugin populates objects in a 2D square plane area. This limits its use in the event that the artist needs to populate an aggregate group in a 3D space such as leaves on a tree.
  • In 2d space, the artist is limited to populating the scene in a square area. The objects can be manually moved if the aggregate needs to be placed in a different arrangement.

Back to Complex Aggregates Main Page | Back to Projects Page