AI.Paint Tutorial: Beasts vs. Romans
| An example of AI.paint workflow | |
| The AI.paint tool allows you to use Maya’s paint system to organize, create, position and modify large crowds of autonomous characters and other AI items. It is assumed that you are already familiar with basic Maya Paint concepts. Through AI.paint, groups or layers of characters may be painted on surfaces while aligning with the curvature of the surface. Paint groups or layers allow you to manage and modify regions of your crowd while leaving inactive layers untouched. Layers of characters may then be modified to achieve interesting results quickly. For example a layer of proxy characters may be painted with various settings for crowd density, position, orientation, scale, and group color assignment. AI.paint allows you to paint on autonomous characters, behaviors, and all other AI objects. All AI object attributes can be modified using paint with interactive visual feedback for thousands of characters. The color feedback enables you to see what your characters are doing during the simulation. Perhaps the health of a few hundred characters is in question and needs to be verified. Maybe the first wave of warriors running down a hillside does not look quite right so the velocity of the characters could be painted. With the ability to modify so many attributes easily and interactively many more iterations of tests can be performed for refinement. Additionally, AI.paint gives you the ability to create targeted behaviors for many characters at once. A first painted stroke becomes the source for the behavior and a second stroke the destination. Targeted behavioral motion can be more easily choreographed for many characters at once using this method. You can even use the duplicate AI tool beforehand to copy the logic from a complicated character to a hoard of simple proxy characters generated by paint, then paint-personalize the crowd to transform all of the cloned characters into individuals. The following example demonstrates how easy it is to create, distribute, organize, and personalize characters. |
|
| Create the terrain | |
| Create a terrain for your AI environment. To create the terrain: • Open the Terrain Options window in AI.implant>World>Create Terrain. |
![]() |
| • Apply the following settings: BioGraphic Technologies 7 o Width 375 o Height 375 o Width Subdivisions 32 o Height Subdivisions 32 • Click “Create”. |
![]() |
| • A 2d solver will be create automatically when the terrain is created . |
|
| • Modify the Y value of the points for the created plane to make the terrain a more interesting battleground. Be careful so as not to modify the X and Z value of the plane points since these X and Z component values are ignored by the solvermove |
|
now use the sculpt poly tools open the option window for it |
![]() |
| choose the "smooth" operation and check the "Y Axis" | ![]() |
| mine looked something like this you can change the cooler of terrain for better viewing and hit the save button before we go to the next step |
![]() |
Create the Roman Warriors Now its time to make the Roman Warriors |
![]() |
With the surface selected and the Select the Script Paint Tool Operation replace or add. You may wish to turn on group and align so proxy characters that are created are parented together and aligned to the curvature of the selected surface. To create proxy characters the option “proxy create/modify” must be selected. To increase the density of characters adjust the U and V grid size. If you wish to fill a surface with characters flood the surface. To remove some or all characters from a particular paint layer select “proxy: remove” and paint a region or flood the surface. The size and orientation can be modified at any time by selecting “proxy: modify” some control options enabled. The control options allow you to perturb attributes of the proxy characters. To color the group of roman warriors choose and “assign” vertex coloring. |
![]() |
| after using the brush , you should have something looks like this, if you notice in the outliner window you will have the "Roman" group and under it is the warriors | ![]() |
Create the roman worker group To create a second group of characters the roman workers repeat the steps from above Assign a different color to differentiate between the character Note : save the files with a different name |
![]() |
| Assign autonomous characters to each paint group | |
| open the AI paint again , making sure you have the terrain selected first | ![]() |
Select “AI: Create”. Note : Important make sure you have the group name and individual names are filled for the group you want to work with Flood the current layer to create autonomous characters for |
![]() |
you will notice that few objects have been added to the scene The objects are now Autonomous Characters, i.e. its translate and rotate attributes are driven by the AI solver. Repeat this operation for the other group of characters. you will end up with something like this , time to save again |
![]() |
| Paint modify the character’s vehicle parameters | |
Select “AI: Modify ACPM_AutonomousCharacter” and the attribute you wish to paint. You may wish to add replace scale flood etc these attributes.*Select the vertex color display before painting to display the attribute values. Note: |
|
| Make the roman warriors chase the workers | |
Note one behavior per stroke will be created. 2. Targeted behaviors are created in two strokes. Paint the source characters first then the destination character second.
|
![]() |
| Select “AI: Create SeekTo” then paint first the roman warrior | ![]() |
| start painting over the warriors | ![]() |
| keep the AI window open and then the choose the workers. | ![]() |
now start painting the workers
|
![]() |
| Make the workers flee the roman warriors | |
| 1. Select “AI: Create FleeFrom” then paint first the roman workers then the warriors. | |
Rendering |
|
This is the time to save with a different name cause we going to need that file for our next tutorial if you try to render it as is you will get some weird result good for laugh though , gut to get the render to look as the preview you need to bake the simulation, in the option window of the bake simulation command ,
|
![]() |
| make sure that all the warriors and the workers are selected, then use Hierarchy below | ![]() |
| Finally add some lights , some material to the Workers and the warriors and you should have something that might look like that | |