3D Modeling Using Autodesk Maya Eng
3D Modeling Using Autodesk Maya Eng
Ciril Bohak
- 2021 -
Lection 01
M aya - Introduction
Overview
1. User interface
2. Projects and files
3. Scene views
4. Objects and components
5. Primitives
6. Basic transformations and pivots
User interface
If you have not defined a project, your files will be stored in the folder documents_folder \ maya
\ projects \ default, where documents_folder is the system folder in which the documents of each
system user are located.
● M aya binary (.m b) the files contain a scene description in binary form. The description
includes objects, textures, animations, and some other details;
● M aya IFF (.iff) files are used to store rendered (bitmap) images. In addition to
information about the colors of individual pixels, the file can also store information about
depth, mask, or anything else;
● Skripte M EL (.m el) are text files in which the commands of the Maya MEL language are
written, with which we can supplement the functionalities offered by the user interface, and
so e.g. we generatively generate certain objects, algorithmically define the execution of
animations, etc. The same can be achieved with Python (.py) scripts.
Scene views
When modeling a scene, we mostly work in 3D space. Cameras with orthographic and perspective
view offer us various possibilities of insight into the scene.
• R otation - by pressing the [ALT] key and pressing the left mouse button [LMB], you can
rotate the camera around the vertical and horizontal axes.
• M ove (vertical and horizontal) – you can move the camera left / right and up / down
by pressing the [ALT] button and pressing the middle mouse button [MMB].
• Zoom ing – by pressing the [ALT] key and pressing the right mouse button [RMB], the
camera can be moved towards or away from the center of the scene. The same can be
achieved by using the mouse wheel [MW].
Object display
Individual objects can be displayed in the scene with varying accuracy. Use the [1], [2] and [3] keys
to switch between different ways of displaying models, from the roughest to the most accurate
(smoothed).
We can also change the way the object is displayed / shaded. Use [4] - [7] keys to toggle between:
Objects consist of components such as checkpoints, polygons, gripping points and the like. Objects
present in the scene can be viewed in the Outliner window (Window -> Outliner or select it in the
toolbar).
Manipulation mode
In Maya, you can interact with objects in two ways: in object mode or in component mode:
• C om ponent m ode - where the individual components of the object are also visible.
Depending on the type of geometry, the object can consist of various components (control
points, nodes / edges / surfaces, etc.). The figure shows the work with control points:
Switch between modes by pressing the [F8] key, selecting one of the
buttons in the status bar (where the first icon represents working
with objects and the second working with components), from the menu
accessible by clicking with [LMB] on the object and selecting the
appropriate components as shown in the figure to the right.
Nodes
Nodes are the basic building blocks in Maya operation. Nodes are groups of related attributes that
may be interconnected and / or interdependent. For example, the attributes that determine the
transformation of an object are grouped in a transformation node. The basic types of nodes are:
Dependency graph
It represents a collection of nodes that are interconnected. The dependency graph allows us to
identify and connect individual nodes. This graph can be viewed in the Hypergraph window
(Window -> Hypergraph).
Primitives
Primitives are prefabricated objects of commonly used shapes. Maya offers a range of basic objects
that can be used as a basis for further shaping. These primitives are, for example: sphere, cube,
cylinder, cone, plane, torus, circle, square (sqare),… Primitives can be of the NURBS type,
7 | FRI | 3D modeling using Autodesk Maya
polygonal or volumetric. More or less than those listed are available for each type of primitive.
Primitives can be created via menus: for NURBS primitives: Create-> NURBS Primitives->…, for
polygon primitives: Create-> Polygon Primitives->…, and for volumetric primitives: Create->
Volume Primitives->…
Before making a basic object, by selecting the square next the menu option, we can also determine
its basic parameters, such as: size, accuracy, number of components, etc.
Overview
7. NURBS curves
8. NURBS surfaces
9. Grouping objects
10. Wirking with components
11. Use of Revolve
12. Use of Loft
Example 1: Rocket
As the first example of working with Maya, we will make a simple
rocket.
First we create a new scene: File-> New Scene or the shortcut [Ctrl +
N] (on MacOS [Cmd + N]).
A new window will appear, in the middle of which the spatial grid is
Figure 1: Creating new scene.
displayed. The current view is perspective and allows us to view the
scene and the objects in it from all sides. You can change the view by pressing the [Space] key,
which shows us 4 views (front, side, top and perspective), return to the desired view by moving the
mouse over it and pressing the space bar again.
Rocket body
We will first create the rocket body. The goal is
to create a cylindrical body with a tip at the top
and an opening at the bottom.
Insert a few points so that you get a curve similar to the one in the picture.
If necessary, switch to component editing mode [F8] and move each point
to get the desired look.
Rocket engine
In the next step, we will create the exhaust of the rocket engine. Similar to the
construction of the body, we will use the revolve function here as well. The
procedure is the same, and the goal is to get a rocket shape similar to the one in
the picture on the right. We also change the name of this object to rocketExhaust.
We can now combine the body and exhaust of the rocket. Select the exhaust,
press the [W] key to activate move tool and move it so that it connects to the
rocket frame. The easiest way to move the exhaust is in the side view, as this is
the best way to see when it is in the correct position.
We can use the Channel Window to move objects more precisely, but if the
accuracy of the grid is sufficient, we can turn on the use of the grid (snap to grid)
with the button in the status bar. This allows us to place points only on the
grid.
We can see that after the shift, the curve we used to make the exhaust is still
visible, which is also shown in the picture on the right. In fact, there is also a
curve in the scene that we used to make the body. We can delete both curves
without any worries, as we no longer need them. This is done by selecting both
curves (several objects can be marked at the same time by holding down the [Shift] key and
clicking on all the desired objects) and deleting them using the [Delete] key.
First, mark both objects by clicking and holding [LMB] to the left above the rocket frame and
dragging the lower part of the rocket exhaust to the right, or by clicking [LMB] on one object first,
pressing and holding the [Shift] key, and then clicking with [LMB] to another subject.
Now select Edit-> Group from the menu or press the [Ctrl + G] keys. We notice that the whole
structure now turns green, which tells us that the object is highlighted, and a new name appears in
the channel window, namely group1. We will also change this name to something more friendly,
namely the rocketBase.
If we now click somewhere outside the rocket and then click [LMB] again somewhere on the rocket,
we would expect the rocketBase group to be selected, but this will not happen. If we click on
rocketExhaust or rocketBody, only the component we clicked on will be selected, which is contrary
to what we talked about in the groups. It is important to be aware that by linking an object into a
group, individual objects from this group do not lose the opportunity to select them individually
and assign them only their specific properties.
Maya applies the principle of hierarchy, the group rocketBase is the parent of the objects
rocketExhaust and rocketFrame, which are descendants of the group rocketBase. The objects of the
rocketExhaust and rocketBody are siblings.
When we have one of the siblings, we can access the parent by pressing the [Up] arrow, on the
contrary, we can access the sons with the [Down] arrow. The siblings are accessed with the [Left]
arrow or the [Right] arrow.
Creating flaps
The rocket flaps will be made with the help of flattened cones, which will be further reshaped.
First, we move the current model of the rocket from the coordinate
starting point so that we can create one instance of the flap in it. From the
menu, select Create-> NURBS Primitives-> Cone □ (click on the box
when selecting). This allows us to define the basic properties of the cone.
Define the properties:
• Axis: Y
• Radius: 1.5
• Height: 3
This, of course, is not yet a flap, as it should be slightly twisted, smaller and
flattened. Rotate it 120º around the x-axis in the Channel Window. Then
flatten it by scaling it in the same direction to 1/5 of the original value by
entering the value 0.2 in the Channel Window under the ScaleX attribute. The
flaps are slightly reduced in the y and z directions to a value of 0.75.
The wing is moved into the rocket so that the cone shell partially extends from
the rocket and the bottom is completely hidden as shown in the figure.
We want to make 5 more flaps and distribute them evenly around the rocket's hull. We will do this
by using the duplicate tool, which allows us to multiply the desired object as many times as we
like. With additional settings, we can achieve a special behavior of the duplication function, which
allows you to place duplicates in the desired places.
Pivots
Before we start duplicating objects, let's look at where the pivots of individual objects are located.
As already mentioned, pivot points are reference points around which transformations operate.
Duplicating flaps
In order to make the flaps as elegant as possible with as little extra
work as possible, we will multiply one flap we already have 5 times and
rotate it 60º za around the center of the rocket each time.
Make sure that the flap is still selected and select Edit-> Duplicate Special □ from
the menu. In the second column of the Rotate row, enter the value 60 (the second
column represents the rotation around the y axis). Enter a value of 5 in the
Number of Copies field and press the Apply button. As a result, we get 5 new flaps
in the appropriate places.
For the end, all we have to do is mark all the objects together, make a new rocket group and save
the scene by selecting from the File-> Save menu.
Framework
As with a rocket, in the case of a boat, you could first create a framework using a revolve tool.
When setting the tool, you would set the curve to rotate only 180º. Instead, we will learn how to
edit components.
For the axis, we will use half of the cone, which is created by selecting Create-> NURBS
Primitives-> Cone □ from the menu. We determine the following properties:
• axis: z
• end sweep angle: 180 (s tem bomo dobili samo polovico stožca)
• radius: 1
• height: 2
• number of sections: 8
• number of spans: 4
• caps: bottom
• select also Extra transform on Caps
If we look at the cone more closely, we see that it consists of several sections, in the horizontal
direction of eight, and in the vertical direction of four, which corresponds to the settings of the
creation tool.
These settings have not been important to us so far, but they are very important in modeling, as
each intersection of the two green lines in the image means one point that can be moved manually
and thus change the entire object. We will see how this is used below.
First, we will rework our cone a bit more. In the Channel Window, we will transform it by entering
0.5 in the Scale X window, 0.75 in the Scale Y window and 1.5 in Scale Z. With this, we shrunk
our boat, reduced its depth and lengthened it.
Now, however, we will manually change the cone to make it more like the hull of a boat. First,
change the view to Side View.
When moving the control points, care must be taken to always select the points with the mouse by
pressing and holding [LMB] to the left-above of the selected point and dragging to the right-bottom
position, relative to the point. We will call this a marquee choice in the future. We have to choose
points in this way because we have to take into account that we are looking at the object from the
side, which means that there are parallel points on the opposite (invisible) side, which we also
select and move in this way to ensure symmetry.
We will now change the view to the top and widen our boat a bit, giving it
its final shape. As with editing from the page, here we select the points and
move them so that we get an image similar to the image on the right.
When finished, turn off component editing with the [F8] key.
If we look at the boat in perspective, we see that the product is already quite
realistic, but we must add to the object the thickness of the material with
which it is made.
We will first duplicate the already made frame, reduce it and fill the holes
between the two objects, which will give us the feeling that the object is made
of real material, such as iron or wood, and not of a very thin one, such as e.g. paper.
Highlight our framework and select Edit-> Duplicate Special iz from the menu. If you remember
the first example - rockets, you know that we have already used the duplicate function and that we
have set some special properties for it. Maya has this property of remembering these settings until
we change them.
Loft
Now all we have to do is connect the inside and outside of the boat. We will do this using the Loft
function. To connect surfaces with the loft tool, we need to mark the edge curves of each surface.
This is achieved by clicking on [RMB] on each shell and selecting isoparm. The mesh of both shells
will thus turn blue. In this mode, you can select the edge curves you want to connect by clicking
and the [Shift] key. When selected, they turn yellow. Then select Surfaces-> Loft from the menu.
A new surface is created that connects the marked curves. If the surface is dark it is turned upside
down and we have to turn it in the same way as we described above. Repeat this process for all
missing surfaces.
The image below shows the sequence of steps and then the final product.
Povzetek
1. Polygons
2. Edges
3. Vertices
4. Extrude
5. Create polygon
6. Mesh smooth
Unlike modeling with curves and surfaces, modeling with mesh geometry was developed for
completely different purposes, as mesh geometry has limited accuracy in depicting curved surfaces.
Of course, by adding details, we can increase the accuracy as we wish, but this is not the basic
purpose of the technique. The basic components of a grid geometry are: vertices, edges, and faces,
which are usually composed of polygons.
Why Polygons?
As mentioned in the previous chapter, the main reason for their use is their high prevalence and
consequent adaptation of both software and hardware. Last but not least, graphics cards are highly
optimized just for drawing 3D geometry represented by polygons.
A very positive feature is the compactness of the presentation. More complex 3D geometry can be
designed from polygons by using a larger number of polygons in places where we want more detail,
but where there is no such need, we can use a smaller number of polygons.
They are also very convenient due to the fact that it is very easy to "glue" textures to polygons -
images that represent a more detailed structure of objects and also determine their color and
appearance. Over the years, many techniques have also developed that allow us to add additional
virtual details to otherwise roughly defined 3D models (e.g., using bumps, offsets, normal
mapping). There are still many advantages, but we will get to know only a small selection of them
during the workshop.
As a starting primitive, it makes the most sense to choose the primitive that best represents the
shape and properties of the desired final product. To make a face, we can start with a cube or a
sphere (both are a good starting point), for elongated objects it is usually best to choose a cylinder
or an elongated square, etc.
18 | FRI | 3D modeling using Autodesk Maya
Example 1: Space ship
We will learn the basics of modeling through modeling a simple space ship where we will take a
cube as a basis. The cube basically consists of 6 faces, 12 edges and 8 nodes.
Polygons
While the rocket in the first lesson consisted of a multitude of curves and surfaces, we will use
polygons made up of triangles to model the spaceship. The reason for this lies in the suitability of
such a geometry for real-time rendering, as the hardware is strongly adapted to the processing of
the geometry thus defined.
Modeling
To begin, we will create a new polygon cube Create -> Polygon
Primitives -> Cube. If we have not changed the basic properties of the
tool, a cube with an edge of 1 unit will appear in the center of the scene
as shown in the image on the right.
The basic form of network geometry can be transformed by arranging the components. But before
we get into that, let’s show how we can model with grid geometry with some of the tools Maya
offers.
Extrue
The most common tool used in polygon modeling is extrude. With this tool, a marked polygon or
several polygons can be extracted from the model in the direction of its normal and thus create
new faces in geometry. The Extraction Example tool is shown in the figure below.
Then do the extension of the central front cheek three times and reduce the back slightly in the
devh directions. Mark the lychees with the nose pulled out, trigger the pull-out and reduce them
slightly. With the next pull of both faces, we deepen them into the interior of the ship. This added
openings for air intake during flight in the atmosphere. We also pull out the cockpit.
We also add the tail wing, which is pulled out of the rear upper part of the torso, where the first
pull-out first reduces the face, and the second pull-out pulls out the tail wing, which narrows at the
top and moves back. In the last step, we add the drive opening of the main engine, which is made
in the same way as the air intake openings.
Our spaceship is extremely angular. To get a slightly more realistic look, it needs to be smoothed.
To see a preview of the smoothed model, we can use the already known functionality of Maya,
In doing so, we must be aware that we did not actually smooth the grid geometry, which we must
also perform before the desired final rendering.
Smooting
Mesh Smooth is a process of more detailed division of
the mesh geometry, which divides the individual face
of our network into several faces, placing the
intermediate nodes in such positions that the shape of
the model is smoothed. In Maya, linear and
exponential smoothing is available, and we can set a
number of parameters for each. If you select Mesh ->
Smooth □ v from the menu, you can choose between
smoothing settings. By default, Maya smoothes with
the exponential method with 3-fold cheek splitting.
The final look for our spaceship is shown in the image
to the right.
Example 2: Squid
Polygon modeling is also often used in modeling organic things, as the user has control over how
the shapes will adapt to other things, where they will be more and where less detailed, and what
similarities we will add.
Switch to the detailed display mode with the [3] key. By adding new edge loops and evenly
enlarging / reducing the entire edge loops in the top and side view, we finish the desired shape.
Add a few more loop loops and move the appropriate knots to form the squid head as well.
We continue to make tentacles. Squids have 8 tentacles, of which 6 shorter and 2 longer. We will
use a pull-out tool several times to make the tentacles. First, we select 6 faces for pulling out
shorter tentacles, where we then reach the approximately desired result by pulling out, scaling and
rotating. Repeat the process to make two longer tentacles.
Let's work on longer tentacles a bit more to get a characteristically widened part at the end. By
arranging the vertices at the front, we add the fins. With the extraction, add the characteristic
jaws.
LEGO figure
Based on the presented techniques, make a LEGO little man as shown in the pictures below.
Overview
13. Grouping geometry
14. Editing geometry
15. Deformers
16. Live geometry
Real-world objects often consist of simpler basic forms, or at least parts of objects take on more
basic forms. Thus, we can also help ourselves in modeling by combining simpler shapes in the
production of more complex shapes. Therefore we can use different tools to combine geometry.
Original objects Union Box without spehere Sphere without box Intersection
Editing geometry
In the previous part, we learned about some basic tools for editing geometry, and here we will
present some more tools that often come in handy.
Chamfer
Chamfer is a tool that cuts off a corner and replaces it
with new corners moved along the connected edges. The
operation is shown in the figure on the right.
Merging vertices
In Maya, we also have some tools for combining corners. The most commonly used:
- merge, available in the Edit Mesh -> Merge menu, which combines selected vertices that
are closer to the prescribed threshold. The threshold is set in the tool settings.
- merge to center, available in the Edit Mesh -> Merge to Center menu, which merges the
selected nodes into their center of gravity.
- collapse, available in the Edit Mesh -> Collapse menu, which collapses the marked edges or
faces in the vertex.
Deformers are merely modifications over objects and therefore do not change their functioning
mesh geometry irreversibly. For this reason, it is also important that if we want to preserve their
function, we pay attention to how we transform the geometry.
To do this, select the object and then select Edit -> Delete by Type -> History from the menu.
Example 1: Teacup
With the tools presented above, we can very easily create a cup from two cylinders as shown in the
picture below:
- one cylinder is used to make the main part, where by adding edge loops we increase the
desired shape accuracy and by moving and scaling the corners we achieve the desired shape
of the main part;
- the second cylinder is used to make the handle.
- Bend the cylinder, wipe its caps and bring it closer to the main part.
- The cylinder is combined with the combine function.
- With the chamfer function, add the required number of corners to connect the nets at both
ends of the handles in the appropriate places.
- With the merge to center function, we combine the corresponding pairs of nodes and thus
connect both parts of the geometry.
Example 3: Goose
We often use modeling to help us with approximate models, which represent the approximate
shape of our final model. We can also create such an auxiliary framework by rendering basic
primitives.
In our case, we depicted the basic shape of the goose head with a few spheres to which we adjusted
the size and stretched / shrunk them along each axis to fit the auxiliary sketches. The smaller the
objects we use, the more accurate the framework can be established.
In this mode, the mouse automatically sticks to the live object when creating a new geometry, so
we can create new faces on its surface. We create new faces with the Mesh Tools -> Create
Polygon tool. It is best to create quads and triangles. We must be careful to create them
counterclockwise, otherwise the faces are turned inside out.
We create faces next to each other. Once we have created the desired amount, we combine them
with the combine tool, erase their history, and then connect them in the appropriate corners using
the merge and merge to center tools.
The final shape is obtained by adapting this grid in detail to the sketches and, if necessary, adding
/ subtracting new nodes.
Overview
17. Materials
18. Textures
19. Lights
20. Camera
21. Rendering
22. Post-processing
The process of calculating an image showing our 3D scene is called rendering. In order to be able to
calculate such an image, we have to assign materials to individual objects in our scene, place lights
in the scene that will illuminate the objects, prepare a camera that will define the view of the
scene, determine any special effects and finally trigger the rendering.
Materials
The appearance of objects in a scene depends most on what material the object is made of. In
Maya, we have a collection of pre-prepared materials that we can use and adapt to our needs.
Materials differ from each other in the way light is reflected. The most basic among them are:
• Lambert material, used for matte surfaces (unpolished surfaces, chalk, etc.),
• Blinn material, suitable for metal surfaces, and
• Phong material, which is suitable for glass and polished plastic surfaces.
In addition to the basic materials, there are many other materials available in Maya (with the
Arnold renderer).
We create new material by selecting the base from the left list. This creates a new material in the
scene, which we will be able to assign to the objects, and at the same time this material and its
composition are displayed in the central window. We adapt the material to the object in the scene
by dragging it from the list above in the Hypershade window with the middle mouse button.
• Color – determines the base color of the material. Left-clicking on the color field opens a
color selection window. With the slider, you can change the brightness of the selected color.
• Transparency – determines the transparency of the material. Use the slider to change the
intensity of transparency. By changing the color field, you can change the default white
transparency (the material is transparent to all colors) to color transparency (the material
is transparent to the selected color).
• Ambient Color – determines the ambient color, which is present even without external
lighting.
• Incandescence – determines the color and intensity of the light emitted by the material (it
does not illuminate other objects).
• Diffuse – determines how strongly the material scatters light.
• Specular Color – determines the color of the mirrored reflection.
• Reflectivity – determines the reflectivity of the material.
• Reflected color – determines the color of the reflection.
1. Add and adjust the material in the scene you want to add a texture to.
2. In the left part of the Hypershade panel inside the Create section (in the Textures folder)
with the middle mouse button click on the desired texture and drag it to the material on
which you will paste the texture (the material is visible on the desktop in the right part of
the Hypershade panel). When we drop the texture on the material, we have to determine
which attribute of the material (color, transparency ...) will be associated with the texture.
3. In the attribute editor, we process the texture according to our requirements.
Lights
Much like it is in the real world, the lights in Maya are needed to illuminate the scene. Maya
knows some basic types of lights that we can use in our work. The basic types of lights are:
• Ambient Light – radiates in two ways: some light radiates evenly in all directions from the
position of the light in the room, and some light radiates in all directions from all
directions.
• Directional Light – strains evenly in one direction only, so that the rays are parallel to each
other, as in the case of a very distant source of light (for example, sunlight).
• Point Light – strain evenly in all directions from the position of the light in the room (for
example, candle light).
• Spot Light – strain evenly in limited directions (cone) from the position of the light in the
room (for example, the headlight light).
Adjusting lights
After we add a light to the scene, we adjust it according to our needs. We process the light by
changing the corresponding attributes that define it (similar to the material) using the attribute
editor.
The most important common attributes that determine the properties of a light are:
Rendering
Creating an image is the final stage in rendering. Based on the layout of the model, materials,
textures, lights, cameras and special effects in the scene, an image or several images of the scene
are created (calculated). Before we start creating the image, we can change the default settings of
the parameters when creating the image (resolution, quality, ...). The image creation parameters
are viewed and set in the Windows -> Render Settings window. It is used to review and set the
parameters that determine the production (calculation) of the image. The window contains a large
number of parameters, such as image name, image format, resolution, image quality and others,
which can be changed and thus affect the calculation of the image.
• Image File Output -> Camera – specifies the active camera for the image.
• Resolution -> Width – defines image width.
• Resolution -> Height – defines image height.
• Raytracing Quality -> Raytracing – include ray tracing calculation mode.
You can create an image and view it in the window Windows -> Render View.
Render View
We use it to create and view created images. The image will be created according to the current
rendering settings. The rendering process is started by clicking on . We can create only a part
of the image by first selecting the part we are interested in with the mouse in the Render View
window, and then clicking on to start the image creation process. Outside the part we marked, the
previous image remains unchanged (useful for comparison).
The default camera when making an image is the one that corresponds to the perspective view of
the scene.
Overview
23. Keyframes
24. Animation curves
25. Animation with deformers
26. Animation with constraints
Animation is a process in which we manipulate / transform / move objects and thus achieve the
feeling that they are moving. Animation dates back to the 19th century and has been constantly
evolving since then. 3D animation has its beginnings in the 1940s, and since the 1970s it has
regularly appeared as an important part of the film industry. Since then, however, animation has
appeared in a variety of environments for a variety of purposes.
Basics
Keyframes
Animation using keyframes is done by placing / transforming the object into the desired position at
the desired time points. During such positions, the animation frameworks can then create the
animation themselves, which can then be further corrected using animation curves.
The keyframe determines (fixes) the values of the selected attributes at some point in time.
Attribute values at keyless intervals are calculated automatically. Place the key frame in the
properties window on the right side of the screen or in the Animate -> Set Key menu (red bars are
drawn on the timeline at the bottom of the screen for each set key point). The keyboard shortcut is
the [S] key.
You can set animation keyframes for almost any object attribute (not just position, rotation, and
resizing). If you right-click on the name of a parameter (e.g., color material), you can select Set key
in the menu to set the key frame for this parameter.
Animation Curves
Based on the set key frames, Maya calculates the animation curves for the animated attributes.
These curves can be corrected in the Graph Editor (Window -> Animation Editors -> Graph
Editor). Keyframes and tangents are selected with the left mouse button and moved with the
middle mouse button.
Modeling fish
Before we get acquainted with more advanced animation concepts, let's build a 3D model of a
simple fish, which will serve as a basis for working with deformers and constraints.
We will use a ball as a fish, the shape of which we will change. We will change the ball into a fish
by directly transforming the control points, which are the basis of the ball (this method differs
from changing the shape of the body by using deformers, which transform the body control points
only indirectly).
A fish in a horizontal position will be much easier to shape if the sphere has a polar axis in a
horizontal position. Since the default orientation of this axis is vertical, we need to change the
appropriate parameter to construct the sphere. Place the ball on the scene with
With deformers we can change the shape of any object, the structure of which is defined by control
points. These are NURBS curves, NURBS plots, polygon plots and lattices. Maya contains several
types of deformers. Some of them are, for example:
• Lattice: allows free deformations based on the deformation network on the object;
• Cluster: allows the transformation of control points with different impact;
• Nonlinear deformers: allow bending, twisting, wave, ...
objects;
Deformer animation
The next step is to animate the deformer. This ensures that the curvature of the fish due to the
influence of the sinus deformer will change over time. The parameter of the sinusoidal deformer,
which in our case needs to be changed over time, is the Offset parameter. As a result, the impact of
the deformer and therefore the shape of the fish will change.
In the time window, we place ourselves on the thumbnail 0 (most likely we are already there). In
the Attribute Editor window, set the value of the Offset = 0 and set a keyframe for this parameter.
Then, in the time window, place one of the later frames (for example, frame 39), change the value
of the parameter Offset = -2, and set the key frame for this parameter again. It makes sense that
the absolute value of the Offset parameter in the second case is equal to the Wavelength parameter,
as this way the curvature of the fish returns to the initial position.
First, we create a curve that represents the path. This is done with the curve tool obtained with
the Create EP Curve Tool menu selection. Subsequently, the curve can be further corrected by
transforming the control points.
The fish then needs to be pinned to the path curve. In fact, a sinus deformer also needs to be
attached along with the fish in order to maintain the impact and periodically bend the fish.
Therefore, it is best to group the fish and the deformer first (highlight the fish and the deformer
and select Edit -> Group in the menu). Now attach the created group to the curve by first selecting
the group then the curve and selecting Animate -> Paths -> Attach to Path in the menu. If we start
the animation now, we notice that the whole fish moves along a defined path of movement and at
the same time bends in accordance with the sinusoidal deformer. However, it is necessary to correct
the orientation of the fish so that it is always directed with the head in the direction of the current
movement. This can be done by changing the parameters Follow = on, Front Axis = Z, Up Axis =
Y and Inverse Front = On with the attribute editor of the motionPath1 node.
We will follow the moving fish with a new camera, which we create with the menu selection Create
-> Cameras -> Camera. This camera will not be static, but will follow the movement of the fish
along its path with the direction of the body. We will apply the orientation limit.
Orientation restriction is achieved by selecting a group with a fish and a deformer, and then a
camera (the last object that will be restricted must be selected). Once we have such selected items,
we create a constraint with the Constrain -> Aim menu selection. Finally, the orientation of the
camera needs to be corrected. To do this, correct the Aim Vector parameter to (0,0, -1) in the node
that represents the camera constraint (probably called camera1_aimConstraint1) with the
attribute editor.
You can use the IGES or STL format to download from the SolidWorks environment. Details for
exporting IGES format models from the SolidWorks environment can be found in the original
script for the RPO I object.
If you do not need to open the exported models in Maya then turn off the Export 3D Curve
features option when exporting to IGES format.
3D models in the Maya era are represented either by mesh geometry or by surfaces. Working with
them is the same as we have already met.