You are on page 1of 281

Education Center - IMVU Creator

< Return to IMVU

create manage information Welcome, LadyNatulcien

Welcome, LadyNatulcien
since: 2007-07-02 5,650 credits
Last on: 2008-11-06 0 promo credits
15 dev tokens

search tutorials
The Basics

What is a derivation? How do you


Education Center
earn credits? If you don't know the
answer to these questions then you
Creating need to learn the Basics.

Getting Started The tutorials in this section will begin


The Basics to answer many of the questions new
Creators have as they get started.
Stickers
Textures To learn more, go to
Furniture The Basics Introduction

Rooms
Avatar Body Parts
Accessories
Avatar Actions
Previewer

Learning
Merchandising
Promotional Bundles
Showing results: 1-10 out of 20 tutorials 1 2 >
Other Tools
Intro to Animation Working with the Camera
by: IMVU inc. by: IMVU inc.
Animation Introduction Let's face it, nothing Working with the Camera When you are
adds life to a product better than if it moves or creating a Room for IMVU, you will need to
triggers movement in the avatars that interact include a 3D Camera before exporting. The

Animating in 3DS MAX Animation Looping


by: IMVU inc. by: IMVU inc.
Animating in 3D MAX IMVU uses a program Animation Looping An animation that begins
called 3D Studio MAX to build all of its 3D and ends on the same frame is called a 'loop'.
assets. MAX is a great tool not only for building Looped animations are used EVERYWHERE in

Bone Parenting Exporting Morph - .xpf


by: IMVU inc. by: IMVU inc.
Bone Parenting If you want boneA in a skeleton Exporting Morph Animations - .XPF A morph
to move when boneB is animated, then you animation is defined as an animation that is
want boneA to be 'parented' to boneB. Its Easy driven by morph targets (mesh shape changes)

Morph Targets Locking Pos Ori


by: IMVU inc. by: IMVU inc.
Morph Targets What is a Morph Target, Locking Position and Orientation Sometimes,
anyway? The Free Dictionary tells us that an animation calls for a bit more control than
"Morph Target Animation (or per-vertex what you normally find in the base MAX files

Basics of Good Design Weighting in Physique


by: IMVU inc. by: IMVU inc.
Basics of Good Design Here are some basic Weighting in Physique A mesh does not know
rules to creating a quality 3D product for use in how to move with a skeleton unless the
IMVU. Some of these may not be as obvious as vertices of that mesh are 'weighted' to a bone in
1 2 >

1 of 2
Here are some basic rules to creating a quality 3D product for use in IMVU. Some of these may not be as obvious as
others, but all are worth keeping in mind as you design your unique products for the IMVU Catalog. In the end we hope
these tips will not only make your products look and run better, but help them sell more successfully as well.

Be Frugal with Your Polys


One of the realities of building 3D products for use in a virtual world
is that the more polygons visible to the camera, the more work your
computer needs to do to render that world for your customers. If
you create a new hairstyle that is made up of 20,000 polygons, it
may look realistic, but it is bound to slow down any party just as
soon as you appear in their Public Room. The trick is to find ways
to do more with less, which is a challenge facing many game
designers today.

When you are building your 3D Mesh, the poly count can add up
very quickly if you are not forever vigilant. Two places that are
especially susceptible to lots of polys are curved surfaces, like
those found in cylinders and spheres. 3D applications offer lots of
primitive shapes, and these are sometimes built with many more
polygons than you actually need. Your secret weapon for making
your low poly models look smooth are Smoothing Groups. As you
can see in this example, having a complex mesh isn't always
necessary if you have Smoothing Groups applied correctly. The
telltale sign that you have a low poly mesh can be seen along the
edge of the circular top of the cylinder, but we have to chalk that up
to a necessary evil of working in 3D for online virtual worlds... at
least for now.

Create Quality Textures


Creating textures for your 3D products can be the most time consuming of all the steps in the building of your 3D
product. Since so much depends on the quality of your textures, it is good to spend a little extra time to get it right.
There are several pitfalls to avoid while texturing your products, so here are some hints to help you make sure that
your products look their very best.
Avoid Using Photographic Textures
Trust me, I know how tempting it is to do a Google search for
some cool texture and slap it onto my 3D Mesh, but I have
learned over time that the quick solution is seldom the best.
Finding a photograph of a material you wish to add to your
model can come with artifacts that will make your product look
amateurish. Photos tend to have higher contrast and shadows
that can contradict the illusion you are trying to achieve. In this
example you can see that the stones appear to be casting
shadows in several different directions. The stones also
suggest depth that is not apparent at the edges of the cube,
making it look like nothing more than a block with a photo
pasted on it, and not an object made of stones.

Minimize Contrast
This doesn't mean that I don't use photographs periodically. If I do find something I like, I will usually do a lot of work on
it to reduce or illuminate harsh shadows, and strong contrasts. Creating convincing 3D models depends on a balance
between suggested dimensionality and the actual 3D details already built into your model. Dramatic differences in the
value of surface textures can draw attention to repeats in a tiled texture, especially when used on large areas like floors
and walls. All of the above textures originally started as photographs, but were adjusted extensively in Photoshop to
make them work better on my 3D models.
Tiling Textures
Creating tiled textures is an art form unto itself, and a poorly tiled texture can really draw attention to itself. This is
another danger of using unedited photographs for your textures. In the above examples you can see how obvious
the tiling appears in the unedited photograph reference (top), compared to the texture created completely in
Photoshop (below). This noticeable tiling effect is especially obvious when used to represent things like water and
terrain. No matter how careful you are there is always the danger that with enough distance you will start to see a
pattern appear, like a floral print pattern on fabric, so be careful as you work to avoid too many contrasting
elements on each texture tile, or they will become all the more obvious when your texture is repeated.

Keep Textures Small


If you want more detail in your textures you just make them really big... right?

Actually, that is not necessarily true. Although applying large textures to your models will add some more detail, like
adding a ton of polygons it can greatly slow down how your product is rendered in the IMVU Client window. To
remedy this IMVU force compresses large files as part of the product Submissions process. This means that although
your product might look great in the Previewer, you have no control over the quality of the compression of your
oversize textures once you Submit it. We recommend you avoid making textures any larger than 512 x 512 pixels,
and think selectively about how you are going to use your textures. It would be silly to use a 512 x 512 texture on a
bracelet, but it might be perfectly appropriate if it is going to represent a giant door in your castle room. Also, keep in
mind the distance the 3D camera will be from your textured object. If you are creating a chandelier to hang from the
ceiling, the camera will always be far away enough that a very highly detailed texture will not be necessary.
There is no reason this metal floor texture needs to be this big. By reducing it even twice, I
retail a lot of the detail, and speed up the rendering of my model in the IMVU Client window.

Get More Out of Fewer Textures

The fewer textures you use will also greatly speed up how your
product is rendered in IMVU. When possible try to create textures
that have multiple uses. In the above example I have used elements
from the same texture all over these models. By ganging up
reuseable bits within one texture you can get away with more
complexity without slowing down the process to render it.

This technique is most often used in the creation of textures for both avatars and pets, but there is no reason you
couldn't apply it to your Furniture and Room models as well.
Advertising Your Wares

Taking Good Screenshots


The Catalog is filled with product shots
taken inside the empty Previewer default
room. If you really wish to sell your 3D
creations, try to find a good environment to
photograph them in. Look at the way
catalogs for real world products present their
wares and see if you can us some of these
same techniques in the virtual world.
Remember that you aren't just selling an
object or outfit, you are selling the Story that
goes along with it. Where would this look
best? What does this item say about the
purchaser?

Model Your Outfits


Your Avatar outfits and accessories will always look better
when placed in a dynamic setting that compliments your
designs in both color and mood. Finding complementary
Poses and exciting backdrops, either 2D graphics or 3D
environments, will greatly enhance your products.
Searching through real world fashion magazines can also
inspire you with their use of color and environment to set off
the products they are selling.

Avoid Jagged Edges


Depending on your video card settings or IMVU rendering options, you may
be seeing Aliased (or jagged) edges on your screenshots of avatars and
objects in IMVU. To create smooth edges, and greatly enhance the
appearance of your screenshots, be sure that your 3D card is set to Anti-
Alias, and your IMVU settings to Accelerated Graphics, for OpenGL or
Direct3D.

Jagged Aliased edges are an artifact of older computer games and can
make your work look dated. Whenever possible take advantage of what
your computer can do to make your products look their best.
These are just a few of the many ways you can enhance the quality of your product designs and how you promote them.
Each of these topics could warrant their own tutorials, and many already have. We encourage you to search through the
Tutorials section of the Content Creator site and look for more helpful tips for how to improve your IMVU product
offerings.

Like anything worth doing, building and selling virtual products for IMVU can be challenging. There are several levels of
difficulty that you may encounter, each depending on the product you wish to create, and the software and experience
you currently have.

Stickers
Creating a Sticker for IMVU is probably the simplest category and a good place to start. Stickers are 2D graphic
images that can be created using 2D image manipulation software like Adobe Photoshop, or Adobe Photoshop
Elements. You will need to understand how to create and save a file in .JPG format, or if you intend for your Sticker
to contain transparencies or a “cut-out” edge, then the .PNG format.

For more information on Sticker Creation, check out the Introduction to Stickers tutorial

Texture Swapping
The next opportunity for original product creation is through Deriving and swapping the textures on a pre-existing 3D
Mesh. To do this you will also need to have an application like Photoshop to create 2D textures that will be reapplied to
an existing mesh. Second to Sticker creation, Texture Swapping is the most popular method of creating an IMVU
product and the perfect introduction to working in 3D. You will learn from experience how your flat, 2D textures “wrap”
around the 3D models and be able to jump in and out of the Previewer to adjust and fine tune your creation. You will
also find it helpful to learn how Layers work in Photoshop so that you can build master .PSD versions of your textures,
allowing you infinite control for future adjustments.

For more information on Texture Swapping, check out the Introduction to Textures tutorial
3D Furniture & Rooms
The next level of complexity comes as you jump into the world of 3D Mesh building. Currently IMVU only “officially”
supports the use of 3D Studio Max 7 for the building and exporting of 3D meshes to the IMVU Previewer. We are
currently working to broaden our list of supported applications, and some Developers have had luck with Blender to
create their 3D models. 3D Mesh building can have a steep learning curve, but you are rewarded with each level of
complexity you master. You will need to be able to build a 3D Mesh, Texture, Link, Skin, and Export your model and
have an basic knowledge of how 3D application work with external files. You will also need to become familiar with
IMVU's very specific “production path” which insists that certain naming conventions are followed for your product to
work in the IMVU Previewer and Client.

For more information on building 3D Meshes, check out the Introductions to Furniture and Room tutorials

Avatar & Avatar Accessories


The most complex aspect of the IMVU Developer process involves the creation of 3D elements that are either added
to or replace the IMVU Avatar. To be successful you will need an Intermediate to Advanced knowledge of your 3D
application, including all of the above mentioned 2D skills. You will need to understand animating in 3D, Character
Rigging, Physique Skinning, and Morph Animation. Working with the Avatar gives you control over the very
foundation of the IMVU product, so there are a lot of reason to wish to learn these more advanced skills. We advise
you enter this type of product creation with caution, but we also want you to know we are thrill to see your new
interpretations of what an IMVU Avatar can be.

For more information on building unique Avatars & Avatar Accessories, check out Introduction to Avatar Actions,
Introduction to Avatar Accessories, and Introduction to the Avatar Head.

For more information on the specifics of creating products for IMVU, be sure to search through our wealth of Creator
Tutorials.
We get a lot of messages from developers who wish to branch out beyond 2D texture swapping and move into creating
their own 3D models. Most of this correspondence centers around the frustration felt when first opening a 3D application
and facing the daunting learning curve that is necessary to make the jump from 2D to 3D. Although it would be
impossible to give you a full lesson in 3D modeling, I can attempt to demystify some of the basic principles involved and
maybe dispel some of that initial fear.
* For those of you "meshers" out there that are already experienced 3D model builders, you will find this
stuff pretty basic, but we would love your input if you see any areas I should elaborate on, or have missed
entirely. It is also worth noting that we are using 3D Studio Max to illustrate these initial principles of 3D
design, you will find other application unique, but not completely dissimilar.
An Introduction to 3D Modeling - Don't Panic!

Okay, before we start I would like to get out into the open a dirty little secret about 3D
modeling. It is my opinion that although 3D applications, like 3D Max and Maya are
powerful tools, they have made no real attempt to make their applications intuitive or easy
to use. These are complex tools that have been built on simpler, earlier incarnations and
their evolution has added depth to appeal to a wide range of power users, from the gaming
to the entertainment industries. These applications can do amazing things and even
veteran users of these programs find themselves discovering new depths and shortcuts to
getting their work done. If you have experience using Photoshop you know what it is like to
have used the program for years and be introduced to a new trick that would have probably
saved you weeks of your life if you had just known it years ago.

Although I know that the designers of these programs are doing their best to create these
deep applications, I have to wonder if they actually use them on a daily basis. As an
example, to import a Bitmap image into 3D Max to use as a texture to apply to a mesh, I
have to click a button that has no label or icon on it. The only conclusion I can come to is
that whoever decided to design a button with no label on it (to do something as important
as importing a texture) must secretly hate me. Still, in their defense, all good things take
work to understand, and one of the realities of modeling in 3D is that you have to learn the
obscure language used by the software engineers responsible for creating these
applications.

Viewports - The windows into the 3D world


The Basics:

Most 3D software gives you the default option of viewing your models from various viewpoints at the same
time. In the case of 3D Studio Max, this means you will see the front, top, left, and perspective views of
your modeling environment as soon as you open the application. In Max, these are called "Viewports".
Axis
In the 2D world of programs like Photoshop, we
are dealing with the two dimensions of Up and
Down (Z), and Side-to-Side (X)... but in 3D we
have a third dimension to work with, the "Y" axis,
Back-to-Front. This is frequently represented by a
graphic like the one depicted here, indicating each
of these directions, depending on the view you are
currently working within.

"The Gizmo"
To make the act of manipulating your mesh in this
3D space easier, both Max and Maya give you a
device to help you grab your object and move it
along any of these three axis'. In Max this is called
a "Gizmo" (please don't ask my why that call it
that). This consists of three oversized "Handles"
that always point along the three axis' x, y & z.

"The Create Tab"

All new projects begin somewhere, and in the case of


3D applications like 3DS Max you start at the Create
Tab. A sub Tab under the Create Tab is the
Geometry Tab, which allows you to access primitive
shapes that will become the foundation of your new
model. These are the initial building blocks that you
can distort, extrude, bend, and manipulate into
whatever object you desire. Here you will be able to
create a Box, Sphere, Cylinder, Cone, Tube, and
Plane. You can also create a variety of more
complex shapes like a Torus, GeoSphere, Pyramid,
and the Max signature... Teapot.

As you create your initial shape, you will be able to


adjust the Parameters of the shape. In the example
below, the Box has been set to include multiple
segments at its Length, Width, and Height. This adds
complexity to your basic shape, but it also gives you
more Verts to work with as you continue.
The Parameters
window is especially
useful when
determining the number
of sides to a Cylinder,
the amount of facets on
a Sphere, and the
number of sections in
something like a
vertical post. Be sure to
play with these settings
to see what you can
come up with.

Vertex Versus Polygon


While there are many elements to the creation of
a 3D mesh, for your work in IMVU you will work
mostly with both vertices and polygons. You can
think of your mesh like a wire cage. At each point
where one "wire" interacts with another wire is a
dot/handle that can be manipulated, this is called
a Vertex.

The surface we customarily think of as the skin of


our mesh is called a Polygon. Technically, when
we are working with a mesh, the vertex points
dictate the location, relationship, and properties of
that surface, so when you move a vertex point,
you move one edge of a poly. Polygons are three
sided and when limited in number they can make
your model look faceted. Typically, the fewer polys
in your model the more angular your model will
appear, so, more ploys mean a smoother surface.
This is why hardware developers are constantly
pushing the power of their technology to render as Although the area depicted here is a square, each
many polygons as possible. square is invisibly divided in half, to create a 3-sided
More polys = More Realistic. surface
Modifiers
Modifiers are tools you can use to help you
manipulate the verts and polys in your model. Like
the Filters in Photoshop, Modifiers are applied to
your model, and are too numerous and varied to
fully list here, but it is highly recommended that
you play and experiment. You never know when
you might get just the effect you are looking for by
simply manipulating your mesh with an applied
modifier. Modifiers include such tools as Taper,
Squeeze, Lathe, Mesh Smooth, and many, many
more, including Material Mapping tools, which we
will talk about later.
Smoothing Groups
One handy tool that many 3D applications
include is the ability to add a "Smoothing
Group" to an object. This is usually applied to a
model's surface and gives the illusion that the
surface is smoother then it actually is. This is
handy when building low poly objects, since it
can give the effect that there is more surface
detail then there actually is. In the case of
IMVU, there can only be one smoothing group
number applied to any one model. Smoothing
applied to a faceted surface can be very
effective, but because it does not actually
smooth the geometry itself, your model will still
retain a faceted edge.

Materials - Putting Textures on the Surface of


Your Mesh

Once you have created your mesh, you are ready


to apply textures to its surface. 3D Max calls these
textures "Materials", which suggests not merely
textures, but a texture and all its additionally
applied attributes. One way to think of applying
materials to a model is to imagine you are applying
wallpaper, or contact paper, to the surface of your
mesh. Materials are Bitmap or JPG images that
are created in a 2D program then imported into
your 3D application. Depending on the depth of
detail in that 2D image, you can make up for a lot
of limits in your mesh with a more complex, or
higher resolution material applied to it.

Materials can also contain additional information,


such as alpha, bump or even reflective and
illumination maps that give your texture even more
detail and surface characteristics. At the moment
IMVU only supports alpha maps, which we will
discuss further in an upcoming section.
SIDE NOTE: Remember that button I told you about
earlier... the one without a label? The one that you
use to import bitmaps? Well, there it is. Did I mention
how much I hate that button?

Mapping Your Mesh


The act of applying a material to a model is called Mapping. There are a variety of ways to Map a material
to your model's surface, and a wide array of additional tools to help you manipulate it once it is there.
There are some mapping tools you will use more often then others. The short list includes:

Planar
Projects the map from a single plane flat against the object, somewhat like
projecting a slide. Planar projection is useful when only one side of an object
needs to be mapped. It is also useful for obliquely mapping multiple sides,
and for mapping two sides of a symmetrical object.

Cylindrical
Projects the map from a cylinder, wrapping it around an object. Seams where
the edges of the bitmap meet are visible unless a seamless map is used.
Cylindrical projection is useful for objects that are roughly cylindrical in
shape.

Spherical
Surrounds the object by projecting the map from a sphere. You see a seam
and mapping singularities at the top and bottom of the sphere where the
bitmap edges meet at the sphere's poles. Spherical mapping is useful for
objects that are roughly spherical in shape.

Box
Projects the map from the six sides of a box. Each side projects as a planar
map, and the effect on the surface depends on the surface normal. Each
face is mapped from the closest box surface whose normal most closely
parallels its own normal.

* Mapping images and descriptions supplied by 3D Max User Reference


Datebase.

UVW Map & Unwrap UVW Modifiers


For your work creating materials for your IMVU products in 3D Max, you will most likely be using two
modifiers to help you apply textures to your meshes. These include UVW Map, and Unwrap UVW.
UVW Map is the tool that allows you to decided
which method you would like to use to apply
materials to your mesh (see above list).

Unwrap UVW allows


you to fine tune how
your material is applied
to any one, or group of
polys within your mesh.

Multi-Sub Materials
Just when your brain was experiencing the dull ache of comprehension, we
have one more abstract concept to throw at you, and that is Multi-Sub Materials.
IMVU insists that if you are planning on applying multiple textures to a single
Mesh, that you only apply them as a Multi-Sub Material. Simply put, a Multi-Sub
Material is a single material that is made up of a collection of textures and their
attributes. Each mesh you create can have many textures, but only one Sub-
Material attributed to it.
To create a Sub-Material in Max, select a
material preview sphere in the Materials Editor
window, then click the Standard button to
change the material type. In the pop-up window
choose Sub-Material. You should see your
materials window transform into something like
this:

Now you can start adding textures to your Sub-


Materials list by clicking on the Add button. Each
new material will appear in your list, and will be
given a unique Material ID Number. This ID
number will be used later, under the UV Map
Modifier, to help you apply that specific Sub-
Material to your mesh.

NOTE: Currently, IMVU requires a very specific


naming and numbering convention for the
materials you apply to your models, so I
encourage you to read over the Mapping
Materials Tutorial before jumping into texture
application for your meshes.

Alpha Maps
Another technique you
have in your IMVU bag of
tricks is the use of Alpha
Maps, or Opacity Maps.
These are additional
black & white bitmaps
< Example of a texture
that you apply to a texture
and its accompanying
to create a "cutout" effect.
opacity map.
Opacity maps can also be
used to create translucent
materials. An Alpha or
Opacity Map works like a
frame, solid White
becomes opaque, Black
is transparent, and
shades of Gray are
various levels of
translucency.
Skinning and Weighting Your Mesh
Although first-time meshers won't necessarily run
into the concept of "Skinning" or Weighting your
models, it is one of the necessary steps to getting
your completed mesh into the IMVU Previewer,
and eventually into the catalog.

Thinking of your Mesh as an Avatar


In the creation of IMVU, its designers chose to
apply the metaphors used in the building of avatars
to the building of just about everything else. So
the surface of your mesh, whether it is an avatar
asset, a room, or an article of clothing, is referred
to as a "Skin" and many of the nodes as "Bones".
The process of skinning a mesh is done once your
model is completed, textured and ready to be
exported to the Previewer. Any additional changes
you make to your mesh will necessitate it to be re-
Skinned and re-Exported for everything to work
properly.

The exact steps for Skinning your mesh are covered in the Weighting a Mesh Tutorial, but in a nutshell,
Skins are applied to a mesh as a Modifier, with several quick steps that will apply weighting information to
that mesh, making it ready to be exported. For static models weighting is a necessary step but does not
greatly influence your models. Once you get into creating animated avatars (pretty advanced stuff) you will
lean more heavily on how your meshes are weighted. Either way, it is all good stuff to know as you
become more familiar with your 3D tool set.

Now Get Out There And Start Building Cool Stuff!


This may all seem like a head spinning jumble of things to figure out, and you would be right. With anything worth
knowing you have to expect a little bit of a learning curve, but there is no reason you can't start today with something
small and work your way up to more complex models later.

Anyone who has taken the leap to 3D would tell you that it really takes a year of use before you feel comfortable with
using 3D tools, but the effort is worth it. It has been our hope at IMVU that the tools we use to create our virtual products
are the standard tools the computer game and film industry use every day. The knowledge you learn here will be
applicable to any 3D project you might attempt in the future, in any situation. So, take the leap, and whether you are
learning in 3D Max, Maya, or some other 3D application, you can feel more confident that you can build anything you
can imagine, and share your creation with the world!
Although a staple of many video games, IMVU is just now working to bring a Particle System to its 3D
environments. A Particle System is used to create visual special effects like smoke, fire, sparks, bubbles, and
countless other magic for your 3D world. Particles are points that interact with each other based on certain
parameters, like gravity, velocity, and length of life over time. To these points you apply a texture to represent a
spark, drop of water, flake of snow, or puff of smoke. The best way to imagine a Particle System is to think of a
fountain spraying water, now apply to each water droplet its own texture (.png), and regulate the flow of each
droplet to create a variety of effects.

The IMVU Particle System is in ALPHA, so please use at your own risk. Although we are only planning to refine
and add to the existing system, we can't guarantee future changes won't alter some of your effects settings.
With that in mind we do hope you will play inside the Particles TAB within the Previewer and see what you come
up with. Below are quick descriptions of some of the settings and menus you will encounter within the Particles
TAB. These various parameters can be a little daunting at first glance, so we suggest you have a look at some
of our initial particle effects products and play with these to become better acquainted with what the Particle
System is capable of. To explore a few pre-set Particles products, click on one of the below images to go to their
product page. From there you can click the Derive button and have a look at their settings, and see what
happens when you alter them:

Bubbles Sparkles Smoke Fire Fountain

The Previewer- Particles TAB


Gravity
The direction and intensity of the gravity that the particles are subjected to. This is a 3-
vector.ex "0,0,0" means no gravity at all.

Texture
A texture image. All particles use this texture. We recommend .PNG files (which allows for
transparency) and keep files to 32x32 pixels for best results. We understand that this is small,
but particles can really slow down the frame rate of a computer, especially if your effect
includes a high particle generation Rate per second.

Rules
Each particle effect consists of a set of rules that describe how the particles ought to behave.

For now, there are 10 different types of rules. (except that 3 of them don't do anything yet)

Source
The source rule brings new particles into existence every frame.

Rate (per second) - The rate at which particles are created, in particles per second.

Position - Particles' initial positions will be a randomly chosen point from the specified
domain*. (domains are described below)

The three position numbers represent the location within the 3D environment. 0,0,0 is at the
very center of the Root node of your product, and variations in that number move this position
point up, down or to the sides, front, and back in relation to the Root. Customarily the 0,0,1 is
at he middle of the avatar, and 0,0,2 is near the head:
Periodically you will be asked to place a Normal number in an available field. A Normal is a
1-unit vector which forms a right angle with the surface you're describing. Conveniently, you
don't actually have to enter a true normal into this field--any vector will do. If I describe a
plane as the point 0,0,2 with a normal of 0,0,1, that plane is parallel with the "ground" and
goes approximately through the avatar's head. It points upwards.

Velocity - Particles' initial velocities will be a randomly chosen vector from the domain *.

Sink
Particles that come into contact with a Sink are destroyed.
The domain* describes the shape of the sink.
KillOld
Destroys particles whose age is above some number of seconds. The AgeLimit determines
the distance the particle travels before disappearing. If you wish to fill a room with particles
then leave the number high, but if you want them close to the origin point, reduce the
AgeLimit to a lower number.

RandomAccel
Add a random velocity vector from the domain given into each particle's velocity every frame.

This makes the particles appear to wander around a bit instead of moving in parabolic arcs.

RandomDisplace
Add a random displacement vector from the domain into each particle's position every frame.

This makes particles appear to twitch.

SpeedLimit
Describes minimum and maximum speeds for all particles.
TargetVelocity
Every frame, adjust the velocity of all particles in the system to be closer to the velocity given.

"Scale" is the percentage of the target velocity that is applied each second.

TargetColor, TargetSize, and TargetRotVelocity do not do anything yet, as our


renderer does not yet support colored, scaled, or rotating particles

* Domains
A domain is a geometric shape. Many rules use a domain to select a random position or
velocity vector for a particle.

For instance, a Source may be given a "Point" domain to say that all particles are spawned at
exactly one position, but a spherical domain for their initial velocity, which means that new
particles can have a velocity in any direction, with any velocity up to the radius of the sphere.
The supported domains are:

Point
A single geometric point.

Sphere
Takes a position that is the centre of the sphere, plus an inner and outer radius. If the
inner radius is nonzero, then the sphere is hollow.

Box
Takes two positions: these two positions are opposing corners of the box.

Cone
Takes two positions: the "top" is the pointy end of the cone, and the "bottom" is the
blunt end.

The Inner and Outer radius are the radii of the blunt end. (a nonzero inner radius
produces a hollow cone)

Cylinder
Takes two positions which are endpoints of the cylinder.

Inner and outer radius work in the same way as they do for cones and spheres.

Line
Takes two positions: the endpoints of the line.

Disc
Takes a centre point of the disc, a normal vector which points away from the disc, and
two radii scalars.

Plane
An infinitely large, flat plane.

Takes one position which is any point on the plane, and a normal vector.

Rectangle
A rhomboid plane. Takes a centre point, and two vectors that determine the centre
points of the sides.

I will draw a diagram, this one is really hard to describe.

Triangle
A simple triangle. Takes three positions that are the corners of the triangle.
All 3D products in IMVU are built on the principle of a Skeleton. Whether it is an Avatar, Room, or Furniture product,
each is constructed, linked, and weighted into a collection of Nodes, Bones, Cameras, and Lights. These pieces
make up how a product will be exported and eventually viewed in the IMVU Previewer and 3D Client. Like the bones
in a human skeleton, each piece is connected and makes up a hierarchy of related objects. For your IMVU product to
work properly certain bones need to exist, be named in a specific way, and linked in a special order for the IMVU
Previewer to be able to display them.

Furniture Skeleton

Furniture products are the simplest example of how Skeletons


work. A static Furniture model might only have one Root Node
and one Mesh. The Mesh is Weighted to the Root Node and that
is that.

Furniture products that include one avatar seat, or more,


will have more Nodes and be Linked in a hierarchy that
would look something like the image below.
Skeletons need to be Linked together is a very specific
way. For the above sofa product the hierarchy looks like
the image on the left. All of the Nodes are Linked to the
Root Node, indicated by their being indented within the
Select Objects window in 3D Max. The Mesh is
Weighted to the Root Node, so it does not fall under the
indented list below the Root.
Room Skeleton

Rooms have more elaborate Skeletons. For Room products you


will need a Skeleton Node (Root), a Camera, Scene Node, Avatar
Nodes, and optional Lights. Rooms can become complex very
quickly and it is especially important that all of your Nodes are
named properly and Linked appropriately. A typical simple Room
hierarchy will look something like this. >

NOTE: The Light in the above example is Linked to the Scene


Node (node.Room), so it is indented even further. Also, the Avatar
Placehoder model (Girl_Standing01) is Linked to the Seat Node
(seat01.Standing).

Room products also include Furniture Nodes.


These are nodes representing the locations
where Furniture products can be placed.
These nodes are individually named and
should be placed on the floor, walls, and
ceiling of your Room. Furniture Nodes are
Linked to the Skeleton Node (Root), just as the
Avatar and Scene nodes are. If there are no
Furniture Nodes present in your model than a
Furniture Product cannot be placed in it.
Furniture Nodes can quickly clutter up a 3D
model, so it is suggested that they are added
last, just before exporting your model.

Furniture Nodes naming and placement are discussed in more detail in the Rooms Node tutorial.
Avatar Skeleton

The Avatar Skeleton is the most complex of all, but it follows the same rules. There is a MasterRoot Node
(Root) and all other Bones link to it. Avatars are by far the most complex of the IMVU products you will run
across, and are not for the faint of heart. Still, this doesn't mean that you won't be running across the avatar's
nodes when dealing with the production of other IMVU products. For animation products like Poses and
Actions, you will be working with Avatar Nodes within a pre-rigged Max model supplied by IMVU. Avatar Nodes
are also encountered when dealing with Avatar Accessories, as many accessory products link to specific
Bones, like the head or wrist.
To make a Node in 3D Max, create a
Dummy Node in the Create menu,
under Helpers. We recommend when
possible that you use the Nodes found
in the example files offered by IMVU, for
ease of use and consistency.

A good mantra for you to repeat often to yourself is, “Nodes are Linked, Meshes are Weighted”. Think of the Nodes
as the bones in a skeleton, while the Mesh is the flesh that is wrapped around those bones. The Mesh is never Linked,
it is always Weighted to the Node.

Once you have finished building your Mesh, and you have created all of the Nodes, and Linked them properly to each
other, your last step before exporting the lot is to Weight the Mesh to the Nodes you have created. Weighting a
Mesh to a Node is a simple process, but vital for getting your model to work in IMVU. There are only a few steps but
these need to be done in a precise order or you will quickly run into problems once you move over to the Previewer.
First, makes sure that you Export your Skeleton (.xsf) before you Weight your Mesh. The reason you do this is
because the act of exporting your Mesh will automatically reference the last Skeleton file that was exported.

Next, select your Mesh and apply a Skin Modifier to the top of the stack. Within the Skin modifier, click the Add
button and add the skeleton.Room Node (Root if you are working with a Furniture product) to the bone list.
Now click the button labeled Edit Envelopes.

Check the Vertices box and uncheck the Envelopes and Cross Sections boxes. In the Veiwport, click-and-
drag over all of the vertices in your mesh to select all of them. This will put a small box around each of the
selected vertices in your model (see header image for example).

Back in the Skin Parameters menu, scroll down to Weight Properties and uncheck the Normalize and Rigid
Handles boxes. Then check the Rigid box and drag the Abs. Effect arrows to the numeric value to 1.0. Unclick
the big Edit Envelopes button and, voila, your mesh is now weighted.

You can now safely export your Mesh (.xmf) file.


Whether you are making a texture for a 3D model, a Sticker, or just customizing your Homepage, you will be using
some sort of 2D application to create and manipulate your digital images. Although Photoshop is the acknowledged
industry standard, it isn't necessarily your only choice. Photoshop is what we use here at IMVU, and is by far the most
powerful image manipulation software out there, but if you have limited funds you might need to look for alternatives.
Here we talk about some of those alternatives with the benefits and downfalls.

Adobe Photoshop
There isn't a day that goes by that I don't have Photoshop open to work on some aspect of what we do here at IMVU.
Whether I am building a 3D product textures, or just creating Ad images to sell that product, I use Photoshop to do the
lion's share of the work for me. With its origins as photo manipulation software, Photoshop has grown into a standard
tool for all digital artists, with many of them forgoing traditional mediums, like paint to create their work entirely in the
computer. With each new update Photoshop gets bigger and more complex and at least monthly I uncover some new
trick that would have saved me loads of time if I had only learned it earlier. Still, as an artist I can't imagine getting my
work done without it.

Photoshop's many advantages' are topped by the availability of Filters and Layers. Filters allow you to change the
quality of all or a portion of an image. You can add texture to it, create shadows, glow, blur, or even liquefy a surface.
Layers allow you to build your images one part at a time, each stacking on top of the other. This allows you infinite
ways of manipulating even small portions of your image without altering the rest inadvertently. If you are serious about
working on art in the computer then you will eventually own your own copy of Photoshop. Until then there are other
options out there to try.

http://www.adobe.com/products/photoshop/photoshop/

Photoshop Elements
Photoshop Elements used to be a cheaper alternative to the Professional version of Photoshop, so it consisted of many
of the tools you would most often use when creating images for IMVU. Recently Adobe has drastically redesigned
Photoshop Elements to focus more specifically on the amateur photo manipulation market and the two products are
now unrecognizable as having come from the same origins. Many of the same tools are there, but using the new
version of Elements may involve having to completely re-learn how to use Photoshop. We have not tried this version
ourselves, but knowing Adobe, Elements will be powerful enough to get you started, and for under a $100. it beats the
price tag of its older sibling.

http://www.adobe.com/products/photoshopelwin/
GIMP
In the wild west world of Open Source applications, GIMP is the recognized free competitor to Adobe's Photoshop. With
many of the same features, GIMP is a solid alternative to Photoshop, and who knows, you might actually like GIMP
better? GIMP includes Layers, as does Photoshop, as well as a limited number of Filter options.

http://www.gimp.org/

Although there are many more options out there, these three could easily get the job done. Like anything, the more you
work with an application the better you are able to understand its possibilities. We recommend you dive right in, and be
sure to search the Web for the many tutorials that are available out there to help you along.
At its core, IMVU is a 3D environment filled with 3D people and places. To create the 3D products that fill IMVU's
Catalog, Developers have used a variety of applications and tools to take their designs from purely conceptual to
purchasable. Best of all, these virtual products never run out of stock. In addition, with the ability to Derive from
products, your seed of an idea might just inspire other Developers to build countless new products from yours, all
of which you get a small cut from each sale.

Currently IMVU only supports 3D Studio Max 7 as the “official” 3D application for building products. We are the
first to acknowledge that this is nuts, and we are working to remedy that now. Still, this hasn't stopped industrious
Developers from creating alternatives to building 3D content for IMVU. As IMVU grows so will the tools it supports,
but for now these are the options available:

3D Studio Max
Probably one of the most expensive options available, 3D Max is still an industry leader and the tool we use
internally to build all of our products. Although there is a steep learning curve to mastering 3D Max, all the
skills learned are applicable to the real world of 3D asset creation, for both the game and movie industries.
Although we officially support 3D Max 7, many of our Developers have had luck with both Max 8 and 9 in
Exporting most of their assets.

Autodesk 3D Max here: http://usa.autodesk.com/adsk/servlet/index?id=5659302&siteID=123112

Blender
Another popular option is Blender. As an Open Source application Blender is free to use and has an ever
growing community of dedicated users and contributors. Neo5842 has created a wonderful introduction to
Blender with tutorials on how to use it for IMVU specific projects, and offers Blender specific Exporters for
helping you get your designs into the Previewer.

Get Blender here: http://www.blender.org/

Neo5842's Blender Exporter & Tutorials here: http://neo5842.starlithost.info/home page.html


Google SketchUp
As part of an earlier Beta test, we offer a SketchUp to IMVU Exporter that will allow you to create simple
3D Furniture products for the IMVU Catalog. This option is not free of bugs, but it has allowed Developers
new to creating 3D products a chance to get their feet wet, while learning on a free and easy to grasp tool.

Google SketchUp (free): http://sketchup.google.com/thankyou_win.html

SketchUp to IMVU Exporter Tutorial & Files:


http://www.imvu.com/catalog/web_images/how_to/sketchup_index.htm

Seat nodes are nodes that are contained within both Room and Furniture products. They tell IMVU where an avatar is
allowed to move in the 3D scene. When a user hovers their mouse over the IMVU chat window, they may see some
little seat icons appear. When they click on one of those icons, their avatar will move to that location. Well, the seat icon
only appears on screen if there is a properly teched seat node in that location.
Node Naming

A seat node has to be named a certain way or the IMVU system will not
recognize it as a seat. The naming convention is pretty simple:

seat##.AnimationName

1. The prefix is the seat number. An individual product may have up to 99


seats. So, your seat prefixes can range from 01 to 99.

2. The prefix and the suffix are seperated by a period in the middle.

3. The suffix is the Action name. The Action name can be anything you
want.

NOTE: the first letter of the Action name must be CAPITALIZED.

Default Animations

There are two Actions that come standard in the IMVU avatars: Standing
and Sitting. If you want your seat node to trigger either one of these
standard Actions, you must use the following node names:

Standing:
seat01.Standing

Sitting:
seat01.Sitting

Unique Seat Numbers

Although you may have up to 99 seats per Room or Furniture product,


each seat number must be unique. This means that you may only have
one seat01 per product. So, every seat node in your product skeleton
needs to have a number that is different from any other seat number in
the skeleton.

NOTE: If you have two seat nodes in one skeleton that share the same
number, then the IMVU code will only recognize one of them. So, if you
recognize that a seat node is missing while testing your product, the
culprit is probably that the seat has not been named correctly.
New Actions

If you're interested in learning how to get a new avatar Action to show up in your product, click here to go to the Avatar
Action Preview Tutorial.

Ah...the lazy movement of the trees as the breeze passes by; the way she shifts her weight and winks her eye; the way
she turns to me and gives me that "I am SO alive" look; the way we touch; the way my pet dinosaur tries to eat her
while avoiding my posessed, bouncing pogo stick with the 'Boing' noise; Ah...

Animations and sounds add life to all environments including IMVU and Actions are the tool Creators use to piece
those animations and sounds together in an IMVU product.

What is an Action?

An Action is a collection of animation and/or sound assets that play


back in IMVU. Actions follow several hard coded rules but, in
essence, can be as simple or complex as you like. Actions also
afford you the incedible ability to create random playback events
and, therefore, add a feeling of life to all of your products.

Adding Actions is well worth the effort as those product that contain
Actions (and chickens, mustn't forget chickens) sell very well with
the IMVU audience.

The IMVU Action System

It is always good to know the following rules of how an IMVU Action works:

- An Action can include a single sound.

- An Action can also be a collection of one or more Ensembles and a few rules that the Ensembles follow.
- The trigger name supplied in an Action dictates whether the action is an Idle or a triggered action.

- An Ensemble contains the actual animation assets and the rules that those assets follow

- There can be multiple Actions of the same name. For example, there can be multiple Actions named stance.Idle

- There can be multiple Ensembles in each Action.

What Products Contain Actions?

Every base 3D product type can include Actions. This


includes Avatars, Avatar clothing, Avatar Accessories,
Modicons, Furniture and Rooms. Even more, Room and
Furniture products can contain Actions that effect the
Avatar as well.

As my Irish grandmother once said, when she stepped off


the boat after her three week journey of toil and
seasickness and touched American soil for the first time,
"That's a whole lotta Actions!"

NOTE: Although Eye and Skin products are, by definition,


Avatar clothing products, they can not contain Actions (as
far as we know) as they do not override body part IDs and
therefore do not have a way to influence the Avatar. To
learn more, please go to the Introduction to Body Parts
Tutorial.

Action Types

There are three types of Action:

1. Idle Actions
2. Stance Actions
3. Triggered Actions

An Idle Action plays forever and does not require input from a person in order to do so.

A stance Action is dictated by a room or furniture seat node. For example, if a seat node is named
seat01.FloatinInWater, then the IMVU code wants to play an animation called stance.FloatingInWater. If an Action with
the same name exists in either the avatar product or within the Room or Furniture product, that animation will be
applied to the Avatar. The three main Idle/Stance Actions names are stance.Idle, stance.Standing and stance.Sitting.
To learn more, please go to the Seat Naming Tutorial.

A triggered action is an action that plays once (or loops infinitely until removed) and then goes away. When you type
LOL in IMVU, you 'trigger' the LOL animation to play on your avatar.

Any product that can contain an Action can contain any and/or all of these three Action types.
Get the Previewer - and FEEEEEL its power

Actions are built in the IMVU Previewer: IMVU's proprietary tool for
putting together individual assets and turning them into one CFL product.
To learn more, please go to the Previewer Tutorials section of the
Creator Education Center.

Simple vs. Complex

The most simple Action is one that only contains a sound file. It is simple because you only need to do four things:

1. Click the Add Action button


2. Add a trigger word (any word will do)
3. Click Browse and add your ogg. sound file
4. Save & submit
Simple, huh?

At the same time, Actions can be vastly complex as the options afforded you are limitless. For example, an Ensemble is
where skeletal and morph animation assets are stored and directed. Each Action can contain an unlimited number of
Ensembles that each control either the same modifiers or different modifiers in the parent product.

On top of that, you can have multiple Actions with the same name. This means that you can have multiple things occur
on the same parent product when that universal name is called in IMVU. [wipes brow]

As you can imagine, there is an art to making terrific Actions.

Idle Actions

To learn more about Actions that play forever on their own, please go to the Idle Actions Tutorial.
Personal Animation Products

A Personal Animation is an animation that is triggered when you click on


your own avatar to trigger an animation. IMVU conversations are wired up
to allow you to trigger a Personal Animation by typing in a trigger word.

Although you do not have the ability to add Personal Animations to the
IMVU Avatar menu yet, you should know what they are.

If you are making a Personal Animation, then you ought to derive from
product10838. While 10838 is a Male avatar Action product, you can easily
make it either a Female only or both avatar Action by adding either "80" or
"191, 80" to the 'Avatar IDs' input field in the Previewer. To learn more
about the 'Action Tab' settings in the Previewer, please go to the Previewer
- Actions Tab Tutorial.

Cooperative Animations

A Cooperative Animation is an animation that is triggered when you click


on another person's avatar to trigger an animation. When you do this,
both your avatar and the avatar you clicked on play an Action together.
This is quite possibly one of IMVU's strongest features as it allows you to
actually touch the other person with a fair degree of believability.

Although you do not have the ability to add Cooperative Animations to the
IMVU Avatar menu yet, you should know what they are.

Budgets

Although you can have as many Actions with as many Ensembles as you like, please remember to keep your asset
files and overall product sizes as small as possible. Large CFL products (ie - over 200k) take longer to download and
render in IMVU. The longer a product takes to download, the angrier your customer gets.

The best way to keep your customers happy is to be smart about how an animation asset is prepared...and the only
way to do this is to know how the Previewer works. So, let's go to the Previewer - Actions Tab Tutorial.

If you want boneA in a skeleton to move when boneB is animated, then you want boneA to be 'parented' to boneB.
Its Easy

Parenting bones is really easy. Just select the bones you want to be
parented and then click on the 'Select and Link' tool icon.

Select and Link tool

With the blah tool active, you can now click on the bone in the
scene that you want to be parented to.

Select By Name Tool

If there are too many bones in close proximity to each other for
you to just click on the bone you want to parent to, you can
open the 'Select By Name' dialog box.

Just click on the bone you want to parent to and press OK in


order to link.
Exit Select and Link tool

Please remember to click another button in the top tool bar in order to exit the 'Select and Link' tool. This is so that you
don't mistakenly link selected bones to the wrong bone.

Verify

I always make sure that my parenting has actually 'taken'. To


do this, just open up the 'Select by Name' dialog box and look
at the hierarchy displayed. In this case, we want the Bone01
and Bone02 bones to be indented directly underneath
MainBONE. If everything looks OK, click cancel. Otherwise,
follow the above process again.

Unlink

If you want to unlink a bone, just select the bone and click on the 'Unlink Selection' button. This will break all links
applied to the selected bone.

Rooms are the context for all 3D interactions in IMVU and act as the stage for members to display and arrange the
Furniture in their Inventory. When creating a Room product you need to understand how furniture interacts within your
3D environment.
Before your Room can be submitted to the IMVU Catalog, it will need to include Nodes that will allow furniture to be
placed within it. These are called Furniture Nodes and they need to be placed by you before a sofa can sit on the floor,
a picture hang on a wall, or a chandelier suspend from the ceiling.

There are three types of Room Nodes, these are Floor Nodes, Ceiling Nodes, and Wall Nodes. Each are named
specifically for their Node type, and each has a Axis that points into the 3D space, depending upon their specific
location.

Floor Nodes have their


Z Axis pointing upward
into the Room

Wall Nodes have their


Z Axis pointing inwards
towards the center of
the Room
Ceiling Nodes have
their Z Axis pointing
downwards into the
Room

Within 3D Max, you can check the orientation of your Nodes by switching your Reference Coordinate System to
'Local' and select your Node(s):

Proper Naming
Room/Furniture Nodes are Linked to the Room's
Skeleton Node and need to be named
accordingly:

Floor Nodes:
furniture.Floor.01

Wall Nodes:
furniture.Wall.01

Ceiling Nodes:
furniture.Ceiling.01

We recommend you limit the amount of Furniture


nodes in your scene to 650 or less. We arrived at
this number assuming there would be at most
100 pieces of furniture in a room and each on of
those would have at least 1 node and up to 99
nodes. Although the cost of each individual node
is insignificant, multiplying that by thousands
means a performance hit while chatting in 3D.
So, 650 or less, please.
Furniture/Room Nodes need to be placed so that the center of the Node sits at the inward facing surface of the floor,
wall, or ceiling. To be safe we recommend that the Node be nudged a little bit further into the space so that objects like
pictures, doorways, or floor shadows appear within the room and not beyond the surface.

Since adding Furniture/Room Nodes to a 3D Mesh can be time consuming, we have


created a 3D Max Example Model to help speed things along. You can find it here:

.../DevTutorial/Rooms/FurnitureNodes.max

To import these Nodes into your Room model, choose File/Merge in 3D Max, then
select those Nodes that you wish to import. We recommend that you import and
place each Node type individually... so floor nodes go in first, get placed, then move
on to wall nodes, etc. This makes the task less daunting and gives you the most
control.

If you need to create more Nodes, just Duplicate the Nodes you Merge and place
them wherever you need them. Each Node needs to be uniquely named, but their
numbers do not need to be chronological, so if you are missing a few numbers you
are still okay.

NOTE: Since members can "nudge" their Furniture around while in Edit Mode,
there is no need for the Nodes to be right next to each other. There is also no limit to
the number of Furniture items that can be placed on a single Node (as far as we
know).

NOTE TOO: If your Room does not include walls or a ceiling, there is no need to include them.
If you are just beginning to contemplate creating 3D products for IMVU, then Furniture Products is a great
place to start. Without the complex rigging of the avatar, or the tons of nodes you have to deal with in Room
products, Furniture is about as basic as it gets. You will still need to understand the fundamentals of
building a mesh in 3D, and you will need to learn the steps necessary to tech your 3D model, export it from
your 3D application, and import it into the IMVU Previewer.

The definition of a Furniture Product is as follows:

“In IMVU a piece of Furniture is any product that can be


placed into a 3D scene, and it usually lives in the Furniture
section of the IMVU catalog. Furniture can be anything
you, the developer, can think of. Whether it is a simple
cube or a treadmill with an running avatar animation, you
can make and sell it all in IMVU. The biggest limitation on
building Furniture for IMVU is your own imagination

It is important to note that a Furniture product is different


than a 3D Room in which it will eventually live. Although
they can share many of the same technical aspects,
Furniture is officially a product that can be placed and
moved around in a 3D scene.”

To build a Furniture Product, you are going to have to gain knowledge in these specific
areas:

1. Build a Skeleton, a 3D Mesh, and add Materials (textures) to your Furniture


2. Export all of these assets into the proper Cal3D file formats
3. Assemble your Furniture assets in the IMVU Previewer
4. Submit your Furniture Product into the IMVU Catalog

Once you have gone through all the tutorials necessary to get from inspiration to final product, you will have
learned many of the fundamental steps that are needed to get any 3D asset into IMVU, which means you
are already on the road to being able to create Rooms, Avatar Accessories, and eventually the Avatar itself.
Files to Get You Started:

We have some example files for you to look at, so you can get familiar with how furniture items are put
together. For the purpose of these tutorials, we will be using 3D Studio Max 7 as the default 3D editing
program in our examples.

Product12906_Furniture_window01.zip Product12907_Furniture_couch01.zip

Product12908_Furniture_chair01.zip Product12909_Furniture_bar01.zip

Example Furniture Product files:

Example Chair
Example Couch
Example Bar
Example window

Each ZIP file above contains the textures and skeleton for each product as well as the product or CFL itself.
You will need all of these to make your first furniture product in the Previewer.

Each example Furniture MAX file contains several objects necessary to convert your idea into IMVU reality.
These include a mesh or meshes, a Multi-Sub materials, and a Root node. Furniture that avatars can sit in
also contain seat nodes, Catcher/Pitcher nodes, handle nodes and placeholder avatar meshes.

NOTE: Save this file with a new name, as you may need to merge facets of the original example 3D Scene into your
new Scene if a mistake is made.
NOTE: We at IMVU, inc. do not limit you in how large any individual piece of your Furniture asset can be. We do,
however, limit the overall size of your final CFL product file to 2mgs (WHICH IS HUGE). Download and runtime size is
an issue that should be kept in mind whenever designing for IMVU. If your Furniture's file size is too big, it is unlikely
that your potential customer will purchase and download it. It is good practice to try to keep the texture size, vertex/face
count of your meshes and animation length down to the bare minimum. There really is no reason to have a 256x256
texture on a tiny facet of your Scene: it just won't be seen. In fact, we have found that the smaller the texture, the
BETTER it looks in IMVU. Go figure.

Anytime you create an avatar “seat”, we recommend that you also include Catcher & Pitcher Nodes as well. The
Catcher & Pitcher Nodes indicate the locations two avatars stand when performing a cooperative animation, like a hug
or handshake. The distance between the two nodes is extremely important and should never change, or else you risk
these animations not working, or feeling “broken”.

The best way to insure that you do not accidentally change this distance between C&P Nodes, is to Merge the nodes,
along with the Seat Node and placeholder avatar model, into your model from a preexisting IMVU provided Max file.

You can easily merge these nodes from the Example 3D Room file here:

Example3Droom.zip
Creating an animated Furniture or Room product is actually pretty straightforward. When you
wish some element of your product to animate you are really animating a Node and weighting a
Mesh to that animating Node.

In this video example, you will see four elements: A Root


Node, an Animation Node, a Mesh for the base of the
candle mobile, and the animating central core or propeller of
the candle mobile. The Root is no different than a typical
Furniture Node, or Room Skeleton Node and it remains
static.

The non-moving candle base is Weighted to


the Root Node, while the animating central
core is weighted to the Animation Node. The
Animation Node is Linked to the Root Node, so
you should end up with a hierarchy for your
model that looks something like this:
After you have exported your Skeleton (.xsf), Meshes (.xmf),
and Materials (.xrf), you can now safely export your
Animation file. To do so, make sure to select the Root Node
and export as an animation file (.xaf).

You only need to export those nodes that actually animate. When exporting make sure that only those nodes that are
animating are checked, all others should remain unchecked. More information on how to export animations in the
Export Animations tutorial.

NOTE: In regards to skeletal animation, the longer your animation, the larger your exported animation file will be and
therefore the overall size of your Furniture will be higher. The same holds true for morph animation with the additional
concern of the more morph targets you have in your exported file, the larger your file will be. Although you should not feel
too contrained, it is always good to keep an eye on the final size of your model file, as a large file will effect the
experience for those members that use your product.
Further Note Although the example used in this tutorial shows the animating node aligned with the Root node, neither
the avatar master root nor the seat node *need* to be aligned with the Root node of your Room or Furniture product.
They *can* be but do not *need* to be. You can have hundreds of seats spread throughout your Room or Furniture
product.

Adding animation to your Furniture and Room products will only make them more exciting for those members that
purchase them. Whether you are just adding some movement to the surface water in your hot tub, or creating a fully
animated robot Pet, there are a few tricks you should try to make your products more dynamic.
Texture Animation

One of the easiest, and least expensive


ways to create motion in your models is
to animate the texture. Texture
animation is available via the Materials
TAB in the IMVU Previewer. By setting
the direction, speed, and rate of cycling,
any surface can become move, flash, or
animate.

In this example a lava effect is created by sliding a texture with an alpha map along the surface of the model. My
playing with how the texture maps onto the polys, you can create the illusion of speed and viscosity of the liquid. You
can see the Lava Throne for yourself here.

Animated textures can also be used


for large areas, like creating the
illusion of a rolling sea or moving
clouds. In this example I was able to
create the movement a ship on waves
by moving a large water texture over
an uneven plane. You can see how
this came out here >
Mesh Animation

There is no limit to what a Room or Furniture product can be, or what it can do. Why just build a sofa when you can
design a flying machine that flaps its brass and wooden wings over a sea of clouds? Mesh animations can be as simple
or as complex as you like. In this example, our flying machine can pitch forward and backward while its back wings flap
and front wings rotate. Each part of the flying machine is saved as a separate Mesh and each is Linked to its own
Animation Node. After exporting each part, they are all rebuilt in the IMVU Previewer where their movements can be
further refined before submitting to the Catalog.

Be sure to check out the tutorial on the Introduction to Animation Nodes for more information on this topic.

Let's face it, morph animation is not easy. However, they're pretty damn cool, add a wonderful sense of life to your
products and aide in product sales. So, what's not to love?

Note: This tutorial is about building MORPH animations for Room or Furniture products. That means it is about making
changes to the shape of a mesh over time. If you want to learn more about Room or Furniture skeletal animations, ie -
how to make the bones move, please go to the Animating Rooms and Furniture Tutorial.

For the purposes of this tutorial, we will be using 3DS MAX.


Teched and Ready

In order to create a morph animation, you need to start with a file


that is properly set to allow you to animate it. This means that the
parent mesh has a morpher modifier applied to it and that morph
target channels live within that modifier. To see if your file is
properly teched for morph animation, click on the mesh and look for
the morpher modifier underneath the weighting modifier. If you don't
see it - the file is not prepared for morph animation.

To learn how to properly prepare a file for morph animation, please


go to the Morph Target Tutorial.

If you do see the morpher modifier as well as morph targets in the


Channel List, then you're ready to go.

Basic Animation

I always make a quick animation to verify that the mesh and morphs animate nicely together. If they do, then I can go
ahead with my animation. If they don't, then there is no doubt a glitch in MAX. So, I restart and try again. This usually
resolves the issue.

To learn more about how to make a simple animation, please go to the Animate In Max Tutorial.

To make a quick morph animation, follow these steps:

Click the mesh


Click on the Morpher modifier in the stack - make sure that the Channel List is visible
Enter Animation Mode by clicking the 'Auto Key' button on the bottom
Drag the animation slider to the middle of the time bar
Drag the morph target slider to 100%
Drag the animation slider to the end of the time bar
Drag the morph target slider to 0%
Exit Animation Mode by de-pressing the 'Auto Key' button
Click the 'Play' button and watch how the morph behaves
Auto Key is IMPORTANT

Please remember to only make changes to your morph channel percentages while in
Animation Mode. If you are not in Auto Key mode and you make a change, that change will
not be recorded at a point along the time slider. Rather, your change will be applied to the
entire animation.

While this can be useful for making Vogues (referred to below), it is easy to forget whether
you are in Animation Mode or not. Don't worry, though. You'll learn either way. hahahaha.

Action Types

There are three types of avatar Actions:

1. Idle Actions - these Actions play animations continuously. They are meant to be interrupted by the other types of
animations.

2. Stance Actions - these are animations triggered by the joining of a seat. They are closely related to Idles in that they
play continuously once the seat has been joined.

3. Triggered animations - these animations are played when activated by a trigger word like 'wave'. They usually
replace the morph channels being used in the Idle animation.

Knowing how an animation is going to be used in IMVU *before* you build it helps you build the right kind of animation
and helps reduce iteration time.

Morph Naming Convention

The morph targets have a naming convention that dictates what kind of morph they are. This naming convention must
be used or your morphs will not play back in IMVU. An example of a properly named morph target is leftBlink.Clamped
where the .Clamped suffix is the morph type. The prefix of the name can be anything you like. Here is a breakdown of
what the four morph types are and what they mean:

.Clamped - allows multiple morph animations to affect the channel but clamps the sum of their effects to 100%

.Averaged - allows mutlipe morph animations to affect the channel, averages the result.

.Exclusive - allows only one morph animations (the most recent one applied) to affect the channel, no cap on value
(i.e. allows values greater than 100%)

.Additive - allows multiple animations to affect the channel, values are added together.

Blend In / Blend Out

Although this section focuses on a feature found in the Previewer, it is important to keep in mind while
building your animation.

As discussed below, the frame controls in the Previewer allow you to loop your animations. However, they
also allow you to blend whatever animation is playing into your animation. This is very handy for morph
animations as a non-blended jump from one morph animation to another can leave unpleasant artifacts for a
few frames.

Vogue Animations

Vogues are single frame or low frame animations that have very small file sizes. These animations rely on the blend
in/out functionality of the Previewer to work properly in IMVU. Now, by no means are Vogues required to be simple
expressions - but, regardless of the expression you are making, it is still just an expression. Think of it as a snapshot of
an avatar statue's face....or an avatar stuck in an icy, frozen tundra surrounded by once fresh dreams that are only now
beginning to thaw.

By exporting this simple morph animation, you pretty much guarantee that your animation file size will be quite small.
Small file size is really, really good. You should want your file sizes to be as small as possible. Once you've
gotten your animation exported, simply play with the blend in/out and loop duration functionalities in the Previewer to
get your Action product just right.

You can loop a 2 frame animation for 30 frames and (at 30 frames per second) end up with a 2 second animation of
your avatar's facial animation. Very cool and very cheap to download. Cheap download = wonderful customer
experience.

The only drawback to using Vogues is the aesthetically unappealing look of linear translation. However, this is more of
a skeletal animation issue. Using Vogues for Morph animations is always OK.

File Size Budget

The win for doing vogues is keeping your overall animation size down. Please keep in mind that the more morph
targets you animate and longer the duration of your animation, the larger your Action product is going to be.

The larger your file, the longer it is going to take to load during a conversation. Please be as discerning as you can
about where you spend your animation budget. We want you to be successful and it will be hard to be successful if your
products take too long to download.

Catalog Snapshot

If you are creating an animation as a final product, please remember to take a 100x80 pixel Catalog snapshot. To learn
more about catalog snapshots, please go to the catalog snapshot tutorial.
Export

Once you have built your animation, you must export it as an .XPF file. .XPF is a Cal3D file format that is installed in
MAX when you install the Previewer. .XPF files are what the IMVU Previewer recognizes as morph animation files.

In order to export your Morph Animation file, select the Parent head mesh. In the case of the
Female04_Anime01_IdleStandingPoseMASTER.max, the head mesh is called 'female01.Anime01.Head'. In the case
of Male03_Anime01_IdleStandingPoseMASTER.max, the head mesh is called 'AnimeHead.Male01'. With the head
mesh selected, choose Export in the file menu. Scroll to the .xpf file format, name your file (remembering to manually
type in the .xpf at the end of the name) and click Save.

In the Cal3D window that appears, verify the actual time values of the animation. Although they are almost always
exactly the numbers they need to be, you should still check that the start and end frame numbers match what you
intended to export, and make sure the frames per second is set to 30. Click finish.

Animation file: EXPORTED!

What's Next?

Now you're ready to bring your xpf into the Previewer to make an Action. To learn how, go to the Previewer - Actions
Tab Tutorial.

As a wise, handsome and heroic man once wrote, "Animations and sounds add life to all environments including IMVU
and Actions are the tool IMVU Creators use to piece those animations and sounds together in an IMVU product." What
genius! What prose! What the hell?
This tutorial covers how to use the Actions tab in the IMVU Previewer. However, it does not cover how to build
animation assets. If you want to learn how to build animations, please go to the Skeletal Animations Tutorial, the Morph
Animations Tutorial, the Rooms Introduction, the Accessories Introduction and the Furniture Introduction.

This tutorial assumes you have already read the Previewer Introduction and have already downloaded the Previewer.

Also, please know that the Actions tab contains far more features and inter-connectivity than any of the other Previewer
tabs. Therefore, this tutorial is long. So, grab yourself a pot o' tea and enjoy some nice, technical jargon.

Get the Previewer

Juuuuuuuuuust in case you haven't already downloaded the Previewer,


we will take a moment to remind you that this tutorial doesn't make
nearly as much sense without the Previewer than with it. Therefore,
please take the time to register to become a Creator and then download
and log into the Previewer.

To download the Previewer, please go to the Previewer Introduction.

Advanced Mode Reminder

Remember, if you have not set the Previewer to 'Advanced


mode', then the Actions tab will not appear. To enter
'Advanced mode', click the Edit menu and then release over
the title 'Advanced mode'. The next time you check this
setting, it should have a check mark next to it. The check mark
indicates that the Previewer is in Advanced mode. Also, the
Previewer should remember this setting from now on.

The IMVU Action System

It is always good to know the following rules of how an IMVU Action works:

- An Action can include a single sound.

- An Action can also be a collection of one or more Ensembles and a few rules that the Ensembles follow.

- The trigger name supplied in an Action dictates whether the action is an Idle or a triggered action.
- An Ensemble contains the actual animation assets and the rules that those assets follow

- There can be multiple Actions of the same name. For example, there can be multiple Actions named stance.Idle

- There can be multiple Ensembles in each Action.

Previewer:
The Action Tab

All Actions are found in


the Action tab in the
Previewer. To learn
more about the various
tabs in the Previewer,
please go to the
Previewer Introduction.

Add Action: Empty Slate

When you first enter the Action tab, you will see something like this:
Add Action

The first step towards creating an Action is to actually click the 'Add'
button. This will create a new, blue panel entitled 'Action 0' and a new,
red panel entitled 'Ensemble 0'. Each Action you add from now on will
ascend in number and this number will be evident in the action name,
'Action 1', Action 2', and so on.

The Action and Ensemble names begin at '0' vs. '1' because the
Previewer was made initially by engineering types and they're a little
silly that way.
The two panel types are color coded to make it easier for you to understand just what is effected and where. Also, each
time you create a new Action, one Ensemble will be automatically added to the Action. This actually doesn't need to be
the case as Actions do not necessarily need Ensembles in order to work (like sound Actions). However, the vast
majority of them do need an Ensemble so we figured we would save you a step and add it for you.
Action Panel Detials:
Action Parameters

Ah...that soothing blue....just


shy of green...

Now that you have created


an Action, I bet I know what
you're thinking. "What the
hell does all of that stuff do?!"
Fear not, Action maker.
Below are all the gory details
of the Action Panel.

Play Action - At the top right of the panel is the 'Play Action' button. Clicking this button *after you click the Apply
Changes button* will cause your action to play. This allows you to test your Actions before submitting them to the IMVU
catalog.

Action parameters

The first section in the Action panel is called 'Action parameters'. These parameters are the most used paramters in the
Action panel.

Trigger: - This field is where you type in the word or words that will cause the Action to play. A trigger word can be
anything you like. When that word is typed in the IMVU messenger, the Action will play. An Action that does not contain
a Trigger word will not play. Trigger words can also be named after Idle or Stance animations. To learn more, please go
to the Avatar Actions Introduction.

You can have multiple words trigger one Action. To achieve this, you add a comma separated list of words such as,
"ha, haha, heh, har, hardy, lol".

Type: - The type field is where you tell the Action whether it ought to apply to an Avatar or to anything else. The two
options you have in this drop down menu are 'Avatar' or 'Room'. The 'Room' choice is good for Rooms, Furniture and
Accessories (Actually, either setting works for Accessories.)

Avatar IDs: - If you choose 'Avatar' in the Type field, then you will need to identify which avatar product IDs your Action
is meant to work with. Since all IMVU avatar animations are built upon the same skeleton, they work with both the
female and male avatars. However, as the author of the Action, you have control over which avatar an Action can work
with. The product IDs of the IMVU avatars are:
Female: 80
Male: 191

If you want your Action to apply to both avatars, you type in '80, 191'.

# of ensembles played: - This field tells the Action how many Ensembles it ought to play. If you want the Action to loop
forever, you type '0' in this field. If you want the Action to play once, just type in '1'.

After playing: - This drop down menu tells the Action what it ought to do after playing an Ensemble. You have three
choices:
Pick new Ensemble - This option tells the Action to randomly choose a new Ensemble to play next.
Pick same Ensemble - This option tells the Action to play the same Ensemble repeatedly.
Cycle through Ensembles - This option tells the Action to play the next Ensemble in the sequence. This option is used
mostly to test that all of the Ensembles are actually working as designed.

Action Panel Detials:


Camera take Paramters

In IMVU, you can choose whether your Action makes the camera cut to a spot in front of your avatar. For example, if
you wanted to show off a smile, you could turn on the camera take for that particular Action so that no matter where
either your and/or your chat partner's camera is looking, they will automatically cut to your avatar's face. As you can
imagine, Camera Takes allow you to make very subtle animations that pack a very powerful punch as you get in close
but would otherwise not be seen in the normal product.

On - In order to utilize the Camera Takes, the first thing you must do is check the ON box.

Delay - Next, you may set the Delay (in frames) between when the Action is triggered and when the Camera Take
takes place. The most common number is just 0 but you never know…

Length - This field allows you to set how many frames the Camera Take will stay in the Take position. I usually leave
some space at the end of the Take to allow the user to see the Avatar's face go back to normal for a split second - folks
seem to like that better than cutting as soon as the Action is done.

Distance - This field allows you to set (in meters) how far from the Head bone of the avatar the Take will be. This
distance can be anything you like but for Head shots, I usually use anywhere from 1 to 1.5.

Height Offset - You can also set how high or low the camera is in relation to the head bone. If you wanted to cut to an
Action that took up more of the upper body than, say, a smile Action would, you could adjust both the Distance…and
Height… to frame the avatar just right.

Action Panel Detials:


Sound - .ogg file

An Action can contain a sound as well as animation assets. In fact, an Action can contain ONLY a sound if you want it
to. The sound is just triggered by a trigger word like any other Action. Currently, IMVU supports only sound files in the
.OGG file format.

Browse... - This one is fairly obvious. Just click to find and add your OGG file.

Loop - Clicking this checkbox allows your sound to play indefinitely. This is really handy for background sound effects
in Room products.

Action Panel Detials:


Multi Party Action Paramters

Currently, only IMVU has access to this


functionality. IMVU uses this functionality to
create cooperative animations - ie. to create
animations where two avatars interact with
each other. Alas, IMVU has not yet opened this
functionality up to the larger Creator
community.
Multiple Actions

Click the 'Add' button a few times. Go ahead. I dare you. If you
took me up on that dare then you would have seen that multiple
Actions appear in the Actions list on the left side of the Actions
tab.

That's right! You guessed it! You can have multiple Actions in
one product. What's more, each individual Action in the CFL can
have have the same Trigger name. This is especially handy for
Idle actions.

Ensemble?

An Ensemble contains the animation details of your Action. The Ensemble is where your .xaf and .xpf files are loaded.
Your Action can contain multiple Ensembles for some very fun variation.

Add Ensemble

As a reminder, your first Ensemble is added for you whenever you add
an Action.

However, if you wish to add more, you can do so by clicking the 'Add'
button in the Ensemble Section

Ensemble Details:

Sure, in nearly every


example on the planet, red
means stop. However, when
it comes to IMVU Actions,
red means go go go.

The Ensemble panel is


where you actually upload
animation assets into your
Action. What's more, the
settings in this panel tell
those animation assets how
to behave.

Speed multiplier: - The Speed Multiplier settings allow you to speed up or slow down the playback speed of your
animation when triggered. However, this box does not effect sound effects. Here are examples of what certain values
do:

0.5 = half playback speed.

1 = same playback speed.

2 = double playback speed.

IMVU typically leaves these boxes empty.

Stop After: - In the “Stop After” box, you may choose to stop the Ensemble after the “Longer effect ends” or the
“Shorter effect ends”. If you choose to stop the Ensemble after “Longer effect ends”, then the Ensemble will wait until
the last frame of the last asset to stop.

If you choose to stop the Ensemble after “Shorter effect ends”, then the Ensemble will stop on the last frame of the first
asset to end.

Extra # of loops (up to): - This box allows you to add a random multiplier to the amount of loops your Ensemble will
play. This only adds, not subtracts, loops to the number used in the “#of Loops” box found in each animation's Frame
Controls. This allows you to have a random playback length every time your Action file is played which is very handy for
idle animations and gives a lifelike quality to your Actions. If your initial “# of Loops” is zero, any change to “Extra # of
Loops (up to)” will do nothing.

Probability of playing - When your Action contains multiple Ensembles, the number typed here will tell the Action how
often it should choose to play this particular Ensemble. The number typed here ought to be 1.0 or a fraction of 1.0. For
example, if you want this Ensemble to play roughly 30% of the time, you would type in .3. It is best, though not required,
to have the total values of all of the 'Probability of playing' boxes across all of your Ensembles equal 1.0. IMVU typically
leaves this box empty.

Disable Gaze - This check box allows you to control whether the Avatar will “look around” using IMVU's procedural
gaze settings. This is actually pretty fun so try it out.

Ensemble Details:
Skeletal Animation Panel

The Skeletal Animation Panel is where you browse for and edit settings for your skeletal animation - .xaf file. The
Browse and Delete buttons are self-explanatory.

Playback Speed: - Not only can you control the overall playback speed of the entire Ensemble (using the Speed
Multipler inputs) but you can also change the playback speed of individual assets within the Ensemble. By adding a
value of, say, '2.0' you can double the speed of the asset loaded. IMVU typically leaves this box empty.

Blend Weight: - You know....I just deleted a really long and tedious description of what this field does. The description
was full of wonderful sentences that made this feature sound important. However, this feature is so unused that I
believe I am going to ask the engineering team to remove it altogether. Suffice to say, IMVU typically leaves this box
empty.

Composition: - The “Composition” box allows you to effect whether an animation replaces or averages with other
animations in the Action.

When you choose Replace, the Replace effect ramps up to 1.0, the other non-Replace effects and lower priority
replace effects will be ramped down to zero.

When you choose Average, the effects will compose with influence in proportion to their ramped relative weights. If
there are two effects of equal relative weight, a fully ramped Average effect will have 50% influence, sharing the other
50% with an existing effect, instead of reducing the existing effect to 0% influence.

NOTE: If you are making a Vogue, be sure to set the Composition to “Replace”. To learn more about Vogue
animations, please read either the Morph Animation Tutorial or the Skeletal Animation Tutorial.

Ensemble Details:
Frame Controls Panels

Each type of animation panel contains its own Frame Controls panel. This is because the skeletal and morph animation
assets can be of different lengths and, therefore, require their own loop settings.

The looping and blending tools in these two panels are the life blood of Actions within IMVU as understanding how they
work influences the creation of the animation assets they, in turn, will influence. So, take your time with this one and
experiment.

The Frame Controls allow you to set Blend In/Out frames, Loop Start/End frames, and the # of Loops for a given
animation asset. The Blend In/Out boxes allow your animation to blend seamlessly from whatever was playing before
your Action and then to whatever is meant to play after your Action. If you choose a Blend In/Out time of 0 frames, then
your animation will snap. This does not look good so do choose something in the 5 to 10 range.

It is important to know up front that the 'Composition' setting greatly influences whether an Action can blend with
another one. For example, if two back to back Actions are both set to Replace, then no amount of Blend tweaking will
allow them to blend together. Rather, they will simply snap from one to the other.

It is possible to loop your animation for as long as you want and for as many frames within your asset as you want. This
can effectively cut your .xaf down to only the necessary frames needed to export. Much can be accomplished by simply
playing with the loop parameters. What follows is a more verbose description of just what looping means:

This parameter specifies where the loop section begins. The effect will begin on frame N, advancing to the end frame,
then cycling back to the start frame for the remaining loop iterations. After all iterations have played, the effect will
advance through the end frame to the remaining frames. The effect remains "on" during the release period.

If the start and end frame are both zero and the effect loads successfully, then the end frame will be adjusted to be the
last frame. Thus if you want a simple looping effect you can set the start frame, end frame, and loopIterations all to
zero. If you want a simple one shot effect, then set the start frame and end frame to zero, but set loopIterations to one.

If the start and adjusted end frame are the same, then the effect does not have a loop section, and the loopIterations
parameter will be ignored.

Ensemble Details
Morph Animation Panel

The first difference between the Morph and Skeletal Animation panels is that the Morph panel is missing the
“Composition” box. This is due to the fact that this functionality needs to take place in the actual morph target name
within your 3D program.

The second difference is the addition of the “Amplitude Scale” box. By adding numerical values greater than 1.0 to the
“Amplitude Scale” box, the .xpf will scale the active morph targets. For example, if you had set a morph to 75% upon
export, and then set your Amplitude Scale to 2, the morph would play back at 150%. This can result in some fun
varieties that you never would have thought of while setting key frames. Play around with it to see what I mean.

NOTE: There are no magic settings insofar as Actions are concerned so please have a blast and play around.

Multiple Ensembles

As has been hinted to earlier in this tutorial, each Action may contain
numerous Ensembles. This functionality coupled with the 'After playing'
and 'Probability of playing' settings allows you to create the compelling
and wonderful illusion of life.

Fully Loaded Action

And...here is what a fully loaded Action panel can look like:


When I want to learn how something works I like to just take the dang thing apart and see how it ticks! This is the very
reason we created the Super Furniture Product. Although fairly useless as Furniture items go, it does include one of
every potential settings and effect you might want to use in your own Furniture product creation. In this tutorial we will
break down each of the features used and point you to other tutorials that will help you better understand how to do this
yourself. It is worth noting that this only scratches the surface of what is possible and we look forward to you surprising
us with your own unique combinations of these effects and techniques.

To help you along, we recommend that you check out the Super Furniture Product itself by clicking on the Derive from
this Product link at the bottom of the product's catalog page, here:

Super Furniture Product


Standing & Seated Nodes

Starting from the far right and


working ourselves to the left, we
have included the standard
Standing & Sitting avatar seat
locations. These are as basic as
it get, but worth mentioning.

The standard Seat Nodes


include an appropriately named
Root node, a Catcher & Pitcher
node, and in the case of the
Seated avatar, a Handle node.
All avatar animations that are displayed in
these locations are the default seat and
standing Idle Animations built into the
IMVU Client. To create your own poses
and animations you will need to do a little
more work... which we will cover below.

For more information about Standing &


Seated Nodes, check out the following
Tutorials:

Nodes for Furniture


Catcher & Pitcher Nodes
Handle Nodes
Seat Naming Convention

Note: The Catcher & Pitcher nodes are


place in the depicted way to keep
cooperative animations from intersecting
the model platform.

Animated Textures

There are a lot of ways to


create movement in your
Furniture and Room models
without necessarily having to
build it into the geometry. These
include both Scrolling and
Cycling Texture Animations.
Both are achieved through
settings in the Previewer and
need a little preparation in the
textures that you use.

Scrolling Texture
The lower meter effect is created using a single texture that "scrolls" from right to left.
To achieve this I built a texture that could Tile horizontally. This means that as the
texture scrolls you are unable to see a seam that would otherwise give away the
effect of moving from one image to the next. In the Previewer I used the below
settings to create the animated effect:
Note that the Texture
Animations Parameters is
checked ON, the Mode is set to
Scrolling, and the Direction is
along the X Axis at "-1" (speed)

Cycling Animation
For the monitor that includes thewire frame rotating chair, I used a simple Cycling Texture Animation consisting of
for frames. All four frames live on the same texture and are applied to the Mesh so that all of the frames are
visible. Once in the Previewer you can set each part of the texture to be displayed separately, over an adjustable
length of time. In the Previewer I used the below settings to create this animated effect:
Note that the Texture
Animation Parameters is
checked ON, the Mode is set
to Cycling, and the Frame/Cell
set to 12. The Cell Width and
Height tells the Previewer the
size of each frame of
animation, the Start Cell
begins with 0 to indicate the
first frame, and the Number
how many cells are in your
texture.
For more information on how to apply and animate textures, check out the following Tutorials:

Introduction to Textures
Mapping Materials
Previewer - Materials TAB
Particle Effect
Another effect that can be added to a Furniture Product is Particle Effects.
These can be as simple as a puff of smoke, or splash from a fountain, or engulf
your entire product in flames.

Particle Effects are still an ALPHA feature and will be going through an evolution
of enhancements over time, but you can start playing with them now in the latest
version of the Previewer. The many options for how a particle is displayed and
reacts can be daunting, so we suggest you try building your furniture product
from one of the several beginning Particle products we have created for that
purpose. You can find links to these products here.

The settings for this


particular effect include
a Source Rule and a
KillOld Rule. The main
Particles TAB allows
you to influence the
Gravity effect, load a
.PNG texture file, and
choose which Rules will
influence how your
particles will behave.

The Source Rule


determines how many
particles appear per
second and how they
are created.

The KillOld Rule determines the life of a particle


on screen. The smaller the number the shorter the
life of the particle.

For more information about Particle Effects, be sure to visit the Particle Effects ALPHA Tutorial
Animated Avatar
For the control panel, I did a
simple avatar animation or
"action". Like the Seat Nodes, I
created a unique avatar seat that
loads an avatar action I created
using the Rigged Avatar.

The Rigged Avatar file allows you to


load up all the tools you need to pose or
animate your avatar. In the case of the
avatar pressing buttons on my control
panel, I have only animated those bones
that control the arms, shoulders, and
hips. The rest of the avatar, including the
hands, are in a static pose position that is
all I need to create the action I want. The
head is free to look around, and when
another avatar sits in the animated chair
the two avatars appear to be looking at
each other as they go through their
motions.

For more information on how to create an animated avatar Pose or Action, check out these tutorials:

Rigged Avatar Tutorial


Avatar Animation Files
Avatar Skeletal Animations
Avatar Animations for Furniture & Rooms
Avatar Statue
For the animated chair I wanted
an avatar pose that was different
than what is offered with the
standard Seat Nodes. To do this I
created a static pose and an
Avatar Statue to help me correctly
place my new pose within my
Mesh while I built it.

To achieve this, I applied the same technique used to create my


animated avatar at the control panel, but I did not include movement. I
did however still need to export a animation file (.xaf) to tell the avatar
to assume the pose when seated in my chair.

I left the head free to look around to add a sense of connectedness to


the environment and periodic eye contact with the avatar at the
controls, or anywhere nearby for that matter.

To learn more about creating Poses or Avatar Statues check out the following tutorials:

Avatar Statue
Avatar Actions

Chat Triggered Animated Chair


The final element is the animated chair who's
animation is triggered by the avatar typing the word
"Go" into a chat balloon.

Note in the video to the right that the movement of the


Mesh is dictated by an Animation Node (green cube)
that the chair is Weighted to. The secret behind
animating any Furniture or Room element is the
Animation Node and how the Mesh relates to it. It is
also important to note that the Seat Node and Avatar
Statue are Linked to the Animation Node.

In the Hierarchy chart to the left you will see the Root Node
(.xsf), with the Animation Node (CaptainsChair.animation)
Linked to it. The Handle Node and Seat Node are then Linked
to the Animation Node, and finally, the Avatar Placeholder
(Avatar Statue) is Linked to the Seat Node. Finally the Mesh
(CaptainsChair.mesh) is Weighted to the Animation Node.
This allows for the Mesh to animate with the Animation Node,
and the Avatar to follow right along.

To create a word trigger to start the animation I placed the


word "go" into the Trigger field under the Actions TAB in the
IMVU Previewer:

For more information about Furniture Animation check out these tutorials:

Animating Nodes
Furniture & Room Animation
Exporting Animations .XAF
When you are mousing around a 3D Room in IMVU you will see Avatar Seat icons appear in those places that will
allow you to stand or sit. By default these icons appear in the location of the avatar Seat Node (at the level of the floor).
In some cases, you might want the icon to appear in a different place, like in the seat of a chair. To do this you will need
to create a Handle Node. Handle Nodes can be placed anywhere you like, but they will need to be named specifically to
the Seat Node number you are referencing. So, if you are creating a Handle Node for seat01.Sitting, you will need to
label the corresponding Handle Node Handle01, and so on.

As you see in the examples above, a Handle Node is placed where you would like an avatar seat icon to appear within
your Furniture or Room product.
< The Handle Node will need to be Linked to the
Root Node, just as the Seat Node is. To make this
step easy, I often create a Handle Node by
duplicating the Seat Node and placing it where I
would like it to appear. I then make sure to rename
the Node "Handle" and give it the same number as
the Seat Node it is referencing.

Prop Actions kick some serious booty. A 'prop action' is a Furniture or Room action that is triggered when an avatar
joins a certain seat. For example, when you click on one of the paws in the Flying Dragon Room, the Dragon's paw
wraps around the avatar. Also, when you move from that paw to any other seat in the Room, the paw goes back to its
normal, open animation. When the paw changes with a 'seat' change, you are witnessing a Prop Action.

To be clear, prop actions work in both Rooms *and* Furniture products.

Prop Actions can be used in concert with Avatar Actions to create wonderful effects. For the purposes of this tutorial,
we will assume you want to make a piece of Furniture animate in concert with an Avatar Action. However, please note
that a Prop Action does not require a corresponding Avatar Action.

What You Need

Before you can make a Prop Action, you need to have built a few things first.Build your room or furniture product. Link.
Build an avatar action. Link. Build room or furniture animation. Link. Export all of above.
To create a prop action, you need:

1. a completed Furniture or Room file. ie - the skeleton (including properly named seat nodes), mesh and mapping
has already been completed. (Heck, its a good idea to build the whole product in the Previewer first just to make sure it
all works.)
2. The number of the seat node that will trigger the action (example: seat35)
3. The name of the avatar stance for that seat
4. An exported .xaf and/or .xpf for your Furniture/Room Idle Action
5. An exported .xaf and/or .xpf for your Furniture/Room Prop Action
6. OPTIONAL - an exported Avatar Animation that works with the Furniture/Room file mentioned above

Idle *AND* Prop Action

A Prop Action only works if the bones involved in that Action are being animated by another Action. For example, the
bar on my bench press seemingly does not move when my avatar is not in the bench press seat. However, it actually is
animating - just so slightly that an IMVU user can not tell. That way, when my avatar joins the seat, the Prop Action is
triggered and the currently animating bones have a new location to go to.

To make an Idle animation, Save a copy of your working file. Name


it something that you will remember later. For example, if your
original animation came from a file called 'Furniture_BenchPress',
then your Idle animation file could be called
'Furniture_BenchPress_Idle'.

As mentioned above, the Idle animation moves all of the bones that
will end up being moved in your Prop Action. That movement can be
as small as you want. In the case of a piece of furniture that is
meant to look like it is sitting still when no avatars are seated on it, I
always just move my bones fractions of milimeters along the Z axis.

So, REMEMBER: Make an Idle animation *and* a Prop Action animation for every Prop Action you wish to
trigger.
Actions Needed

Once you have all of your various animations exported, it is time to


put it all together in the Previewer.

For the purposes of this tutorial, we assume you are building a


bench press. This means you will have three animations:

1. The bench press 'Idle' animation.


2. The bench press 'Pressing' animation.
3. The avatar 'Pressing' animation.

Previewer Tips

Open the Previewer and create your Furniture or Room product completely.
Then 'Save As' a new file. As a precautionary measure (and to just make sure
you're working from a clean slate) quit and restart the Previewer and then
reload your newly created product.

It is very, very helpful to know that everything in your Furniture or Room


product works perfectly before you embark on adding Prop Actions. This is
because mistakes in exporting animations are only clear once you start
loading in those animations.

Previewer Idle

I always create the Idle(s) first. That way, I can more easily keep tabs on where they all are in the stack.

To create an animation that loops forever, you want to create what is called an Idle Action. An Action is considered an
Idle if it is named correctly. Otherwise, all other attributes of the Action are available to you.
Naming convention

All Idle and avatar seat based animations are named the same way:
stance.AnimationName

The prefix is always labeled as 'stance.' as the code then recognizes that
this Action will have special properties.

The middle section can be named two things:


1. The name of the seat bone to which you want this Action to be applied
2. or 'Idle'

If an Action is named stance.Idle, then the IMVU code will play it forever
(or until the hamsters that keep our servers running need to take a bio
break.) However, there is one other thing you will need to do in order to
get your Idle animation to play forever: set the THING to zero.

Animation Type - Room

When building an Action for your room or furniture product, you must set the Type to 'Room'.

Number of Idles

You may have as many Idle Actions as you want. For example, in the
Candle Lit Dinner scene, one Idle controls the up/down water
movement, another Idle controls the Prop Action for the 'dolphin swim'
seat rotation and yet another Idle controls the Prop Action for the
violin.

Add Avatar Action


Once you have your Idle Action built, it is time to add your Avatar Action. The Avatar Action gets its name from the seat
node in your Furniture or Room skeleton. To learn more about how to properly name a seat node, please go to the Seat
Naming Convention Tutorial. However, in short, if your seat name is 'seat01.BenchPress' then your Action name will be
'stance.BenchPress'.

The IMVU code sees the suffix in the seat name in your Room or Furniture skeleton and then searches for an Avatar
Action with the same suffix.

Animation Type - Avatar

If you want to add an avatar Action to your room or furniture product, you must assign the 'Avatar' type to that Action.
Then, in the box labeled ID next to the Type field, you ought to enter 80, 191. This ensures that your action works with
the IMVU female avatar (product 80) and male avatar (product 191.)

To learn more about what the other knobs and guages in the Previewer do, please go to the Previewer - Actions Tab
Tutorial.

Add Prop Action

Now that you have a fully built product and have tested that the avatar animation works, it is time to add your Prop
Action. To do so, create an Action with one Ensemble. Since a prop action is a room or furniture animation, set your
Type to 'Room'.

Seat Numbers Matter

A Prop Action corresponds with a seat number (or numbers) found in your furniture or room product. In this instance,
the bench press only has one seat, seat01.BenchPress. So, the name of the prop action would be:

stance.BenchPress-seat01
Please note the addition of the dash suffix at the end of the name that includes a seat number. This '-seat01' tells the
code that this Action should be triggered when an avatar joins seat01.

You can have multiple seats in a prop action name. For example, if the bench press was some sort of crazy, two person
bench press, then the bar could be triggered by both seats 01 and 02. To make that happen, my Prop Action name
would be:

stance.BenchPress-seat01,02

Please note the addition of the comma and new seat number. This ',02' tells the code that this Action should be
triggered by joining either seat01 and/or seat02.

VERY IMPORTANT: Interoperable animations must be the same legth

As mentioned above, sometimes, you want a prop action to work with an avatar action. Said another way, you want the
prop action and the avatar action to work seamlessly together. In the case of the avatar bouncing on the pogo stick, if
the avatar action played even one frame longer than the pogo stick animation, then, eventually, the avatar would go
down while the pogo stick went up.

Even worse, if you want the prop action and avatar action to *end* at the same time, it is possible to have the avatar
end up in the J-pose while the Action system finishes the animation that isn't done yet.

The way to ensure that your prop action and your avatar action work perfectly together is to make sure they are both
the same number of frames when they are exported. This is VERY important. If your animations are not the same
length (in number of frames) then your prop action will end up looking broken.

Rooms Only - Sync All Actions

Sometimes, Prop Actions can get out whack in Room products as chatters bounce around from seat to seat. To prevent
any sort of whackiness in Room Prop Actions, it is best turn on two check boxes in the Previewer. These two boxes can
be found in the 'Special' tab in the Preveiwer and are called 'Synch all Actions' and 'Synch props'.

With both of these boxes checked, then the Room will reset itself every time a Prop Action is triggered.

Test

While it is always a good idea to repeatedly test your product as you build it, testing is especially necessary for Prop
Actions. Save your file and then join the seat. If you see your avatar animation and prop action move in unison, then
you have been successful.

If they do not move in unison, then there is something wrong and you need to go back and verify:

1. that your avatar and room/furniture animations actually move in unison in your 3D program
2. that you have properly named your Actions
3. that you have properly named your seat node in your 3D program
4. that you are using the latest exported assets for both the room/furniture skeleton (xsf) and all of the exported
animations (xaf)
5. that you have chosen the correct animation type across all Actions
6. that you have assigned the correct avatar IDs to the avatar Action
7. that you are using a version of the Previewer that supports this feature. If in doubt, download the latest version.

Congratulations

Now that you know how to make a Prop Action, you


are able to delight your customers. Let's face it: we all
love the pleasant surprise of a prop action. Even better,
IMVU has seen a significant increase in sales of
products that contain prop actions so use them
wisely...a

Seat nodes are nodes that are contained within both Room and Furniture products. They tell IMVU where an
avatar is allowed to move in the 3D scene. When a user hovers their mouse over the IMVU chat window,
they may see some little seat icons appear. When they click on one of those icons, their avatar will move to
that location. Well, the seat icon only appears on screen if there is a properly teched seat node in that
location.
Node Naming

A seat node has to be named a certain way or the IMVU system will not recognize it as a seat. The naming
convention is pretty simple:

seat##.AnimationName

1. The prefix is the seat number. An individual product may have up to 99 seats. So, your seat prefixes can
range from 01 to 99.

2. The prefix and the suffix are seperated by a period in the middle.

3. The suffix is the Action name. The Action name can be anything you want.

NOTE: the first letter of the Action name must be CAPITALIZED.

Default Animations

There are two Actions that come standard in the IMVU avatars: Standing and Sitting. If you want your seat
node to trigger either one of these standard Actions, you must use the following node names:

Standing:
seat01.Standing

Sitting:
seat01.Sitting
Unique Seat Numbers

Although you may have up to 99 seats per Room or Furniture product, each seat number must be unique.
This means that you may only have one seat01 per product. So, every seat node in your product skeleton
needs to have a number that is different from any other seat number in the skeleton.

NOTE: If you have two seat nodes in one skeleton that share the same number, then the IMVU code will
only recognize one of them. So, if you recognize that a seat node is missing while testing your product, the
culprit is probably that the seat has not been named correctly.

New Actions

If you're interested in learning how to get a new avatar Action to show up in your product, click here to go to
the Avatar Action Preview Tutorial.
IMVU is all about creating a place for people all over the world to meet up and express themselves, all within a virtual
3D environment. What your avatar wears is one form of self expression, but just as important is the place you choose
to gather within. The IMVU Catalog offers a wide selection of Rooms, customizable 3D spaces created by fellow
Developers, which act as the backdrop for an even wider array of furniture items to populate them with. There is no
limit to what a Room can be, big or small, but there are some specific technical challenges to creating your own
environmental product.
Examples of just a few of the many Rooms created by IMVU, inc.

What is a Room?
Rooms are very much like Avatar Clothing, Furniture, or Accessories, they are 3D products that can be purchased
and “worn” by its owner. The main difference is that Rooms can contain your invited friends, exist as a persistent
Public place, and act as the setting for an activity or game. During the early development of IMVU, three dimensional
environments were what we now call “Locked Rooms”. These are spaces that came “pre-decorated” and did not
allow their owners to add furniture or customize them in any way. Today, Rooms are empty shells waiting to be filled
by their owners, or Bundled with products fitting to their theme.
Example of a Bundle containing Furniture products that compliment the Room theme

What Makes Rooms Different?


Rooms are not free roaming spaces, in fact Avatars, Furniture, and Rooms contain no collision information, so there
is no way for an avatar to wander around inside a 3D Room, stand on a chair, or sit at a table by itself. Rooms and
Furniture items include invisible Nodes where an Avatar can stand or sit, and these Nodes can be placed anywhere,
in any number, and they can include triggers for Avatar Actions and animations. Nodes are hand placed by the
developer responsible for the creation of the Room, and these can live in the floor, walls, and ceiling of your 3D
space.

Examples of Room wireframes with Nodes in place. Note the Node boxes on the floors, walls and ceilings of each
Room.

Size Is Relative
The only limits to the size of a Room is its polygon count. Although it is possible to create a Room of any size, it is
important to remember that the more polygons you have in your model, the slower the 3D software will run, especially
on older computers. To be safe, try and be clever about where you use your polys.

Comparison of a small simplistic Room and a larger more detailed Room


The same is true of the textures you use. Try and find a balance between detail/complexity and the file size of your
finished Room.

Be sure to visit the Furniture Tutorials to find out more about Furniture Nodes and other technical requirements
specific to creating Rooms for IMVU.

Ever get frustrated when your IMVU camera gets stuck behind some 3D in-world pillar, or solid wall? Ever wish the wall
could just magically disappear when your camera moved behind it, so it wouldn't obscure your view? Well it can, through
the use of See-Through Nodes. See-Through Nodes are nodes that are Linked to the Root node of a Room or Furniture
item which tells the camera not to draw any geometry Weighted to that node when the camera goes behind it.
For example, here is the IMVU Idol Furniture product. The
IMVU Idol logo with lights looks great from the front, but if
the camera moved behind it the view would be blocked by
the logo, obscuring the avatars on stage. In this case the
IMVU Idol logo and lights are saved as a separate Mesh
and Weighted to a See-Through Node that tells the camera
to no longer draw the logo when it moves behind it.

For See-Through Nodes to work, the part of your product


you wish to disappear will need to be exported as a
separate Mesh. Here we have built a test room that includes
all solid walls. We have broken each segment into its own
Mesh so each part will disappear when the camera rotates
around the outside of the room, allowing visual access to
the interior.

When assembled in your 3D application, the finished model will


look something like this.
Once your Mesh segments are finished and textured, create individual
Nodes for each segment and name them: SeeThrough01,
SeeThrough02, SeeThrough03, etc. and Link each to the Root or
Skeleton Node. Your eventual hierarchy should look something like
this:

The “Z” Axis of each Node will need to face into the CENTER of
your main model. This means that wall See-Through Nodes will
need to face inward on their sides, and ceiling See-Through
Nodes will need to angle (if ceiling slopes) to point towards the
center of your model.

end your mesh with See-Through Nodes should look something like this. Export each mesh separately, then
them into the IMVU Previewer. Once the .xsf file is loaded into the Previewer then it will do the rest and
meshes that are linked to See-Through Nodes will disappear as your camera swivels behind them. This is
ally handy when creating pillars, fireplaces, and thick walls in your model, but still desire freedom of
ment for your camera.
We have spent several months creating tutorials for all the various steps used to create a product for the IMVU Catalog.
Over time we realized that although we covered many of the mechanical steps used in the creation process, we haven’t
yet talked about our artistic motivations, or many of the tricks we use along the way. We decided to create a series of
tutorials that follow us through the process of creating several products, and we wanted to pay close attention to why we
are making the choices we do along the way.

One of our many personal projects is to create a


series of products that are thematically linked
together. These would be a collection of “Rooms”
that build upon each other and encouraged other
developers to come “play” with us as we
continued to add to that initial theme. For this
particular project we are creating a Renaissance
Faire venue for the placement of craft booths,
guildhalls, games, and all the supporting props
and costumes that might appear in a Faire
setting. To do this we needed to create a
consistent visual style and a way of working that
would support our ultimate goal of building a
series of places that felt like they belong together.

Part of creating an integrated style meant that we


had to work within the limits of what is achievable
inside IMVU, but still push at the boundaries of
what is artistically possible. Although we have
been creating 3D products for several years now,
we are always trying to stretch what we are
capable of achieving, and expanding on the
definition of what a virtual chat environment can
be.

To being with, I wanted to create an outdoor setting that would give the illusion of being
connected to a larger world than could easily exist within the polygon limits of what we
consider a 3D Room product. To do this I had to build an environment that focused a lot of
detail and complexity at its center and less at its distant edges. Rooms can be anything, but
they still are limited by how much geometry can be included within them.

I wanted to create an outdoor forest scene, one that gave the illusion that you were in the
center of a Crossroads, with paths leading off in four directions. Later I will suggest that
these various paths are going to eventually meet with other places (Rooms), but for now I
had the challenge of making a natural setting with as few polygons as possible. This can be
hard because natural places tend to feel asymmetrical and organic, and that is tough when
you are limited to only a few thousand triangles to build with.

I started with two Planes, one on top consisting of an 8x8 square grid, and one below made
of 12x12 squares. Because I will be using the top layer to place furniture on, I need it to be
perfectly flat. Although I "could" use only a one square grid for my flat plane, I wanted to
include some soft vertex lighting on the ground surface and only additional geometry will
allow that to work properly.

Selecting the lower 12x12 mesh, I pull up land masses through the upper mesh. I use a "soft
selection" so that I don't have to pull each vertex up individually and massage as I go. Once I
am happy with the look of these hills I can Attached the two planes to each other and delete
any unnecessary geometry underneath.
When creating the textures for the
terrain, I wanted to create a more
organic transition that draws attention
away from the hard edge that is
created when the two geometry
planes meet. To do this I created
three textures, a tiling grass texture, a
tiling dirt texture, and a transition
texture (made using the previous two
textures).

Note how relatively boring and flat the textures are... this is actually on purpose since
textures with a lot of detail and contrast tend to create noticeable repeating patterns when
tiled. I applied the tiled dirt texture to the flat plane, and the grass texture to the "hilly" plane,
then individually applied the transition texture where the two planes meet. Although this
takes a little more time to Map, the results are worth the effort. In this case I have suggested
a slight mud embankment just below the grass in the transition texture. This does a better job
of suggesting that the grass areas are elevated for a more naturalistic reason, rather than
being merely two carpets meeting on an uneven surface.

The last thing I do is apply vertex shading to the terrain square. I do this by flooding the
entire surface with a darker tint then erase highlight. This will suggest light falling through the
leaves of the trees I will soon be placing. You can see why I added the additional geometry
to the flat plane. If I had not the vertex shading would have not blended properly as it
transitions from the rolling grass hills to the flat dirt areas.
Now it is time to create the trees. Like the terrain, I want to make sure that I get a lot of mood
and variety without too much geometry. To do this I create some fairly simple cylinders with
branches extending in several directions at the top. A lot of my detail will exist in the texture I
apply to it, but I also want to make sure that some of the organic quality comes from the
geometry as well.

It can be really challenging to map


textures to organic surfaces, so I
will often apply my textures before I
attempt to torque or twist my
geometry. In the case of the trees, I
made sure to map my vertical
texture to the more symmetrical tree
model and only after I was happy
with how the textures were applied
did I start grabbing sections of the
tree and start twisting them around.
This does stretch the textures a bit,
but it also gives me a more organic
result.

To create variety in my forest of trees I will squash and stretch each duplicated tree trunk to
give the illusion of variety. It is actually amazing how much diversity you can create with
relatively little effort. I will also pull on the verts at the base of each trunk to better help it
conform to the uneven surface of the hilly terrain.

Leaves on trees can be tricky. You want the illusion of density, but you also want to avoid
creating something that includes too much geometry. To create the leave on my trees I
started with a modular mesh that I could use to construct a variety of tree foliage types. This
model consists of a solid central core (or pillow) and has "wings" extending from several of
the hard edges.
I have created a base leaf texture and two opacity
maps (each will be saved as their own material
and .xrf file). The body of the leaves use the first
mostly opaque opacity map, the second
represents the edges of the leave clump. The goal
here is to create something organic enough that it
doesn't draw attention to the simple geometry that
it is composed of. In the example on the left you
can see what the finished clump of leaves looks
like. Once the leaves are clustered over the trunk
they will have a more realistic quality.

This final tree model is


built using seven of
the above leaf
clusters. Although not
completely realistic, it
certainly does the job,
especially as a
background element
in our environment.

Another even less geometry intensive option is to create a simple tree created with a
bouquet of foliate flats. Although less elegant, these do the job of adding density to your
forest with less cost than the cluster option. In my scene I use these as purely secondary
filler objects that help break up the larger repeating tree trunks.

Artistic Note
This is a good time to talk about the
artistic choices I am making in the
building of my scene.
Although I might have been able to find photographic reference for many of my textures, I
have purposely chosen to paint all of my textures myself. One way to insure that all of the
various pieces that go into your scene are cohesive is to have full control of both the color
palette and eventual appearance of the final textures. It is also important to point out that my
textures have a hierarchy of their own. You may have noticed that both the grass and dirt
textures are really quite neutral, while the leaves and tree textures are more complex, in both
color and contrast. This is completely on purpose. By deciding what will draw attention and
what will fall into the background, I have more control over the actual experience of those
members visiting it!

Unlike a free-roaming virtual world like World of Warcraft, IMVU is made up of static
settings, or "Rooms" where avatars can meet and socialize. You can think of these Rooms
like theater or movie sets. For us to create large environments we need to suggest
complexity in the distance without actually building that detail out of geometry. In the case of
our Crossroads scene, all of our detail and complexity is at the center of the room, and all
outlying areas are made up of backdrops or flats. I call this the "Salad Bowl Approach" where
all the good stuff is in the middle and the surroundings are there as a container for that
theme or experience.

Surrounding the inner environment I wanted to imply that the forest trees continue, but I
didn't want to create it using reference that looks unlike the environments I have built for its
center. To create the surrounding forest I rendered my central trees in various positions then
created a 2D panorama in Photoshop. I generated an opacity map to allow you to view the
sky backdrop, which comprises the outer wall of my scene.
For the sky, I have purposely created a
warm and subtle backdrop that slowly
scrolls. This is to create atmosphere
without drawing attention to itself. I then
set the Ambient and Fog settings to the
same color range to give the illusion that
the light created by the sky is effecting
the entire environment.

With all the models built and textured, now we can add the Furniture Nodes. Since the only
flat area of my model is the paths, I am going to limit my node placements to those areas. I
"could" place nodes on the hills for additional tree products, but since the surface is uneven
pretty much everything else placed on them will look awful. In the spirit of making the Room
as nice looking as possible I have decided not to do that.

For Avatar Standing Nodes, I have just scattered a few on the path area. Since many
furniture products include their own Avatar Nodes I will allow them to create additional places
to stand or sit. I will also make sure to include lots of extra Avatar Standing Nodes with each
prop I create for this new series.
Once everything comes together we can check to see if all of our ideas are working as we had planned. The colors
should be complementary but not add so much variety that it becomes visually confusing. The detail of the tree trunks
and leaves draw attention and the simple ground, grass, and sky textures visually support rather than complete. The fog
and light settings are working well with the colors in the textures create a sense of depth and atmosphere. All the
foreground elements contain just the right amount of detail and complexity with the background flats subtly suggesting
this same complexity without having to create more geometry to achieve this look. All in all I think this works very nicely,
and since this is ultimately just a backdrop for a lot of furniture items, it is a good start. Our next challenge is to create
products that work well within this setting. We will also explore other ways to attain a similar effect but with different
environmental colors and settings.

In IMVU, you can replace the default avatar clothing with clothing of your own design. HOW FRIGGIN COOL IS THAT?!
You can make individual pieces of clothing, complete outfits or anything in between. Shirts. Pants. Fawn legs. Bear
suits. Peg legs. The choices are limitless.

However, building clothing is hard as it requires a patience and technical exactness that most other product types do
not require. The two main reasons for this are simple:

1. There are hundreds of thousands of preexisting products that define how an avatar’s skin is supposed to be laid out.
Customer expectation is that avatar skin will always be right so any deviation is viewed upon negatively.

2. As humans, we’re programmed to notice even the most subtle differences in anatomy and movement of that
anatomy. Therefore, the movement of, say, the shoulder really matters to your customers’ end experience.

While its true that building clothing is hard because you need to know how to model and map fairly well while, at the
same time, you need to know how to use Physique fairly well, take comfort in the fact that thousands of IMVU content
creators have done it. You can too!
Before jumping into building an avatar body part, please read the Introduction to Mesh Building Tutorial.

What is a Body Pattern?

Each avatar is made up of several, interconnected assets:


A skeleton, several meshes, several materials and
textures, and both triggered and idle animations. This
patchwork of assets is called a ‘Body Pattern’.

IMVU uses two main Body Patterns, the female (product


80) and the male (product 191).

...and a Body Part?

Each mesh included in an avatar body pattern is called a ‘Body


Part’. An avatar can be made up of any number of body parts.
IMVU’s two main avatars are made up of ten body parts and each
of them (or combinations of them) can be replaced by products
found in the IMVU catalog.

For example, if you want to change your hair, you just put on a new
hair product. Under the hood, though, the original hair body part is
being replaced with a new product that calls the same body part.

Override Body Parts on the default avatar

A new piece of clothing is made visible by means of overriding a Body Part on the default avatar Body Pattern. For
example, if you see a woman wearing a hoody sweatshirt in IMVU, it is because that hoody sweatshirt is overriding
product 80’s Body Part number 2 (the ‘top’). The same is true when you see someone wearing a peg leg. The peg leg
has no foot and so overrides both the leg (part 6) and the foot (part 8).
Body Part Override

Every body part product (shirts, gloves, shoes, etc.) gets


its override information from the Previewer. The Previewer
is IMVU's proprietary product-making program. To learn
more about the previewer, please go to the Previewer
Introduction Tutorial.

With the Previewer in Advanced mode, you can click on


the Special tab. On the left side of the Special tab, you will
see the 'Clothing Override BodyPart IDs' panel. Each
numbered box represents a different body part.

Please remember that an avatar can only wear one instance of a body part ID. For example, if a pair of stockings is set
to override body parts 6 and 7 and then your customer decides to put on a pair of eyelashes that also call body parts 6
and 7, the stockings will be removed to make way for the newly applied eyelashes.

Note: You can override multiple body parts or no body parts. Knowing this can influence what you decide to build. An
example of overwriting multiple body parts would be if you wanted to could build a peg leg. You could do so by
overriding both the foot and the leg with one product. At the same time, it can be useful to override no body parts. For
example, If you wanted to keep your outfit on but also wanted to add a trench coat - you could do that if the trench coat
did not override any body parts.

What Parts Can Change?

The IMVU avatars allow you to change the following body parts:

0. Head
1. Hair
2. Upper Body
3. Right Hand
4. Left Hand
5. Pelvis
6. Right Leg
7. Left Leg
8. Right Foot
9. Left Foot

Simply by checking the box next to a number in the 'Clothing


Override BodyPart IDs' panel, those body parts will disappear. Then,
you will need to add new geometry to be inserted for the overriden
body parts. To learn how to add geometry in the Previewer, please
go to the Previewer: Geometry Tab Tutorial.
Get the Weighting Files

To build new clothing, hairstyle and head geometry for the IMVU
Female Weighting File avatars, you need to begin with an avatar that is positioned in the
'weighting pose'.
Male Weighting File
A file for both the female and male is supplied to the left. These ZIP
files contain a MAX file for use in 3DS MAX, textures that are applied
to that file and a previously exported skeleton .xsf file. All of these files
will come in handy later when using the Previewer.

New Avatars

Considering that completely new avatar products will not work across all Furniture, Rooms, Head and Action menu
items, we will not be covering how to build your own entirely new avatar from scratch in these tutorials.

One skeleton - two bodies

The IMVU female and male avatar use the exact same
skeleton. This means you only need on skeleton .xsf file in
order to export geometry for both the male and female.

However, the shapes of the two bodies are quite different.


What's more, their weighting poses (or, the position of the
skeleton bones when the geometry is exported) are different.
So, please remember that, should you build a cool jacket for
the male that you want to port to the female, you will
essentially have to rebuild the mesh and redo the weighting.
Otherwise, the boundary vertices will look broken when
applied in IMVU.

What's with the Glasses, yo?

The same weighting files used for building Body Parts are used for
building Accessories. The glasses included in the weighting files are
there to help Creators learn how an Accessory needs to be teched.
Note that the Glasses are weighted to a skeleton that is different
from the Avatar skeleton. If you are building a new body part and
are distracted by the Glasses and Accessory bones, please feel
free to delete them.

To learn more, please go to the Avatar Accessories Tutorial.


Geometric Complexity

A body part can be as simple as one polygon, if you so choose. It


can also contain as many or as few morph targets as you like.

The IMVU body parts supplied in the weighting files can be pushed
and pulled to become a wide variety of shapes while still maintaining
the same mapping across problem areas (like shoulders and hips).

Note: By using the supplied body parts, you also get the peace of
mind of knowing that other products like skin will work with your
product too.

Budgets

Download and runtime file size is an issue that should be kept in mind whenever designing for IMVU. If your Head’s file
size is too big, it is unlikely that your potential customer will purchase and download it and, if they do, there is a very
high chance that they will review your product poorly and your sales will go down.

Therefore, it is good practice to try to keep the texture size, vertex/face count of your meshes and animation length
down to the bare minimum. There really is no reason to have a 256x256 texture for a button on a shirt: it just won’t be
seen in the IMVU messenger. In fact, we have found that the smaller the texture, the BETTER it looks in IMVU. Go
figure.

Also, please know that IMVU automatically resizes assets that are too large or teched incorrectly. To learn more, please
go to the Mapping Materials Tutorial.

Helpful Embedded Animation

Embedded in both example files is an avatar animation that moves


every bone in the body. It even moves the Pelvis away from the
Root node. This animation is meant to help you perfect the
weighting on your mesh. To learn more about skeletal animation,
please go to the Skeletal Animation Tutorial.

NOTE: While it is important to keep your avatar skeleton in the default position included in the example files, you can
quickly get the vertex weighting just right by adjusting the weights on the animated avatar.

For example, if you wanted to make sure your shoulder weighting was correct, just move the animation slider over until
the shoulders move to their end key frame. Then, simply dial in the weighting on your shoulder vertices one by one and
get it PERFECT. To learn more about weighting in Physique, please go to the Weighting with Physique Tutorial.

Please remember to put the animation slider back to zero when exporting your mesh. Any deviation from the master
position will result in a dark alley visit from Mr. Scary McNastiness.

Boundary Vertices?

A vertex is a point on a 3D mesh. The space between vertices


is called 'geometry' and that geometry is what is drawn on
screen when you're chatting in IMVU. A boundary is defined
as the open ends of a mesh where it is meant to meet up with
connecting parts. So, the vertices that live along the
boundaries of a body part are called 'boundary verts'.

For example, an avatar top product has boundary verts along


the neck (where it connects to the head), waste (where it
connects to the lower body) and wrists (where it connects to
the hands). Each boundary vert needs to be placed in the
exact same location as its neighboring body part. What's
more, each boundary vert needs to be weighted the exact
same way as its neighboring part. Otherwise, you get nasty
seams in the messenger.

Note: This 'nasty seams' business is actually very important.


When new geometry does not work well with existing clothes,
customers complain and the overall sales of that Creator are
hurt. So, take the time to get your placement and weighting
right on your boundary verts. It really matters.

Oh, Snap!

To get the boundary verts of two connecting pieces to be in the EXACT same location, just click the move icon and
then click on the Snaps Toggle tool. Now, you can click on one of the verts in your mesh and drag it towards its
destination. This will, as they say, ‘snap’ the vertex to the exact same 3D space as another vertex.

Note: Please make sure you only snap the verts of the mesh you are working on. For example, if you’re building a new
glove, make sure that you only move the vertices of your glove to the exact location of the wrist verts on the avatar top.
In the case of the glove, if you move the verts of the wrist on the ‘top’ body part, you will end up with a hole in your wrist
when the glove finally shows up in IMVU. As they say in northern Siberia, "Yuck."
Match the Skeleton

The Female and Male IMVU avatars use the same skeleton. This is to aide in animation portability as well as
cooperative animation construction. The exported version of this skeleton, Female04_Anime01_SkeletonMASTER.xsf,
is included in the example ZIP files mentioned above.

Although it is true that you can build your own avatar (complete with unique skeleton), most people utilize the enormous
market that the existing body definitions represent. Consequently, most people will want to use the existing skeleton as
the basis for their clothing.

While building your mesh, please take care to note the placement of the actual joints of the IMVU skeleton and built
your joints in the same general area. This will save you a lot of time later when weighting your mesh.
Material IDs and Mapping

Although IMVU covers the basics of Material IDs and Mapping in the Mapping Materials Tutorial, there are enough
avatar-specific mapping tips to warrant their own tutorial. To learn more, please go to the Avatar Material IDs and
Texture Mapping Tutorial.

Use IMVU's Skin Mapping

If you are building a body part that is meant to work seamlessly with
the rest of products in the IMVU catalog, please remember to use
the texture mapping already embedded in the meshes supplied in
the master weighting files.

As mentioned above, IMVU users expect their skin texture products


to work perfectly across all clothing meshes. When their skin texture
products do not work perfectly, they get upset, leave bad reviews
and spread the word that your products are unreliable. So, please
err on the side of delighting your customers and use the texture
mapping IMVU has already lovingly built for you.

To the left is the 256x512 plaid texture we use to make sure that our
mapping is near perfect. When this texture is applied to the avatar
body in MAX, the horizontal and vertical lines are drawn as near
straight as possible. This should allow you to more easily see how
the skin on your new meshes is mapped and, more importantly,
whether or not it matches what is on the master meshes.
Weight the Mesh.

With your body part completely built, it is time to weight it. 'Weighting' means that
each vertex in a mesh knows which bone it ought to move with. If a mesh isn't
weighted, it won't show up in IMVU. Aside from hair, all body parts must use the
Physique weighting modifier in MAX.

To learn more, please go to the Weighting Using Skin Tutorial and the Weighting
Using Physique Tutorial.

Export .xmf

All body parts intended for use on the IMVU avatars use the same skeleton. This means that no matter what body part
you are creating, you can use the 'Female04_Anime01_SkeletonMASTER.xsf' skeleton file that comes in the master
weighting ZIP files.

Just follow the export steps for exporting a mesh .xmf file as usual (to learn more, check out the Export the Mesh - .xmf
Tutorial.) Then, when prompted for the skeleton, browse to the 'Female04_Anime01_SkeletonMASTER.xsf' skeleton
file and then click OK until the mesh is exported.

Remember: you must manually add the '.xmf' at the end of your asset name or you will end up exporting a useless .cmf
file.
Relevant Links

While most of the tips above apply to most of the body parts you can build, there are other tutorials that are
recommended. Check 'em out:
Ah, hair. Long, lustrous hair. Short, curly hair. Bouyant hair. Striking hair. Attitude. Style. Chickens. OK....not so much
with the chickens.

Hair is one of the most defining characteristics of an avatar. Arguably more so than any other characteristic (of human
avatars, anyway). In IMVU, you have the power to create your own hairstyles - anything you can think of. Mohawks.
Bobs. Crew cuts. Ponytails. Your only limitation is your imagination.

Building beautiful hair is truly an art form. On top of that, there is some technical skill required. For example, you need
to know how to build in 3D, build textures, map those textures and weight the mesh. Therefore, building hair should not
be considered 'easy'. That said, once you do it a few times, you will see that it can be one of the easiest body parts to
create.

While many of the basics of hair construction are shared with other body part creation tutorials, there are enough
specifics to warrant its own tutorial. This tutorial will walk you through the essentials of building Hair and Hats.

For the purposes of this tutorial, we assume you have read the Avatar Body Parts Introduction, the Weighting in
Phsyique Tutorial, the Export the Mesh - .xmf Tutorial, the Export Materials - .xrf Tutorial and the Previewer
Introduction.

Get the example files

We assume you have already read the Avatar Body Parts


Introduction and therefore know where to get the default weighting
avatars. If for some CRAZY reason you didn't get them then, you
can get the Female Weighting File here and the Male Weighting File
here.

With one of these files open, zoom into the avatar head and select
the hair mesh.

Remember: you can build your own mesh at any time during this
tutorial.
Build to the Head

With the hair mesh selected, you can see how it conforms to the shape of the avatar head underneath.

The default avatar heads in IMVU are of an enlarged, anime style. All of the accessories and hairstyles in the catalog
have been built to fit these default heads. If you want your hair product to work across most of the IMVU avatar heads
in the catalog, then your hair mesh should be built to fit the default avatar head embedded in the master weighting files.

Basically, in MAX, your hair will look enormous in order for it to fit the original head.

This is OK, though, as the size of the head varies across products due to the mesh scale feature. To learn more, please
check out the Mesh Scale Tutorial.

Ears & Neck

If you are making a long hairstyle, that is meant to cover the ears &
neck, then you can move on to the next section.

If you need to wrap around the ears & neck for any reason, then
read on.

Although you are free to use your own shapes, the shape of the hair
around the ears & neck typically fits snugly to the head mesh. This is
really handy as this means you can avoid 'Z fighting' along those
edges.
Z Fighting?

When two polygons live very close together in 3D space, rendering


engines have a tough time deciding which to draw first. The result is
an annoying, shimmering effect. This looks especially bad on
products that interface with an avatar head as that is what most
people are looking at when chatting.

To avoid Z fighting, you can snap your hair verts to the same exact
location as the head verts.

Two Materials

As you know from reading the Avatar Body Parts Introduction, one Body
Part can contain multiple materials. For example, the avatar head
contains both the head skin, eyes, eyebrows and eyelashes.

Hair meshes can contain two materials: one for Hair and one for Hat.
Obviously, you can use these two materials however you like on the
body part that is meant to override the hair slot. Said another way, you
could use the 'Hat' material for a hairclip...or antennae....or a helmet...or
a chicken antennae hairclip helmet...thing.

To see the materials in MAX, open the material editor and use the eyedropper to select the avatar's multi-sub material.
The material ID for Hair is ID 5 [4] and the material ID for Hat is ID 11 [10].

To learn why I wrote the [brackets] above, please check out the Avatar Materials Tutorial

Budgets

Please remember to keep the polygon count of your hair down to as low as possible (while
still looking like what you intended to build).

One of the biggest complaints IMVU recieves is about the time it takes to load a scene that
contains avatars with big hair (no Jersey jokes). IMVU will no doubt have to take action
against such products in the future. Don't let your products get procedurally reduced!

Please keep your hair products small.


Hats Amore!

Although a hair body part is made up of one body part ID, it can
contain a hat as well. Think of it as one product that contains both
hair and hat.

This is handy for things like helmets as you can force the avatar to
not wear the spikey mohawk when wearing the helmet.

Mapping

Once you have built your mesh, it is time to map it. To learn more,
please go to the Avatar Materials and Texture Mapping Tutorial.

There are some Hair-specific mapping points you should know as


well. The most important is that it is a very, very good idea to spend
time getting the mapping on your hair to be as highly customizable
as possible.

This means that the mapping on your hair is detailed and refined.
You could apply a plaid texture to it and see each vertical and
horizontal line evenly applied to the whole mesh. Giving your future
derivers the ability to expand on the details in this way ensures a
highly derived product and, therefore, more sales.

Another important material-related thing you ought to know concerns opacity maps. To learn more, please go to the
Opacity Maps Tutorial.

To sum it all up, though, you must understand that if you use an opacity map on your Hair body part, then you run the
risk of having that hair disappear in some circumstances due to an IMVU opacity bug.
Weighting -
Use 'Skin' for solid masses

Once you hair mesh is built the way you like it and mapped to allow
other creators to easily create textures for it, it is time to 'weight' it.

For hairstyles that are meant to move entirely with the head, we
recommend that you use the 'Skin' weighting modifier in MAX. To
learn more, please go to the Weight a Mesh Tutorial.

Weighting -
Use 'Physique' for the Rest

If your hair is meant to move partially with the head and partially
with other parts of the body, you will need to use the 'Physique'
weighting modifier in MAX.

To learn more, please go to the Weighting in Phsyique Tutorial.

Export .xmf

Once you have a mapped and weighted mesh, you can export it. Choose the export option in the File menu, browse to
the 'Cal3D Mesh File (*.CMF, *.XMF)' option and name your mesh.

Remember: you must manually add the '.xmf' at the end of your asset name or you will end up exporting a useless .cmf
file.

In the
Previewer - Body Part Override

Open the Previewer and choose to derive from product 10866 for
Female hair and product 344 for Male hair.

As you no doubt remember from the Avatar Body Parts Introduction.,


the 'Special' tab in the Previewer contains the Clothing Override Body
Part IDs panel. The body part to override in the Previewer is '1'.

NOTE: You will not actually need to make any changes to this panel if
you are deriving from an existing hair product.

Previewer - Add Mesh

In the 'Geometry' tab, browse for your newly exported .xmf file. and hit the Apply Changes button. Your new mesh
should appear with the existing material applied to it. If this is the case, move on to the next step. If this is not the case,
then something went wrong in the export process. If so, you will need to check:

1. the weighting in MAX (is the skin/physique modifier turned on? Are the vertices weighted?)
2. the skeleton .xsf file (did you use the 'Female04_Anime01_SkeletonMASTER.xsf' file supplied in the ZIP files?)
3. the exported asset's file type (it should be '.xmf' - not .cmf or anything else)
Previewer - Add Textures

In the 'Materials' tab, you can browse to add a new material .xrf file if you exported one. 99.99% of the time, you do not
have to export your own material file as the one included in the default avatar should suffice. You really only want new
textures to show up anyway so just click on the diffuse (color) texture to change it to your new texture.

Remember: If you want to change the opacity map, you must click on the Opacity link in the 'Material Maps - Click to
preview' panel. To learn more about opacity maps please go to the Opacity Maps Tutorial.

Previewer - Save & Submit

Save this product and submit it. Voila! You have created a skin tight composite mesh that can be derived from by
thousands of painter Developers from around the world.
In 3D, a 'Material' is essentially just a collection of data. The particular data contained in a Material all revolve around a
texture. What is the name of the material? What texture is contained? Are there multiple textures (in the case of an
opacity map)? What material ID is that texture supposed to be applied to? Is any ambient lighting applied to the
material? Is the material two sided (ie - can it be seen when viewing both sides of a polygon)? Several of the bits of
Material data that are useful in 3DS MAX do not translate directly into the Previewer. Rather, you have to specifically
choose things like 'two-sided' in the Material properties in the Previewer.

As mentioned above, each Material contains a texture. However, the Material does not dictate how that texture is
applied to a mesh. That is handled with some sort of 'Mapping' tool. When IMVU refers to a "mapping a texture" we
mean that the mesh knows what Material ID goes where and how the textures are actually applied across the surface
of that mesh.

Assumptions

This tutorial assumes that you are using 3D Studio MAX. It also assumes that you are using the files found in either the
Male03 _Anime01 _WeightingPoseMASTER.max that is found in Female Weighting File or the Male03 _Anime01
_WeightingPoseMASTER.max that is found in Male Weighting File

This tutorial also assumes that you have already selected the male head mesh, applied the Physique modifier and
Initialized it. This tutorial *also* assume that you have read the Introduction to Avatar Clothing and the Mapping
Materials Tutorial.

Select Faces

The original IMVU body parts come with a multi-sub material applied to them. If you are building a body part that is
meant to work with the existing skin products in the catalog, please stick to the material IDs provided in the MAX file.
That way, you won’t have to export new material (xrf) files for your new body part – all of the textures will just work!

If you are using the body parts provided in the Example files as a starting point for your new body part, you will need to
remap the textures. This is easy. Once you’re happy with the geometry, select the faces of your body part whose
texture mapping you want to change.
UVW Map

With your geometry selected, add a “UVW Map” modifier to it in the ‘Modify’ stack on the right hand side of the screen.

When you add the modifier, the list of options at your immediate disposal are centered around texture mapping. Click
around on the Mapping Parameters like Planar, Cylindrical or Box to see how that effects the Mapping gizmo that is
now displayed on your mesh. Also make sure to play with the X, Y, Z buttons and the Tiling and Flip boxes.
Use IMVU's Skin Mapping

If you are building a body part that is meant to work seamlessly


with the rest of products in the IMVU catalog, please remember to
use the texture mapping already embedded in the meshes supplied
in the master weighting files.

As mentioned above, IMVU users expect their skin texture products


to work perfectly across all clothing meshes. When their skin
texture products do not work perfectly, they get upset, leave bad
reviews and spread the word that your products are unreliable. So,
please err on the side of delighting your customers and use the
texture mapping IMVU has already lovingly built for you.

To the left is the 256x512 plaid texture we use to make sure that
our mapping is near perfect. When this texture is applied to the
avatar body in MAX, the horizontal and vertical lines are drawn as
near straight as possible. This should allos you to more easily see
how the skin on your new meshes is mapped and, more
importantly, whether or not it matches what is on the master
meshes.

Unwrap UVW

When you have arrived at the base Mapping modifications that you are happy with, it is time to dig into the details. Click
the Unwrap UVWs button.
Unwrap UVW - Click Edit

When you Apply the IVW modifier, an ‘Edit’ button will appear under the ‘Parameters’ section. Click that button.
Edit UVWs

Click that ‘Edit’ button and the Edit UVWs screen will pop up. Just select points or groups of points and move them
around as you like. You can zoom in as close as you like to make sure the textures line up right.
Unwrap settings

I typically have the Edit UVWs window options customized to allow me to see the adjustments I make in real time on
the mesh. SUPER handy. Below is a shot of all of my unwrap settings.
Mapping your materials

Please note, IMVU supplies you with a perfectly working sub-material to use with your body parts. This sub-material
contains skin, eyes, and eyebrows already set up for you. Although you may create your own mutli-subs for your head,
IMVU recommends you use the embedded ones for your first pass at head building.

Texture mapping in any 3D program is an art all its own. However, there are a few IMVU specific things that you ought
to know before you can export. First up, when you are ready to export, you are meant to have only one (1) material that
is a multi-sub material. Within the multi-sub material, you may have as many material ids as you like.
One, Multi-Sub Material

If you are using MAX, you may only have one material on your model. This material can contain as many sub-materials
as you like and can therefore be a “Multi-Sub” material. If you are using another 3D program, it is likely that you will
have to have separate top level materials. This may result in your needing to have more meshes than described in this
document.
Material Naming Convention

When creating your materials for IMVU products, you must follow a simple numerical naming convention in order for
your textures to show up in the previewer. Each material name must contain a bracketed number at the end of the
name. For example:

FrogTexture [2]

The number contained in the brackets is always one number less than the material index in MAX. Therefore, every time
you have a material in index 1 in MAX, that material's name must contain [0] at the end of its name. If the index is 6, the
convention is [5]. If the material is 10, the convention is [9] and so on. It is actually pretty easy once you know what to
do. It is also easy to forget if you've never done it before. Very easy.

Another thing to consider when naming your sub-materials is that they need to be consecutively numbered. You cannot
have four sub-materials number [0], [2], [7], [22]. If you have four sub-materials, those materials must be numbered [0],
[1], [2], [3]. Otherwise, you will end up with a product that will eventually not load.

Avatar Material Assignments

The IMVU avatar comes with a preset number of Materials. Each Material has a unique ID as per the naming
convention listed above. These IDs are used in the active IMVU avatar so please try to follow them when building your
mesh. Here is the list:

Material 0 = UpperBody
Material 1 = LowerBody
Material 2 = Head (skin)
Material 3 = Eyes
Material 4 = Hair
Material 5 = Eyelashes
Material 6 = Eyebrows
Material 7 = Skin
Material 8 = Shoes
Material 9 = Gloves
Material 10 = Hat

Reminder: Texture Budgets

Although you should review the Mapping Materials Tutorial, I just want
to remind you to keep the following list in mind when creating your
textures for IMVU products:

No texture should be greater than 512x512 pixels (this is actually a very helpful guideline as the larger your texture, the
worse it looks in the IMVU window. This is due to IMVU having to cram all of your texture information into just a few
pixels. Better to play it safe and keep your texture small and, surprisingly, more legible)

In the IMVU rendering engine, it is far better to have many small textures rather than one big texture. This runs contrary
to many other engines wherein puzzle-like texture collages are used to save rendering budget.

Although we haven't hit a tiling limit yet, it is recommended that you keep your tiling down to 40 or so times.

.jpg is the file type of choice. There are a plethora of file types that we support but we have found .jpg to be both the
best tasting and most filling.
Smoothing Groups

To avoid geometrical looking meshes in IMVU, it is important


to make sure that all of the smoothing groups for a given
mesh are set up properly. To learn more, please go to the
Smoothing Groups Tutorial.

Morph Targets

You can build a morph target for any mesh in IMVU.


However, morph targets are not necessary for creating
body parts. To learn more, please go to the Morph Targets
Tutorial.

To learn more about building Avatar Heads, please go to


the Avatar Heads Tutorial.

Export Mesh - .xmf

Once you have built your mesh, applied Material IDs, mapped your texture and weighted your mesh, it is time to export
your mesh. When building any other type of mesh product, you would also export your materials. However, avatar
products use the materials that have already been exported by IMVU. In fact, when you build your final product, it is
highly likely that you will not be overriding the materials at all. Rather, it is highly likely that you will only change the
mesh and textures.

To learn more about exporting any Mesh in IMVU, please go to the Exporting Introduction and the Exprting the Mesh -
.xmf Tutorial.
Previewer

Once you have an exported .xmf file, it is time to hop into the Previewer. To learn more, pleae check out the Previewer
Introduction and the Avatar Body Part Previewer Tutorial.

'Composite skin' is the technical name for an item of clothing that is skin tight but does not override the skin texture.
This allows IMVU users to change skintight items while keeping their underlying skin texture on and thus still being
'them'. Even better, it allows IMVU Creators to create clothing items simply by painting them on as opposed to having to
mesh, map, weight and export their own entirely new geometries. As you can imagine, composite skin products deliver
a pretty broad canvas to those Creators who are better painters than builders.

There really is no special magic involved. Although it might be a bit confusing as to why we built the functionality this
way, it works and we are sticking with it! ha.

For the purposes of this tutorial, we assume you have read the Avatar Body Parts Introduction, the Weighting in
Phsyique Tutorial, the Export the Mesh - .xmf Tutorial, the Export Materials - .xrf Tutorial and the Previewer
Introduction.
Build Mesh - Select the Mesh

We assume you have already read the Avatar Body Parts


Introduction and therefore know where to get the default weighting
avatars. No? You don't remember? Fine. You can get the Female
Weighting File here and the Male Weighting File here.

With one of these files open, select the body part you wish to
export, then select the Edit Poly modifier that already exists in the
stack.

Remember: you can build one mesh that covers the entire avatar
body. This will require new weighting but it can be done.

Build Mesh -
Select All Polygons in That Mesh

In face select mode, select all of the faces of the mesh.


Build Mesh - Change Material ID

Change all of the material IDs on the mesh to material ID 1 - which is the
UpperBody [0] material slot.

Build Mesh - Weight & Export

Weight the mesh using Phyqisue. To learn how to do this, please go to the
Weighting in Phsyique Tutorial.

With the mesh selected (it should turn white in wireframe mode), choose Export in the file menu, scroll to the .xmf file
format, name your mesh file, click save, choose the avatar skeleton file that comes in the ZIP files found in step 1 and
then click next/finish until there are no Cal3D windows visible.

TIP: to avoid confusion with other Developers' products and therefore to avoid copyright infringement issues, please
give your .xmf file a name that is easily recognizable as coming from you.

Build Mesh - Make Two Textures

In an image editor like Photoshop, create a diffuse (opaque/color) texture and an opacity/alpha texture that match the
size of the avatar's skin texture. This texture can be either 128x256 or 256x512. So, using an avatar skin texture as a
guide, you should make two separate textures: a diffuse texture and an opacity texture.

To learn more about where to download avatar skin textures, please go to the Textures Introduction.

To learn more about opacity maps, please go to the Opacity Maps Tutorial.
Create Material - Launch Material Editor

In MAX, open the material editor, use the eyedropper to select the
avatar's multi-sub material and then open the ID 1/UpperBody [0]
sub-material - this is the upperbody submaterial.
Create Material - Add Diffuse Map

Click on 'diffuse' and browse for your newly created


diffuse texture. Then hit the back button on the material
editor to get back to the ID 1/UpperBody [0] main area.

Create Material - Add Opacity Map

Click on the button that says 'none' next to the word 'opacity' for this sub-material. In the dialog that appears, double
click on the top option, 'Bitmap', and browse for your newly opacity map. Now close the Material editor.

To learn more, go to the Opacity Map Tutorial.

Create Material - Export .xrf

Select nothing in the main MAX window, choose Export, scroll to the .xrf file format, name your material file, choose
the material named 'UpperBody [0]' and click next/finish until there are no Cal3D windows visible.
Previewer - Derive

We assume you have already read the Previewer Introduction.

Open the Previewer and create a derived product. If you are making a Female skintight, composite mesh, choose to
derive from product167. If you're making a Male mesh, choose to derive from product185.
Previewer - Override Body Parts

In the 'Special' tab, choose which body part you want your mesh to
replace.

To learn more about Body Part replacement, go to the Avatar Body Parts
Introduction.

Previewer - Add Mesh .xmf

In the 'Geometry' tab, browse for your newly exported .xmf file. and hit the Apply Changes button. Your new mesh
should appear with the existing material applied to it. If this is the case, move on to the next step. If this is not the case,
then something went wrong in the export process. If so, you will need to check:

1. the weighting in MAX (is the physique modifier turned on? Are the vertices weighted?)
2. the skeleton .xsf file (did you use the 'Female04_Anime01_SkeletonMASTER.xsf' file supplied in the ZIP files?)
3. the exported asset's file type (it should be '.xmf' - not .cmf or anything else)

Remember: If you want to use multiple body parts (ie - if you want to override both the Top and the Pelvis), you must
add .xmf files for each body part you want to override. To do add multiple body parts to a product, click the 'Add' button
in the Specified Body Parts panel and choose which ID you wish the new mesh to occupy.

Previewer - Add Material .xrf

Under the 'Materials' tab, browse for your newly created .xrf file in the Material 0 panel and hit the Apply Changes
button.

Your new mesh will show up without any textures. That's OK - now you just have to add them. Browse for the textures
you used when exporting your xrf file and hit apply changes. Your textures should now be visible on the mesh.

Note: Please remember to add a texture for both the Diffuse and Opacity texture channels.
Previewer - Save & Submit
Save this product and submit it. Voila! You have created a skin tight composite mesh that can be derived from by
thousands of painter Developers from around the world.

OK....this tutorial looks *eerily* like the Weighting in Physique Tutorial. Yes. We know. That is because they are the
same thing. However, we figured that it would be easier for female head builders to find this way. Enjoy.

A mesh does not know how to move with a skeleton unless the vertices of that mesh are 'weighted' to a bone in the
skeleton. If a mesh is not 'weighted', then it will not show up in IMVU as it simply won't know what it ought to attach to.
The most common ways to 'weight' a mesh in 3DS MAX are by using the Skin modifier or the Physique modifier.

Each of these modifiers tells a vertex which bone it ought to move with. The Skin modifier is the easiest to use but is the
most limited. Therefore, it is mostly used for meshes that do not have organic movement - ie. Furniture, Rooms,
Accessories, Modicons.
Avatar Heads, Clothing and Pets, on the other hand, typically require more organic movement. Said another way, an
avatar head needs to move with both the head bone and also the neck bones below it. In this case, you would use the
Physique modifier. Physique is harder to use than Skin but allows for a much finer degree of control.

For the purposes of this tutorial, we will be weighting the female avatar head. However, the process described in this
tutorial may be applied to any product type.

IMPORTANT NOTE: In the case of any product type, please remember not to mistakenly move any bones in the
product's skeleton. For example, in the case of an avatar Head mesh, the Head bone must be in the default orientation
(ie, the exact same position and rotation as the original, MASTER animation file) when the parent mesh is exported or
your head will look broken when applied in the Previewer.

Also note: If you want to learn more about weighting the Male avatar head, specifically, please read through this
tutorial and then check out the Male Head Weighting Tutorial.

Select the Mesh

In the case of the female avatar head, the Female04 _Anime01


_WeightingPoseMASTER.max file that is found in
FemaleWeighting.ZIP already contains Physique weighting
information. However, we are going to pretend like we are building a
new head and need to assign a new Physique modifier to that new
head.

Once you have finished building the geometry, assigning the


material IDs, mapping the textures, and building the morph targets,
its a good time to add Physique.

The first thing to do is select your Parent Mesh.


Add Physique

With your Parent Mesh selected, add a Physique modifier to it (if you don't have
Physique in your set of buttons, you can add it by clicking the setup button in the
stack).

Attach to node

Once you have added a Physique Modifier to your mesh, its time to get it set up
for editing. Click the 'Attach to node' button in the physique panel.

Select the Parent Object

The next thing to do is pick the bone in the skeleton that will drive the weighting
information. This implies that the skeleton you are working with has been set up
to work with Physique. The IMVU avatar skeleton works great - so don't sweat
making Heads or Clothing. However, if you must know ("I must. I must"), a
skeleton for use with Physique needs an extra bone at the end of every chain in
the hierarchy. For example, this is why the 'xTipBone33' bone lives just below the
'Head' bone in the IMVU skeleton hierarchy.
Anywho, although you *can* just click on the bone in the scene, it is possible to mistakenly click on another
bone or mesh by accident. So, I never take chances and, instead, just click the 'select by name' button
Pick Object Dialog Box

In a properly teched skeleton, there will be a bone that lives between the Root bone all other bones. In the case of the
IMVU avatar, this is the Pelvis bone.

Pick the Pelvis bone in the list and then click the 'Pick' button.

Initialize

When you click the Pick button, the 'Physique Initialization' dialog box will appear. This is the place where you set the
overall properties of your Physique modifier. There are a few settings that ought to be considered when using
Physique. Although playing with the settings is always a good idea, I recommend you do the following:

1. Under Vertex - Link Assignment, check 'Rigid'


2. For Blending Between Links, choose 'No Blending'
3. For Radial Falloff Envelopes, uncheck 'Create Envelopes'.
4. expand the Link Settings and uncheck 'Continuity'.

Then, click 'Initialize'.


Vertex Edit mode

With your Physique modifier initialized, enter Vertex edit mode in the modifier
stack. Typically, simply editing this mode also puts you in 'Select' mode as well.
This is good. You want to be in 'Select' mode as you are about to select vertices in
the mesh.

Select Vertices

In the case of the avatar head, it is always handy to select vertices from either the left or right hand view. The first
vertices you are going to select are the ones you want to weight to the head bone. So, you select all of the vertices of
the head *except* the ones that you want to move with, say, the neck.

Said in a way that applies to all meshes, you want to select all of the vertices that will be weighted to a given bone...and
no others.

When you first enter Select mode, all of the vertices appear as white plus signs (using the default MAX weighting color
set up). The plus sign means that the vertex is 'open' or that it doesn't yet have weighting information. When you select
a vertex that has no weighting information, it turns blue.
Assign to Link

Once you have all of the correct vertices selected, click the 'Assign to Link' button.
Hover your mouse over the link you want to weight your vertices to. The link is the thin
red or yellow line that travels througout the skeleton - from bone to bone. When you
hover your mouse over, say, the Head bone, it will change to a cross hairs. This
means that there is a link available to assign to.

Click on the Head link.

Red = assigned
All of the vertices that you had selected should now have turned red. This means they have weighting assignments.
However, they're not weighted yet.

Lock Assignments

With a link assigned to your verts, its time to lock those assignments. So, click the
'Lock assignments' button and note how all of the red plus signs become red
squares. Those vertices are now weighted.

Now you know how to weight vertices to one link using the Physique modifier. Aw
yeah.
Select Again

Now click the 'Select' button and select all of the neck verts. Just like you did with the first set of verts, click 'Assign to
Link'. However, this time, select the next link down from the Head bone, the Neck04 link, and then click 'Lock
Assignments'.
Type-In Weights

In contrast to the last batch of weighting you did on the Head vertices, the Neck
vertices are going to be weighted to more than one bone. This means that they will be
influenced by the movement of both bones you weight it to. Essentially, this is the
power of Physique.

Click the 'Type In Weights' button.

Type-In Weights Dialog Box

In the dialog that follows, click to show All Links, click on the Head bone listing and then drag the Weight slider up to
1.0.

Note: The 'Neck04' bone is already set to '1.0' because you just weighted the selected vertices to that link.

You have just set the neck vertices to have the same weighting as all of the corresponding neck vertices in the female
avatar tops:

Head: 1.0
Neck04: 1.0

This means that your head will work seamlessly with all of those tops (ie, not tear. Yuck.) Of course, it is still possible
that someone out there made their top wrong...

When you're done setting the weights on the selected vertices, just close the Typ-In Weights dialog box.
Test, Iterate and Export

Close the Type in Weights dialog and click on the top level Physique modifier in the stack to get out of vertex edit mode.
Grab the head bone and rotate it around to see how your head moves. The head should feel like a solid mass moving
with the Head bone - no part of it should be mis-shaped. The neck should move slightly with the Head bone.

If you see any vertices that do not move with the head bone, then they were not weighted correctly or at all. Go back,
select those verts and weight them using the process above.

If all looks good, you have completed weighting the head and you can export. To learn more about exporting a mesh
.xmf file, please go the Exporting the Mesh - .xmf Tutorial.

This tutorial is an extension of another tutorial that is required reading in order to understand what we're talking about.
To learn more, please go to the Female Heads Tutorial.

This tutorial deals with minutia associated with weighting the Male avatar head.
IMPORTANT NOTE: In the case of any product type, please remember not to mistakenly move any bones in the
product's skeleton. For example, in the case of an avatar Head mesh, the Head bone must be in the default orientation
(ie, the exact same position and rotation as the original, MASTER animation file) when the parent mesh is exported or
your head will look broken when applied in the Previewer.

Assumptions

This tutorial assumes that you are using the Male03 _Anime01
_WeightingPoseMASTER.max that is found in
MaleWeightingMaster.ZIP This tutorial also assumes that you have
already selected the male head mesh, applied the Physique
modifier and Initialized it.

Main Head Verts

The Male head sits on the skeleton a bit differently than the Female and therefore requires somewhat different
weighting. First, select the head verts just as you did in the Female Heads Tutorial/Physique Tutorial and assign them
to the Head link.

Remember to click the 'Lock Assignements' button to actually weight the selected vertices.
Mid Neck Verts

Then, select the mid neck verts and assign them to the Head link. Then, click Lock Assignements to weight the selected
vertices.
Type-In Weights

Click the 'Type-In Weights' button to bring up the Type-In Weights dialog box. Choose to show 'All Links', click on the
'Neck04' and drag the Weight up to 1.0.

This will weight the mid neck verts 100% to both the Head and Neck04 links. Essentially, this allows for a much more
believable twist in the neck as the head looks around in IMVU.
Bottom Neck Verts

Now, select the bottom verts along the neck line and assign them to the Neck03 link. Then, click Lock Assignements to
weight the selected vertices.
Test, Iterate and Export

Close the Type in Weights dialog and click on the top level Physique modifier in the stack to get out of vertex edit mode.
Grab the head bone and rotate it around to see how your head moves. The head should feel like a solid mass moving
with the Head bone - no part of it should be mis-shaped. The neck should move slightly with the Head bone.

If you see any vertices that do not move with the head bone, then they were not weighted correctly or at all. Go back,
select those verts and weight them using the process above.

If all looks good, you have completed weighting the head and you can export. To learn more about exporting a mesh .xmf
file, please go the Exporting the Mesh - .xmf Tutorial.
Talk about your simple tutorials!

A lot of people want to know what the IMVU avatar skeleton hierarchy looks like. Really - its the word on the street!

Knowing the hierarchy and, more specifically, the exact bone names that are included in the IMVU avatar skeleton can
help a LOT if you're making an Accessory product. If you want to know more about Accessories, please go to the
Accessories Introduction Tutorial.

Here it is:
Female03MasterRoot
PelvisNode
lfHip
lfThigh
lfCalf
lfFoot
lfToes
xTipBone86
rtHip
rtThigh
rtCalf
rtFoot
rtToes
xTipBone38
Spine01
Spine02
Spine03
Spine04
lfClavicle
lfShoulder
lfbicep
lfElbow
lfWrist
lfHand
lfmetaCarpal01
lfThumb01d
lfThumb02
lfThumb03
xTipBone88
lfmetaCarpal02
lfFingerIndex01
lfFingerIndex02
lfFingerIndex03
xTipBone89
lfmetaCarpal03
lfFingerMiddle01
lfFingerMiddle02
lfFingerMiddle03
xTipBone87
lfmetaCarpal04
lfFingerRing01
lfFingerRing02
lfFingerRing03
xTipBone90
lfmetaCarpal05
lfFingerPinky01
lfFingerPinky02
lfFingerPinky03
xTiprtFingerne83
Neck01
Neck02
Neck03
Neck04
Head
xTipBone33
rtClavicle
rtShoulder
rtbicep
rtElbow
rtWrist
rtHand
rtmetaCarpal01
rtThumb01
rtThumb02
rtThumb03
xTipBone66
rtmetaCarpal02
rtFingerIndex01
rtFingerIndex02
rtFingerIndex03
xTipBone70
rtmetaCarpal03
rtFingerMiddle01
rtFingerMiddle02
rtFingerMiddle03
xTipBone74
rtmetaCarpal04
rtFingerRing01
rtFingerRing02
rtFingerRing03
xTipBone78
rtmetaCarpal05
rtFingerPinky01
rtFingerPinky02
rtFingerPinky03
xTiprtFingerne82
zhead

zhead & xTip? Not so much

The zhead bone is only for use by the procedural gaze system IMVU uses to make the avatars come to life. So, there is
no need to utilize this bone in any of your products.
The same goes for all of the xTip bones. These only exist to make sure that the Physique weighting modifier works
properly when creating avatar body parts.

In IMVU, you can create Avatar Accessories. Accessories are products that can attach themselves to a bone in an
avatar's skeleton. This means that you have the power to make watches, halos, wings, PETS. Anything! The power is
in your hands.

Just like Furniture products can be added to Room products, Accessories can be added to Avatars.

Building an Accessory from scratch is not easy. However, it can be much easier than building avatar clothing from
scratch. This is because you need to know how to model and map in 3D as well as weight meshes. Should that deter
you? No! Of course not. Thousands of people have built their own accessory products and so can you.

Before diving into building an accessory, please read the Introduction to Mesh Building Tutorial.

In addition, some things to note up front:

There is a run time Accessory limit per bone in IMVU. You may wear multiple Accessories at one time but may only
wear three Accessories per attachment node at one time. This means that you could be wearing your sunglasses, halo
and antennae on your head AND be wearing your shoulder pads, wings and sheathed sword on Spine4 at the same
time. Pretty cool.

Also, while it is true that Accessories can move with the one bone in the avatar skeleton to which they are attached,
Accessories can not be made to move with more than one bone in the avatar body. So, although you can make
incredible Accessories like Pets and morphy wobbly things, it is safe to assume that most Accessories will be rigid in
IMVU.
Accessory Basics

An Accessory product is just like any other base 3D


product in IMVU in that it contains its own skeleton, its own
geometry, its own materials and its own textures.

Since Accessories contain their own skeleton, they can


also contain their own animations. This comes in very
handy when turning an accessory into....a pet!

Get the weighting files


Female Weighting File
The avatar weighting MAX filess that IMVU, inc. has created
contain an example Accessory set up exactly the way it needs Male Weighting File
to be in order to be exported. So, the first thing you need to do
is download the weighting MAX files.

For Position Only

You will NOT actually use or export any piece of the original base avatar mesh or embedded avatar skeleton.

You are building a separate Accessory product which means you are building a product that contains its own skeletons,
meshes and materials. The reason you need the avatar mesh and embedded avatar skeleton is only for the
placement/alignment of your Accessory product.

The Embedded Accessory Skeleton

An Accessory skeleton can be very simple. The most


simple Accessory skeleton must contain two bones/nodes.
These bones/nodes can be called anything you like. One
will be your master bone (or, the top of the hierarchy) and
one will be the bone you actually weight the mesh to.

IMVU has called the master bone AttachmentRoot and


called the second bone AttachmentNode. You will note
that AttachmentRoot and AttachmentNode are both in the
exact same location. You will also note that the
AttachmentNode bone is parented to the AttachmentRoot
bone. This is how these two bones should be set up
regardless of how many other bones you may add in more
complex products.
Skeleton Placement

All you need do is align the AttachmentRoot


bone to the avatar bone with which you want
your attachment to move.

For example, if you want to build a bracelet,


you would not align your AttachmentRoot
bone/node to the avatar's Head bone
because then you would have a bracelet that
moved when the head moved. Instead, you
would align the AttachmentRoot to one of the
wrist bones.

In the image example to the right, the glasses


accessory mesh found in the avatar weighting
file has been scaled larger for legibility. The
glasses mesh is weighted to the
AccessoryNode bone. So, if the
AccessoryRoot bone (the parent of
AccessoryNode) is moved to the location of
the rtWrist bone (using the align tool), the
glasses move with it.

The orientation of all of the bones in the avatar skeleton is not the same. This means that a pair of glasses
moved to, say, the ltCalf bone will not point forward the way they do on the Head or rtWrist bones. This is
why it is important to align your skeleton to the intended bone location *before* building your mesh. That
way, you will guarantee that the mesh will actually show up in IMVU the way you see it in your 3D program.
Can I Make My Own Skeleton?

Of course you can. However, remember that you


may always use the embedded
AttachmentRoot/Node for your Accessory
skeleton.

Building a skeleton for an Accessory product


works just the same as building a skeleton for
any other IMVU product. You need a root bone
(AttachmentRoot) and a secondary bone
(AttachmentNode) as your basis. So, with those
two bones created, link the AttachmentNode
bone to the AttachmentRoot bone using the link
tool.

Now align AttachmentRoot to the avatar bone


you wish your accessory to attach to. THEN,
either align AttachmentNode to the same bone in
the avatar skeleton OR align it to
AttachmentRoot. Either way, AttachmentNode
will end up in the same spot. Now you can weight
the mesh to your heart's content.

Or....if you have the need of more bones, you can


add more bones as you see fit. To learn more
about skeletons, please go to the Introduction to
Skeletons Tutorial.
Pets

Since an Accessory can be attached to any


bone in the avatar skeleton, that means it
can be attached to the avatar root node.
This bone is called Female03MasterRoot.

The benefit of attaching your Accessory to


the avatar's master root is that the
Accessory will not move with the avatar's
idle animations. This has the wonderful side
effect of allowing the Accessory to behave
independantly of the avatar. In other words:
you can make a Pet.

Making a Pet is harder to do than, say, a


pair of glasses as the overall set up
requires more planning and the execution
time is longer. The skeleton and the
weighting are just more complex on a pet
than your average Accessory. That said,
the basic set up is the same. A Pet
Accessory needs a skeleton, a mesh,
materials with textures and, if you like,
animations.

However, your Pet Accessory product can be quite complex and utilize most of the behavioral animations
IMVU has embedded in the avatars. For example, you can build Idle animations for stance.Standing and
stance.Sitting or any other stance you would like to employ. You can also build triggered animations for any
trigger that effects the avatar. LoL, cry, flip - your pet can do them all when your avatar does. This obviously
makes the Pet a more important piece to any avatar's outfit.

To learn more about building a Pet, please go to the Pets Tutorial

Build the mesh:


Accessory skeleton location

The first thing to realize about building an Accessory mesh is that the location of the Accessory skeleton master root
matters *A LOT*. If you want your glasses to show up on the avatar's head in IMVU, you need to have your Accessory
skeleton master root bone aligned to the avatar's head bone before you weight your glasses. So, to recap:

1. Align your Accessory master root bone to the bone in the avatar skeleton that you want to influence the Accessory.

2. THEN weight your mesh to the Accessory skeleton.

Build the Mesh:


Accessories for Avatar heads

If you are building an Accessory for an avatar head (glasses, earrings, unicorn horns, etc.), there are a few things to
keep in mind.

The current IMVU head products are all built around the same basic head shape for Male or Female products. The only
difference in all of the heads built by IMVU is only found in the shape of the face. Head size is dictated at run time in the
IMVU messenger. (To learn more about head sizing, please go to the Previewer - Mesh Scale Tutorial.
Specifically, the cranium, the bridge of the nose and the position of the ears do not move position from head
design to head design (built by IMVU). This allows each human head product IMVU has made to use all of
the pre-existing Accessories without any glaring aesthetic bugs. However, this means that things like facial
jewelry, beards, mustaches, fangs, etc. will not look right from head to head (because Accessory products
do not animate when avatar facial animations are playing.)

Build the Mesh:


Z-fighting

The mesh for your Accessory can end up being


very close to the mesh for the avatar asin the
case of earrings, glasses and watches. However,
if they are too close you may get Z fighting (or
shimmering) in IMVU. It is worth testing in the
previewer. If you see Z fighting in the previewer,
you will see it in IMVU.

To correct that shimmering effect, you ought to


pull your Accessory goemetry away from the
avatar mesh. I typically do this in edit geometry:
vertex mode so that I only need to adjust the
vertices that are actually causing the problem.

Build the Mesh:


Weight the Mesh

To learn more about how to weight any mesh, please go to the Mesh Weighting Tutorial.

There are some tips specific to Accessories that could help you.

The first is that if you are building something that is meant to move with one bone only (Glasses, Earrings, etc.), weight
all of your vertices to that bone in the ACCESSORY SKELETON. Remember, if you are weighting all of your verts to
one bone, then you can use the Skin weighting modifier (which is much easier to use than the Physique weighting
modifier.)

The second tip is that your Accessory mesh should never be weighted to any bones in the avatar skeleton. Your
Accessory has its own skeleton (which you just created). If you weight your accessory to anything but the
accessory skeleton, it will not work.

Map the mesh

To learn more about how to apply mapping coordinates to your mesh, please go to the Mapping Materials Tutorial.

Although an Accessory can use as many Materials as necessary, remember to keep your textures as small as possible.

Accessory Animations

Since Accessories contain their own skeletons, they can


have animations. Even more, since they also contain
meshes, they can also contain morph animations. To learn
more about how to animate any skeletal animation, please
go to the Animating in 3D MAX Tutorial. Also, to learn
more about how to make morph animations, please go to
the Morph Targets Tutorial.

It should be noted, though, that "under the hood" an


Accessory product is really an "Avatar Attachment". This
means that the Accessory is linked to Avatar in a few
ways. The first is the most obvious: as your avatar moves
around a 3D scene, any accessories worn will also move
with that avatar.

The second link has to do with animations. An accessory


can utilize the same system that calls animations triggered
by the IMVU avatar.

Avatar Animation System?

An Accessory can "utilize the system that calls animations triggered by the IMVU avatar"?!! How does that work?

Well, the IMVU avatar can play three classes of Actions:


1. Idle Actions
2. Stance Actions
3. Triggered Actions
The first two are very close in definition but #1 has the addition of having a hard coded instruction for blinking.

A stance animation is dictated by a room or furniture seat node. For example, if a seat node is named
seat01.FloatinInWater, then the IMVU code wants to play an animation called stance.FloatingInWater. If an Action with
the same name exists in either the avatar product or within the Room or Furniture product, that animation will be
applied to the avatar. The three main Idle/Stance Actions names are stance.Idle, stance.Standing and stance.Sitting.
So, if your pet contains Actions with those names, the system will play those Actions whenever the avatar joins a
Standing or Sitting seat. Even better, if the system can't find, say, stance.FloatingInWater in your Accessory, it will try to
default to stance.Idle or stance.Standing. In this way, your Accessory could always be playing an Idle animation. Cool.

A triggered action is an action that plays once (or loops infinitely until removed) and then goes away. When you type
LOL in IMVU, you 'trigger' the LOL animation to play on your avatar. This means that your Accessory could have an
animation that is triggered by the word 'LOL'. This means that if you type LOL in a chat in IMVU, both the avatar
animation and the Accessory animation will be triggered.

Budgets

Download and runtime file size is an issue that should be kept in mind whenever designing for IMVU. If your
Accessory’s file size is too big, it is unlikely that your potential customer will purchase and download it and, if they do,
there is a very high chance that they will review your product poorly and your sales will go down.

Therefore, it is good practice to try to keep the texture size, vertex/face count of your meshes and animation length
down to the bare minimum. There really is no reason to have a 256x256 texture for a button on a shirt: it just won’t be
seen in the IMVU messenger. In fact, we have found that the smaller the texture, the BETTER it looks in IMVU. Go
figure.

Also, please know that IMVU automatically resizes assets that are too large or teched incorrectly. To learn more, please
go to the Mapping Materials Tutorial.

Export Time

Now you must export all of the assets in the Accessory.

1. Export the skeleton .XSF file. To learn more, please go to the Export the Skeleton - .xsf Tutorial.

2. Then, export the mesh .xmf file. To learn more, check out the Export the Mesh - .xmf Tutorial.) Then, when prompted
for the skeleton, browse to the .xsf skeleton file you just exported in step 1.

3. Once you have the skeleton .xsf exported, you can export any animation .xaf files you may need. To learn more,
please go to the Export Animations - .xaf Tutorial.

4. You may export your material .xrf files any time you like. To learn more, please go to the Export Materials Tutorial.
On to the Previewer

With your Accessory assets built and exported, its time to put them all
together in the Previewer. To learn more, please go to the Previewer
Tutorial.

There are some special parts of the Previewer, though, that are specific
to Accessory products. Read on, oh Accessory maker...

Previewer: Avatar Compatibility

At the top of the Special Tab in the Previewer, you will see a field titled "Compatible Body Pattern Product ID". Add the
avatar product number that you wish your Accessory to work with and then apply changes. The IMVU Body Pattern
Products are named as follows:

Female: product80
Male: product191

It is recommended that you include both avatars for Accessories that do not involve the avatar head. To do so, you
would type "80, 191".

Previewer: Attachment Node

The second thing you will notice is the AttachmentNode box. Change this name to whatever avatar skeleton bone name
you wish your accessory to attach to. For example, in the case of Glasses, type in "Head" or, in the case of a pet, type
in "Female04MasterRoot". Remember to type in the EXACT name of the avatar skeleton bone you wish your Accessory
to attach to. For the entire list of bones in the IMVU avatar skeleton, please go to the Avatar Skeleton Hierarchy
Tutorial.
Avoid attaching to the Avatar's Pelvis node. In the Previewer, you will tell your accessory skeleton which bone on
the avatar it should attach to. Although you are allowed to attach your Accessory skeleton to any bone on the avatar, it
is recommended that you do not attach it to the Pelvis node. You may be unhappy with the result.

A Pet is a glorified Avatar Accessory product. An Avatar Accessory product, simply put, is a product that can be
attached to an avatar but that does not override any avatar body parts (like shirts or shoes). An Accessory product can
also be anything you can possibly think of: earrings, floaties, wings.....and Pets.

Obviously, you can build a technically simple pet like, say, a parrot that sits on your shoulder but does not move at all.
We'll call these kind of pets "pet rocks". On the other hand, you can also build a technically complex pet that feels alive
and reactive. If you want to learn how to create a pet rock, you should just read the Introduction to Accessories Tutorial.
If you want to learn how to add life to your pets, read on.

This tutorial assumes you have already read the Introduction to Accessories Tutorial. Also, for the purposes of this
tutorial, we will be using 3DS MAX.
Where's the Avatar?

As you prepare to bring your idea to IMVU customers,


remember to be cognisant of where your Pet is going to
live in relation to the avatar. It can be attached to the
avatar, like a parrot on a shoulder, or it can be detached
from the avatar.

You should also be cognisant of what other things an


avatar might be wearing at the same time as your pet. For
example, if building a parrot on a shoulder, you should
probably put the parrot out towards the tip of the shoulder
vs. close to the head. That way, there will be less potential
for penetration with things like hair, hats, big earrings and
shirt collars.

A great way to help yourself be cognisant of these things is


to spend a fair amount of time planning your Pet out on
paper. This early 'concept phase' or 'design phase' will
help you get through many issues not the lest of which is
positioning your pet, the size of your pet and overall
penetration with the avatar.

Build Skeleton

Before embarking on building your Pet Accessory


Journey, you should read the How to Build a Skeleton
Tutorial. Have you read it? Don't lie to me. You have?
Great. Let's move on.

It all starts and ends with the skeleton. Let me say from
experience that it is incredibly frustrating to learn you
need one more bone after you have nearly completed
the product - animations and all. The reason it is
frustrating is because adding even one more bone to the
skeleton requires the following changes:

New skeleton .xsf export


New mesh weighting
New mesh .xmf export
New animation .xaf exports (that's right - all of them)
This is no small amount of work (it can take a full work day if your pet is complex enough) so please take the time in
advance to figure out how many bones you will need. How do you figure out how many bones you need? Simple: What
is it you want the Pet to be able to do? Answer that question and you will know what bones you need to add.

For example: Does your Pet have wings? Will they flap? Will they flap like a Bird's wings? If so, you know you need
three main bones in the wing and one end effector (so that Physique will work). Does your pet have a head? A neck?
Will it nod yes and no? If so, you know you have at least two more bones (+ end effector): Head + neck (you can have
more neck bones the longer your Pet's neck is.) Does your Pet have arms? Hands? Legs? Feet? a Tail? Are those
extremities going to move? If so, how?

As you can see, advance planning will help you realize your vision sooner and without having to start over repeatedly.
Align Root Nodes

If you want a Pet that moves independantly of the avatar, the


first thing should do is align the AttachmentRoot and
AttachmentNode bones to the avatar's Root node:
Female03MasterRoot.

As detailed in the Introduction to Accessories Tutorial, every


Accessory attaches to a bone in the Avatar. Just which bone
it attaches to is set in the Previewer. Therefore, the root
bones of the Accessory skeleton need to be aligned to the
bone you intend to attach your Accessory to. Since you will
eventually tell the Pet/Accessory product to attach itself to
Female03MasterRoot in the Previewer, you need to have
your Accessory skeleton root bones aligned to
Female03MasterRoot in your 3D file.

To align your root bones, you use the Align tool found in the
upper left tool bar. First select both your Accessory bones.
Then, with the Align tool selected, click on
Female03MasterRoot. The Align Selection dialog box
appears and is chock full o' settings. You want to align the
XYZ position *and* the XYZ Orientation. Also, make sure
Pivot Point is selected in both the 'Current Object' and
'Target Object' fields. Click 'OK' and your Accessory root
bones should have moved to the exact same position as
Female03MasterRoot.

Build Mesh, morphs, materials, textures

Once you have your skeleton built and properly positioned, its time
to build your mesh (or meshes), morph targets, materials and
textures. To learn more about each of these, please visit the
following tutorials:

Introduction to Mesh Building


Building Morph Targets
Mapping Materials - Powers of Two
NOTE: It should be noted that morph targets are optional. Your Pet does not need morph targets in order to be a
successful product.

Budgets

Download and runtime file size is an issue that should be kept in mind whenever designing for IMVU. If your Head’s file
size is too big, it is unlikely that your potential customer will purchase and download it and, if they do, there is a very
high chance that they will review your product poorly and your sales will go down.

Therefore, it is good practice to try to keep the texture size, vertex/face count of your meshes and animation length
down to the bare minimum. There really is no reason to have a 256x256 texture for a button on a shirt: it just won’t be
seen in the IMVU messenger. In fact, we have found that the smaller the texture, the BETTER it looks in IMVU. Go
figure.

Also, please know that IMVU automatically resizes assets that are too large or teched incorrectly. To learn more, please
go to the Mapping Materials Tutorial.
Weight the Mesh

With your Pet completely built, it is time to weight it. 'Weighting' means that each
vertex in a mesh knows which bone it ought to move with. If a mesh isn't
weighted, it won't show up in IMVU. Since this tutorial assumes you are building
an organic shape that moves with multiple bones, you must use the Physique
weighting modifier in MAX. However, if you wanted to make a "pet rock", you
could use the Skin weighting modifier instead.

To learn more, please go to the Weighting Using Skin Tutorial and the Weighting
Using Physique Tutorial.

Test Weighting

It is important to test whether your weighting works the way you


want it and, more importantly, that every vertex in your Pet is
actually weighted. To do this, you ought to make an animation that
moves every bone in your Pet's skeleton. To learn more about
skeletal animation, please go to the Animating in 3DMAX tutorial.

I typically move one bone at a time over time so that I can see how
the head moves without the rest of the bones moving.

Once I get an animation built that moves all of the bones in the
body, I make sure to also add a big movement to the Pelvis bone.

This last animation moves the entire pet far away from its original
position with the intent of seeing whether all of ther vertices are
actually weighted. If they are not, they will remain in place while the
rest of your Pet moves around. If I see any errant verts, I go right
into Physique and weight them.
Test Morphs

Once you are sure your weighting is complete, it is


important to test your morph targets as well.
Remember, you do not need to build morphs for your
Pet. It is 100% optional.

When testing your morphs, you are looking for a few


things:

1. How do multiple morphs work when they are


applied together? 2. Are there aesthetically
unpleasing peaks or tears in the mesh when the
morphs are applied? 3. Do the morphs affect vertices
in parts of the mesh that are not meant to be
effected? 4. Do the morphs work well with the
skeletal test animation?

If you find any issues, you can always go edit your


morphs, reload the morph targets in the Morpher
modifier and run your tests again.

Export All

OK. Now you're ready to export the basics!

As is the case with any 3D product, you must export the skeleton - .xsf file first. Then, you are free to export both the
mesh - .xmf files and the animation - .xaf files (though, we'll get to animations in the next section). You can export the
material - .xrf files at any time. To learn more, please go to the:

Export Skeleton - .xsf tutorial


Export Mesh - .xmf tutorial
Export Materials - .xrf tutorial
Make Idle Actions

To learn more about Idle Actions, please go to the


Idle Actions Tutorial. As a recap, though, check this
out:

The most common Idle Actions in the IMVU avatar


are the Standing and Sitting Actions. This means
your Pet can have a different behavior whether the
avatar is Sitting or Standing. What's more, a Pet can
have its Idle Action named stance.Idle, then it will
play the same no matter what stance is called on the
avatar.

Remember, as the Idle Actions Tutorial explains, you


can build multiple Idle animations, export them all
and then place them into the Previewer as separate
pieces of separate Idle Actions. For example, I
typically have one Action named stance.Idle that
covers only the blinking animation. That way, the
blink will play regardless of what else the Pet is
doing. I also add another Action named stance.Idle
that contains at least five Ensembles with animations
for a Pet so that it has a feeling of life.

Reminder: Each Idle animation should be saved into


its own MAX file.

Blink Idle Tip

If you want to build a pet that blinks, I have a good tip for
you.

Build the eyes as separate meshes from the body. Then,


go back to your skeleton and add bones that live
approximately where your eye meshes live. Then, you will
be able to build an animation that pulls the eyes inside of
the head for a frame or two.

Plus, -iIf you make sure the texture on your Pet head
contains closed eyes just underneath the location of the
eye meshes, it will look like a real blink in IMVU. Cool
Sitting Idle Position

Although an avatar moves the height of its body when it swtiches from a
Standing node to a Sitting node, its root node does not change its height. This
means that if you have a Pet that is attached to Female03MasterRoot, then it
will not move lower in the scene just because an animation makes the avatar sit
lower in the scene. This is most obvious in stance.Sitting seats.

To address this, you can make another series of Idle animations that have the
Pet positioned lower in 3D space. In the Previewer, you create an Action titled
stance.Sitting that contains Ensembles with these new lower-positioned assets.
Then, when an avatar sits down, its Pet acts the way you want it to.
Make Triggered Animations

I always consider this the most fun part of building a Pet


because the triggered actions make the Pet feel sentient.
Making a triggered Action is pretty easy as you just need
to name the Action anything you want. When someone
types in that word, or words, then the Pet will play the
animation associated with that Action.

If you want to know what triggers are used by the IMVU


avatar, you can always take a look at the .xml file that
comes with IMVU. It is called 'menus.config.xml' and
should be right in your IMVU directory. The section titled
'Personal Gestures' are ones that can be used by your Pet.
If you can't open the .xml file, you can just try a few
commands in IMVU to see if they work on your avatar.

The fun part, though, is making your Pet react the same
way your avatar does to triggered commands. That's why I
typically include Actions for yes, no, what, lol and flip (I just
like to flip a lot.)

What's also cool is that your triggered animations can


contain Ensembles as well. This means that you could
have multiple reactions to the same command that were
randomly chosen. This makes your Pet feel REALLY alive.

Export All Animations

When you've built all of your animations, remember to export them. To learn more about exporting animations, please
go to the Export Animation - .xaf Files Tutorial.
Previewer

Alllllll righty. Now that you have all of your assets built and exported, it is
time to put them all together in the Preveiwer. To learn more about the
Previewer, please go to the Previewer Tutorial.

Previewer: Base Product

While we recommend that you derive from either product 682 or product 669,
product 434931 is a good example of how a Pet ought to be set up. You can
derive from 434931 just to see how it is set up.

As with any 3D product that you build from scratch, you should build your
Accessory product with NO Actions or animations first. In the Special Tab,
browse to your skeleton .xsf file, type in the name of the bone that you want the
Accessory Pet to be attached to and then type in the avatar IDs with which you
want your Pet to work with. If you want the Pet to work with both the female and
male avatars, you would type in "80, 191" in the IDs field.

The reason you should create your product without animations first is because
it is MUCH easier to find errors with your skeleton, mesh, materials and
textures without having to wade through potential animation errors too. Save
your product once you have the skeleton, mesh, material and texture assets
working.

Previewer: Turn Off 'Apply Changes to Preview'

It is very helpful to have 'Apply Changes to Preview' turned off


when building a 3D product from scratch. This is because both
the skeleton and the mesh assets need to be in the product or
errors will occur. Although those errors should not impair your
ability to continue creating your product, they can so please
turn 'Apply Changes to Preview' off by unchecking it in the Edit
menu.

Previewer: Set Up
As mentioned above, product 434931 is a great example of how your Actions ought to be set up for a Pet product. Each
panel is set up very much how you will no doubt want your panels set up. Let's take it one by one.

The 'Special' tab:


You will notice that the Compatible Body Pattern Product IDs filed is already set to '80, 191', the Attachment Node is
already set to Female03MasterRoot, and it contains its own .xsf file. You only need to add your own .xsf in this tab. To
learn more about the Special tab, please go to the Previewer - Special Tab Tutorial.

The 'Geometry' tab:


Notice that this product has multiple body parts. Your Pet can have as many body parts as you like - as long as you
remain within budget, of course. To learn more about the Geometry tab, please go to the Previewer - Geometry Tab
Tutorial.

The 'Materials' tab:


The Materials set up is similar to every other 3D product. To learn more about the Materials tab, please go to the
Previewer - Materials Tab Tutorial.
The 'Action' tab:
And last but not least, the Actions tab. You will see that this Pet contains several Actions named stance.Idle with one
handling the blinks, one handling the wings, one handling the core floating animations and the last handling the Bow
Idle.
Previewer: Add Actions
To learn more about adding actions in the Previewer, please go to the Previewer - Actions Tab Tutorial.

You can also download the Previewer directly by clicking here.

Idle Actions First

Remember, at this stage, you should already have your skeleton, mesh and material assets in place.

When setting up your Actions, I recommend you add your Idle Actions first. Essentially, this is so you can get through
the hard part first and save the quicker, easier, more fun part (triggers) for last. haha.

Every Action needs a name. The name of your main Idle Action depends on how you want it to behave. For example, if
you want the Action to play forever, regardless of which seat an avatar joins, then you would name your Action
'stance.Idle' in the Trigger field.

On the other hand, if you want your Pet to have different behaviors/positions when the avatar is standing vs. sitting,
then you would name your main Idle Action 'stance.Standing' in the Trigger field.

Remember, any Ensemble in any 3D product Action can contain both skeletal and morph animations.

Action Parameters

We have already discussed what you ought to name your Idle Actions in the Trigger field but what are the other fields
for? The other fields in the Action Paramters section are discussed in detail in the Previewer - Actions Tab Tutorial.
However, there are some specifics as to how to set them up for a Pet Accessory.
First of all, neither the 'Type' or the 'Avatar IDs' fields matter to Pet Accessories so you don't have to add any
information to them.

Next is the '# of ensembles' field. If you are building an Action that is meant to loop forever, like an Idle Action, then you
ought to type in the number '0'. If you are building an Action that is meant to play a limited number of times, you can
type in any number *OTHER* than '0'. I typically just type in '1'.

Then comes the 'After playing' field. This field tells the Action what it should do once it stops playing an Ensemble. If
you have multiple Ensembles that you want to have play at random (even sometimes choosing the same Ensemble
twice), then you choose 'Pick new Ensemble'. If you want to play the same Ensemble every time (like if you have only
one Ensemble in the Action), then you choose 'Pick same Ensemble'. The third option, 'Cycle Through Ensembles' is
only for testing purposes and may not give you reliable results in IMVU.

Previewer: stance.Sitting

If you want your Pet to have different behaviors/positions when the avatar is standing vs. sitting, not only do you need
to make your main Idle Action called 'stance.Standing' but you must also make a secondary Idle Action called
'stance.Sitting'.

Remember, you can have as many Actions of the same name as you like and as many Ensembles within each Action
as you like.

Previewer: Test Idles

Once you have added your Idle Actions, animation assets and Saved your Pet, it is a good time to test whether all of
the Actions in your Idles work. To do this, you can set the 'After playing' field to 'Cycle through Ensembles' and then
press the 'Play Action' button. This will play all of the Ensembles included in the Action in consecutive order. If an
animation asset doesn't work properly, or if your Ensemble loops and/or blends are not working, then you can easily fix
the individual assets, re-Save and test again.

NOTE: Remember to set your 'After playing' field back to something other than 'Cycle through Ensembles' before
submitting the product.

Previewer: Triggers

Once you have added and tested your Idle animations, you can add new Actions for your Trigger words. There are only
two technical differences between these Actions and the ones you just set up.
1. The name you add to the 'Trigger' field can be anything you want. Then, when that word is typed in IMVU, your Pet
will play that animation.

2. The '# of Ensembles Played' should be the number '1' or higher.

Another cool feature of triggered Actions is that you can add comma separated lists to the Trigger field. This powerful
feature allows your Accessory Pet to feel more alive. For example, in the image below, Action 5 is triggered by all of the
following text commands:

yes
yeah
yep
yup
yah

Previewer: Test Test Test

I can't stress enough how important it is to test your Pet product repeatedly as you build it. In fact, I often save a new
version of the Pet every time I add a new bath of assets. New Idle Action with multiple Ensembles? Save as. New
series of Triggered Actions? Save As. This is important because it is possible to add corrupt or broken assets to a CFL
that make it impossible to open later. It is...an emotional challenge...to lose all of the work you put into getting the
skeleton, meshes, materials, and Idles perfect just to have some random Trigger asset ruin the whole product.

Previewer: Save Save Save

Save repeatedly. Be known as a furious saver. Save like your power could go out at any moment.

Previewer: Jazz Jazz Jazz

This is probably the most important thing to know about any Pet you build..... OK. Fine. It really isn't. However, you've
got to admit that the title fits in nicely with the whole 'Test, Test, test' 'Save, Save, Save' thing...

Submission Tutorial

Submitting a Pet is like submitting any other product. To learn more, please go to the Product Submission Tutorial.
Anytime you create an avatar “seat”, we recommend that you also include Catcher & Pitcher Nodes as well. The
Catcher & Pitcher Nodes indicate the locations two avatars stand when performing a cooperative animation, like a hug
or handshake. The distance between the two nodes is extremely important and should never change, or else you risk
these animations not working, or feeling “broken”.

The best way to insure that you do not accidentally change this distance between C&P Nodes, is to Merge the nodes,
along with the Seat Node and placeholder avatar model, into your model from a preexisting IMVU provided Max file.

You can easily merge these nodes from the Example 3D Room file here:

Example3Droom.zip
Once you have built an animation in a 3D program like 3DS MAX, you must export it as a different file type. This
exported file will be what you add to the Previewer so that you can create a product.

IMVU uses Cal3D file formats. This means that you must use a 3D program that has Cal3d exporters written for it. The
Cal3D file format that the IMVU Previewer recognizes for skeletal animations is ".xaf". The Cal3D file format that the
IMVU Previewer recognizes for morph animations is ".xpf".

Once you have your 3D program set up to export Cal3D assets, it is actually really easy to export.

The first section of this tutorial will focus on skeletal animation export. The second section will focus on morph
animation export.

Skeletal - Select the Root Node

In order to export any skeletal animation for IMVU, you must select the root node of the skeleton. This is the highest
bone in the skeletal hierarchy.

The root node for the IMVU avatar skeleton is called Female03MasterRoot.
Skeletal - Select Export

With the root node selected, go to File/Export.

Note: I have created a hotkey for the Export command: Shift+E.


Considering how often you will be exporting assets, creating a hotkey for
this command is highly recommended. However, MAX does not come
standard with a hot key for this command.

Skeletal - Choose *.XAF Format

When the export screen opens, choose the


"Cal3D Animation File (*.CAF, *.XAF)" option.

Skeletal - Name File

Name your file however you like. However,


please remember to manually type in the
.xaf suffix at the end of your asset name. If
you do not manually add this, the file will be
exported as an unusable .caf file.

Then, click Save.

Skeletal - Export Step 01: Choose Skeleton

In the Cal3D window that appears, you will be prompted to supply a skeleton/.xsf file. Browse to the skeleton file you
want your animation to work on. In the case of animations built on the IMVU-created avatar, that file is always the same
regardless of whether you are creating a female or male animation.It is called
Female04_Anime01_SkeletonMASTER.xsf and comes with avatar ZIP files found on the Avatar Animation Files
Tutorial.
Skeletal - Export Step 02: Choose Bones

If you want, you can export only portions of the skeleton.

For example, if you want to have the avatar do a wave animation, you only have to export the bones affected in the
wave. IE - the arm and clavicle. This approach frees the rest of the skeleton up to be driven by the avatar Idle
animations (like changing posture while standing) and looks very natural.

There are several ways to choose a subset of the bones in the skeleton when exporting:

1. You can simply check the boxes next to the bones you actually want to export. This means actually unchecking
everything else in the list. To do so, you can click the uncheck all button and then go in and check the bones you want
to export.

2. You can select the bones you want to export in MAX, then choose to export an .xaf file, and then click the Choose
Selected button in the skeleton hierarchy section of the exporter.
Skeletal - Export Step 03: Verify Timing

In the third step, you are asked to review that the basic timing inputs are correct. They almost always are so you will
normally be able to simply hit Finish without a second thought. However, if you want to know how things are supposed
to look, here are some tips:

Start Frame - This is normally zero but you can make it any number you want. The frames before the number you type
in are not exported.

End Frame - This is normally the end frame of your animation file. You can make it any number you want. The frames
after the number you in are not exported.

Displacement - just leave this at zero.

Frame Rate - IMVU animations should always be exported at 30 frames per second.
Skeletal - Click Finish

Once you've clicked finish, you have created an .xaf file that can be used in the Previewer.

Morph Animations

Now let's move on to how to export a morph animation.

As you may know, there is a big difference between skeletal and morph animation. Skeletal animation tells the bones of
the skeleton how far to move/rotate over time. While I can make the avatar head bone nod yes or shake no I can not
change her expression with a skeletal animation.

Morph animations control the shape of a mesh over time. In the case of the IMVU avatars, morph animations are used
for facial expression. To learn more about facial morph animation, please go to the Avatar Morph Animation Tutorial.

Morph - Select the Mesh

Once you have created your morph animation in a 3D program like 3DS MAX, select the mesh you wish to have morph.
In the case of avatar facial morphs, this is typically the parent head mesh. This should be the only head mesh in the file
that does not follow the morph naming convention. To learn more about the morph naming convention, please go to the
Avatar Morph Animation Tutorial.
Morph - Select Export

With the parent mesh selected, go to File/Export.

Note: I have created a hotkey for the Export command: Shift+E. Considering how often you will be exporting assets,
creating a hotkey for this command is highly recommended. However, MAX does not come standard with a hot key for
this command.

Morph - Choose *.XPF Format

When the export screen opens, choose the


"Cal3D MorphAnimation File (*.CPF, *.XPF)"
option.

Morph - Name File

Name your file however you like. However,


please remember to manually type in the
.xpf suffix at the end of your asset name. If
you do not manually add this, the file will be
exported as an unusable .cpf file.

Then, click Save.

Morph - Export: Verify Timing

Exporting morph animations only contains one step. In this step, you are asked to review that the basic timing inputs
are correct. They almost always are so you will normally be able to simply hit Finish without a second thought.
However, if you want to know how things are supposed to look, here are some tips:

Start Frame - This is normally zero but you can make it any number you want. The frames before the number you type
in are not exported.

End Frame - This is normally the end frame of your animation file. You can make it any number you want. The frames
after the number you in are not exported.

Displacement - just leave this at zero.

Frame Rate - IMVU animations should always be exported at 30 frames per second.
Morph - Click Finish

Once you've clicked finish, you have created an .xaf file that can be used in the Previewer.

RiggedAvatarMASTER.zip Avatar Animation Files


FemaleAction.ZIP
MaleAction.ZIP There are several versions of Avatar animation files found on the left. All
of them have been built for use in 3DS MAX.
CooperativeAnimation.ZIP
It is important to know that both Male and Female avatars use the same
Biped Animation Rig skeleton. Therefore, animations will work for both products 80 (the
Biped example 01 female avatar) and 191 (the male avatar). This is why we only include
Biped example 02 one mesh version for some of our animation files - as it really doesn't
Biped example 03 matter to the final animation.
Biped example 04
Biped example 05 It only helps to have the Male geometry when making Male specific
animations (like Idles) but we offer the file anyway. To reiterate, though,
any animation you build on the avatar skeleton can be used for both
Male and Female avatars.

Rigged Avatar

The first of the animation files, the Rigged Avatar is arguably


the easiest to use as all of the inverse kinematics have been
worked out. To get this file to work, follow the directions
found in the read me file in the ZIP for installing the Joystick
manipulator to MAX.

IMPORTANT: The rigged avatar will only work in 3DS MAX


7.

NOTE: To activate the Joystick controls in MAX, activate the


'Select and Manipulate' tool.

Rigged Avatar file details

To learn more about the Rigged Avatar file, please go to the incredibly fantabulous Rigged Avatar tutorial.
Female Action.ZIP and MaleAction.ZIP

While most animations are achievable with the Rigged Avatar file
above, you might find yourself unable to get exactly the
animation you want. If so, you can just use FemaleAction.ZIP or
MaleAction.ZIP.

These contain no IK linking and so are a little harder to animate


with. That said, they are more flexible than the avatar rig.
Applying motion capture to these files is not as easy as the
Bipeds listed below but should be fairly straightforward.

Bipeds

Last but not least are the Biped rigs. These files are useful for applying motion capture data.

However, these have been handy only for a select few individuals. As IMVU does not use these files internally, we
highly recommend using the other avatar files above for building your animations.

New Actions

If you're interested in learning how to get a new avatar Actions to show up in your product, please read the Avatar
Actions Tutorial and the Previewer = Actions Tab Tutorial.
Before we begin, I should say that building any Avatar animation is not easy...but it gets easier the more you do it.

In IMVU, you have the power to create your own actions as products. This includes both skeletal and morph
animations. How cool is it that you can offer your own version of “lol” or make something entirely new out of
“MonkeyDance”? IMVU offers you the tools to take your exported animation file and sell it to countless stunned and
impressed IMVU users.

Note: This tutorial is about building avatar MORPH animations. That means it is about making changes to the shape of
a mesh over time. If you want to learn more about avatar skeletal animations, ie - how to make the bones move, please
go to the Avatar Skeletal Animation tutorial.

For the purposes of this tutorial, we will be using 3DS MAX. The process described in this document is based on the
morph set used in the IMVU avatars.

Also, for the purposes of this tutorial, we will be using the Female04_Anime01_IdleStandingPoseMASTER.max file.
However, the basics apply to any avatar MAX file that contains morph targets.

Retrieve the Idle Pose file

The first thing you need to do is get the avatar MAX file. To learn more about which files you might want to download,
please go to the Avatar Animation Files tutorial.

IMVU strongly recommends you use the Female04_Anime01_IdleStandingPoseMASTER.max file found in the
FemaleAction.ZIP to create your morph animations. This is because the Rigged Avatar does not contain a morpher
modifier on the head.

Start Max and open the Female04_Anime01_IdleStandingPoseMASTER.max file. The Idle Standing Pose MAX files
are different from the Rigged avatar file so please verify that you are using the MAX file mentioned above.

FemaleAction.ZIP
MaleAction.ZIP

Idle Pose contents

The Idle Pose MAX files give you an avatar in the base
pose that all of IMVU's animations are built from. While the
position of the avatar bones is important to skeletal
animations, it doesn't make a difference to facial morph
animations.

Equally unimportant to facial morph animations is the


inclusion of the glasses on the avatar head. The glasses
exist only as an eample of how to an avatar accessory
ought to be set up. To learn more, please go to the Avatar
Accessory Introduction.
How to animate in MAX

To learn how to animate anything in MAX, including morph targets, please go to the Animate
In MAX Tutorial.

Action Types

There are three types of avatar Actions:

1. Idle Actions - these Actions play animations continuously. They are meant to be interrupted by the other types of
animations.

2. Stance Actions - these are animations triggered by the joining of a seat. They are closely related to Idles in that they
play continuously once the seat has been joined.

3. Triggered animations - these animations are played when activated by a trigger word like 'wave'. They usually
replace the morph channels being used in the Idle animation.

Knowing how an animation is going to be used in IMVU *before* you build it helps you build the right kind of animation
and helps reduce iteration time.

Heads vs. Bodies

While it is possible to make and we encourage you to play with morph


targets for body parts, we understand that this may not be the easiest
thing in the world. So, although the tech and export requirements are
the same, we will focus on facial morphs for now.
One Size Fits All

When you make a morph animation on the IMVU Female


head, that same animation will apply to the IMVU Male
head and vice versa. Although some of IMVU's animations
have been built specifically for one gender, the vast
majority were just built using the female head.

The reason for this is that both heads contain the same
morph target names.

How It All Works -


A Head is Built

First, the head mesh is built. Then, all of the morph targets
are [painstakingly] built. To learn more about how to build
an Avatar Head, please go to the please go to the Avatar
Head Tutorial.

Next, all of the morph targets are linked to the head mesh
and the head mesh is exported as an XMF file. At this
stage, we have a head that has several embedded
channels.

Each channel is named and contains data about where the


vertices of that morph target live.

How It All Works - Animate That Head File


With a fully teched head built, animating that head is now possible. Typically, this means opening up some sort of
master file that contains a head that has a morpher modifier applied underneath its weighting modifier. All of the
morphs target necessary to animate are loaded in that modifier.

In IMVU's case, that is the Female04_Anime01_IdleStandingPoseMASTER.max file.

To get access to the morph targets embedded in the master head, click on the head mesh. You will see the stack on
the right hand side open up with three modifiers applied. The middle modifier is named 'Morpher'.

Click on the 'Morpher' modifier and you will see the Channel List box expand. The Channel List contains all of the
individual morph targets found in the head. Use the scroll bar on the left to scroll through the list of 79 morphs.

Each channel has a slider. The sliders go from 0 to 100 so, if your slider is set to 50, then 50% of that morph is applied.
How It All Works - Deep Dive Information

When you create a morph animation, what you are really doing is exporting an .XPF file that contains a list of channel
percentages over time. For example, an exported smile animation might essentially look like this:

frame: 0
morph name: mouth.Smile.Exclusive
percentage: 0%

frame:2
morph name: mouth.Smile.Exclusive
percentage: 100%

So, you want to change the percentage of the morph target over time. To learn more about animating in MAX, please
go to the Animate In MAX Tutorial.

Note how at frame 0, the percentage of the smile was 0%. Then, at frame 2, the percentage of the smile was 100%.
That is all your XPF file tells IMVU: what changes and when. If a head product did not contain a morph target named
mouth.Smile.Exclusive, then no animation would be applied.

Use IMVU's Morphs

IMVU has a centralized morph control system. This means that


although you may be able to make your own emotion morphs in
the 3D files we supply, those morphs will not show up in the live
IMVU product. This is due to our having exported our heads with a
given set of morphs. Although we do not currently support user
created emotion morphs on the IMVU created heads, you CAN
make your own heads with morphs that match the names on our
heads. To learn more about making your own head, please go to
the Avatar Head Tutorial

In the meantime, it is important to know what the morph names


actually mean as they impact how they are played in the IMVU
client.

Morph Naming Convention

The morph targets have a naming convention that dictates what kind of morph they are. This naming convention must
be used or your morphs will not play back in IMVU. An example of a properly named morph target is leftBlink.Clamped
where the .Clamped suffix is the morph type. The prefix of the name can be anything you like. Here is a breakdown of
what the four morph types are and what they mean:

.Clamped - allows multiple morph animations to affect the channel but clamps the sum of their effects to 100%

.Averaged - allows mutlipe morph animations to affect the channel, averages the result.

.Exclusive - allows only one morph animations (the most recent one applied) to affect the channel, no cap on value
(i.e. allows values greater than 100%)

.Additive - allows multiple animations to affect the channel, values are added together.

Morph Names
Below is the full list of morph names IMVU uses in its base avatar heads. There are 79 of them. These are the morph
names available to you if you want to make a morph animation using the IMVU base avatar heads. See them in all their
RED glory:

blink.Left.Lower.Clamped
blink.Left.Upper.Clamped
blink.Right.Lower.Clamped
blink.Right.Upper.Clamped

eyebrow.Left.Angry.Average
eyebrow.Left.Down.Average
eyebrows.Left.Center.Up.Average
eyebrows.Left.In.Average
eyebrows.Left.Mad.Average
eyebrows.Left.OuterDown.Average
eyebrows.Left.OuterUp.Average
eyebrows.Left.Sad.Average
eyebrows.Left.Up.Average

eyebrow.Right.Angry.Average
eyebrow.Right.Down.Average
eyebrows.Right.Center.Up.Average
eyebrows.Right.In.Average
eyebrows.Right.Mad.Average
eyebrows.Right.OuterDown.Average
eyebrows.Right.OuterUp.Average
eyebrows.Right.Sad.Average
eyebrows.Right.Up.Average

Eyes.Bugged.Left.Average
Eyes.Bugged.Right.Average
Eyes.POP.Left.Average
Eyes.POP.Right.Average
Eyes.Scale.Left.Average
Eyes.Scale.Right.Average

left.Eye.Down.Clamped
left.Eye.Left.Clamped
left.Eye.Right.Clamped
left.Eye.Up.Clamped

mouth.BigSmile.Exclusive
mouth.BigSmileLEFT.Exclusive
mouth.BigSmileRIGHT.Exclusive
mouth.CheekLEFT.Exclusive
mouth.CheekRIGHT.Exclusive
mouth.Cheeks.Exclusive
mouth.Down.Exclusive
mouth.Frown.Exclusive
mouth.FrownLEFT.Exclusive
mouth.FrownRIGHT.Exclusive

mouth.Grin.Exclusive
mouth.GrinLeft.Exclusive
mouth.GrinRight.Exclusive
mouth.JawDown.Exclusive
mouth.LeftSmirk.Exclusive
mouth.RightSmirk.Exclusive
mouth.MadLip.Exclusive
mouth.MadLipLEFT.Exclusive
mouth.MadLipRIGHT.Exclusive
mouth.Narrow.Exclusive
mouth.NarrowLeft.Exclusive
mouth.NarrowRight.Exclusive

mouth.OH.Exclusive
mouth.Open.Exclusive
mouth.Pucker.Exclusive
mouth.Scream.Exclusive
mouth.Smile.Exclusive
mouth.SmileLeft.Exclusive
mouth.SmileRight.Exclusive
mouth.TongueDown.Exclusive
mouth.TongueLEFT.Exclusive
mouth.TongueOut.Exclusive
mouth.TongueRIGHT.Exclusive
mouth.TongueTHIN.Exclusive
mouth.TongueUp.Exclusive

mouth.Up.Exclusive
mouth.Wide.Exclusive
mouth.WideLeft.Exclusive
mouth.WideRight.Exclusive

nose.Flare.Exclusive
nose.FlareLeft.Exclusive
nose.FlareRight.Exclusive
nose.Long.Exclusive

right.Eye.Down.Clamped
right.Eye.Left.Clamped
right.Eye.Right.Clamped
right.Eye.Up.Clamped

There is an 80th morph target, Face.Average, but that is not used for animation. To learn more about how to utilize this
morph target, please go to the Avatar Heads Tutorial.

Making Your Own

Any animation morphs you make for the IMVU heads that do not
follow the above naming will not show up in the live product. If you
plan to make your own morphs as opposed to using the ones that are
baked into the IdlePose Heads (ie - the list above), you need to build
your own head file.

To learn how to do this, please go to the the Avatar Heads Tutorial.

Blend In / Blend Out

Although this section focuses on a feature found in the Previewer, it is important to keep in mind while
building your animation.
As discussed below, the frame controls in the Previewer allow you to loop your animations. However, they
also allow you to blend whatever animation is playing into your animation. This is very handy for morph
animations as a non-blended jump from one morph animation to another can leave unpleasant artifacts for a
few frames.

Vogue Animations

Vogues are single frame or low frame animations that have very small file sizes. These animations rely on the blend
in/out functionality of the Previewer to work properly in IMVU. Now, by no means are Vogues required to be simple
expressions - but, regardless of the expression you are making, it is still just an expression. Think of it as a snapshot of
an avatar statue's face....or an avatar stuck in an icy, frozen tundra surrounded by once fresh dreams that are only now
beginning to thaw.

By exporting this simple morph animation, you pretty much guarantee that your animation file size will be quite small.
Small file size is really, really good. You should want your file sizes to be as small as possible. Once you've
gotten your animation exported, simply play with the blend in/out and loop duration functionalities in the Previewer to
get your Action product just right.

You can loop a 2 frame animation for 30 frames and (at 30 frames per second) end up with a 2 second animation of
your avatar's facial animation. Very cool and very cheap to download. Cheap download = wonderful customer
experience.

The only drawback to using Vogues is the aesthetically unappealing look of linear translation. However, this is more of
a skeletal animation issue. Using Vogues for Morph animations is always OK.

File Size Budget

The win for doing vogues is keeping your overall animation size down. Please keep in mind that the more morph
targets you animate and longer the duration of your animation, the larger your Action product is going to be.

The larger your file, the longer it is going to take to load during a conversation. Please be as discerning as you can
about where you spend your animation budget. We want you to be successful and it will be hard to be successful if your
products take too long to download.

Catalog Snapshot

If you are creating an animation as a final product, please remember to take a 100x80 pixel Catalog snapshot. To learn
more about catalog snapshots, please go to the catalog snapshot tutorial.

Export

Once you have built your animation, you must export it as an .XPF file. .XPF is a Cal3D file format that is installed in
MAX when you install the Previewer. .XPF files are what the IMVU Previewer recognizes as morph animation files.

In order to export your Morph Animation file, select the main head mesh. In the case of the
Female04_Anime01_IdleStandingPoseMASTER.max, the head mesh is called 'female01.Anime01.Head'. In the case
of Male03_Anime01_IdleStandingPoseMASTER.max, the head mesh is called 'AnimeHead.Male01'. With the head
mesh selected, choose Export in the file menu. Scroll to the .xpf file format, name your file (remembering to manually
type in the .xpf at the end of the name) and click Save.

In the Cal3D window that appears, verify the actual time values of the animation. Although they are almost always
exactly the numbers they need to be, you should still check that the start and end frame numbers match what you
intended to export, and make sure the frames per second is set to 30. Click finish.
Animation file: EXPORTED!

What's Next?

Now you're ready to bring your xpf into the Previewer to make an Action. To learn how, go to the Previewer - Actions
Tab Tutorial.

Before we begin, I should say that building an Avatar animation is not easy...but it gets easier the more you do it.

In IMVU, you have the power to create your own actions as products. This includes both skeletal and morph
animations. How cool is it that you can offer your own version of “lol” or make something entirely new out of
“MonkeyDance”? IMVU offers you the tools to take your exported animation file and sell it to countless stunned and
impressed IMVU users.

Note: This tutorial is about building avatar skeletal animations. That means it is about moving the avatar body. If you
want to learn about avatar morph animations, ie - how to make the face move, please go to the Avatar Morph
Animation tutorial.
For the purposes of this tutorial, we will be using 3DS MAX. The process described in this document is based on the
skeletal hierarchy used in the IMVU avatars.

Also, for the purposes of this tutorial, we will be using the rigged avatar MAX file. However, the basics apply to any
avatar MAX file you use.

Retrieve the Idle Pose files

The first thing you need to do is get the avatar MAX files. To learn more about which files you might want to download,
please go to the Avatar Animation Files tutorial.

IMVU strongly recommends you use the Rigged Avatar file to create your skeletal animations. Start Max and
open the Rigged Avatar file. The Idle Pose MAX files are different from the Master Mesh MAX files for each avatar so
please verify that you are using an Idle Pose MAX file.

RiggedAvatarMaster.ZIP

FemaleAction.ZIP
MaleAction.ZIP

Idle Pose contents

The Idle Pose MAX files give you an avatar in the base
pose that all of IMVU's animations are built from. Starting
from this Idle Pose is very beneficial for playing your
animation at runtime in IMVU. By starting with this pose,
you avoid awkward and unsightly animation artifacts.

Rigged Avatar File

To brush up on just how to use the Rigged Avatar file, please go to the
RiggedAvatarFileTutorial.
How to animate in MAX

To learn how to animate anything in MAX, including avatar skeleton bones, please go to the
AnimateInMAX.

Root Node

The same skeleton is used for both the Female and Male avatar. This allows you to rapidly
create animations that apply to both avatars.

Any avatar skeleton is made up of a series of 'bones' and 'nodes'. The bones and nodes are
attached to one another in a hierarchical manner so that bones further down in the hierarchy
are effected when bones higher up in the hierarchy are animated. For example, if you rotate
the shoulder, you expect the hand to move with the rest of the arm instead of just sitting in the
same spot in 3D space.

The bone at the top of the hierarchy in any skeleton is called the 'Root'. The name of the Root
node in the IMVU avatar skeleton is 'Female03MasterRoot'. The position of the root node
relative to the avatar is very important.

Root Position

The root node is the node that is attached to seats in


IMVU. This means that your avatar's position in a scene
relies on its offset from the root node. If your avatar has
been positioned so that the root node is located near its
chest, then the avatar will appear halfway through the
floor in IMVU. Therefore, it is important that you do not
animate the root node.

Animation Types

There are three types of avatar animations:

1. Idle animations - these animations play continuously. They are meant to be interrupted by the other types of
animations.

2. Stance animations - these are animations triggered by the joining of a seat. They are closely related to Idles in that
they play continuously once the seat has been joined.

3. Triggered animations - these animations are played when activated by a trigger word like 'wave'. They usually
replace the bones being used in the Idle animation.
Knowing how an animation is going to be used in IMVU *before* you build it helps you build the right kind of animation
and helps reduce iteration time.

Large Movements
(insert joke here)

When animating for IMVU, it is important to understand that your


animation is more than likely going to be played within a window that is
around 400x300 pixels large. This means that both your skeletal and
morph animations ought to be larger than life. You should make them
more exaggerated than you normally would.

Seat offsets

One of the multitude of cool things about animating for IMVU is that you
can play with the actual position of the avatar. Ie. Make them float, stand
on their head, spin in place. You can do this by animating the Pelvis
Bone and Foot Controllers.

Remember, though, that these floating/spinning/flipping animations are


only possible if you do not animate the Root node.

Portional Animations

You can animate parts of the avatar (as opposed to the whole body) if you like. This allows your animation to work on
top of other animations. For example, our initial wave animation only animates the right arm while leaving the rest of the
bones alone.

This means that whether the avatar is Sitting or Standing or Dancing the Watusi, that 'wave' animation will play and not
override the stance of the avatar. You will learn later how to export only the bones you want. For now, though,
remember that if you don't need it, don't animate it.

Blend In / Blend Out

Although this section focuses on a feature found in the Previewer, it is important to keep in mind while
building your animation.

In order to avoid popping from an Idle animation to your animation or from your animation to any animation,
it wise to start and end your animation in the Idle Pose or close to it. You can play with Blend ins and outs
later in the previewer. However, the effect of getting as close to the Idle Pose as possible during your fade
out can not be ignored: its rather nice.

Vogue Animations
Vogues are single frame or low frame animations that have very small file sizes. These animations rely on the blend
in/out functionality of the Previewer to work properly in IMVU. Now, by no means are Vogues required to be simple
poses - but, regardless of the pose you are making, it is still just a pose. Think of it as a snapshot of an avatar
statue....or an avatar stuck in an icy, frozen tundra surrounded by once fresh dreams that are only now beginning to
thaw.

By exporting this simple pose, you pretty much guarantee that your animation file size will be quite small. Small file
size is really, really good. You should want your file sizes to be as small as possible. Once you've gotten your
animation exported, simply play with the blend in/out and loop duration functionalities in the Previewer to get your
Action product just right.

You can loop a 2 frame animation for 30 frames and (at 30 frames per second) end up with a 2 second animation of
your avatar striking a pose. Very cool and very cheap to download. Cheap download = wonderful customer experience.

The only drawback to using Vogues is the aesthetically unappealing look of linear translation. Linear translation means
that since there are no interstitial frames between, say, the Idle Pose and your new “Eureka” animation, the bones will
animate in a line from where they are in the Idle Pose to where they end up in the Eureka pose. Feet won't walk to
position, they will slide. Arms sometimes slide right through the avatar body. However, IMVU has found that this simply
doesn't matter to the end user.

File Size Budget

The win for doing portional animations and vogues is keeping your overall animation size down. Please keep in mind
that the more bones you animate and longer the duration of your animation, the larger your Action product is going to
be. The larger your file, the longer it is going to take to load during a conversation. Please be as discerning as you can
about where you spend your animation budget. We want you to be successful and it will be hard to be successful if your
products take too long to download.

Pos/Ori locking

To learn more about locking the position and orientation of a bone in MAX, go to the Position & Orientation Tutorial.

Catalog Snapshot

If you are creating an animation as a final product, please remember to take a 100x80 pixel Catalog snapshot. To learn
more about catalog snapshots, please go to the catalog snapshot tutorial.

Export

Once you have built your animation, you must export it as an .XAF file. .XAF is a Cal3D file format that is installed in
MAX when you install the Previewer. .XAF files are what the IMVU Previewer recognizes as animation files.

In order to export your Animation file, select the master Root node ('Female03MasterRoot') and choose Export in the
file menu. Scroll to the .xaf file format, name your file (remembering to manually type in the .xaf at the end of the name)
and click Save.

In the Cal3D window that appears, you will be prompted to supply a skeleton/.xsf file. Browse to the skeleton file you
want your animation to work on. This must be the skeleton of the avatar you are animating in MAX. The IMVU avatar
skeleton is called Female04_Anime01_SkeletonMASTER.xsf and comes with ZIP files.
Remember Portional Animations?

If you want, you can export only portions of the skeleton. For example, if you want to have the avatar do a
wave animation, you only have to export the bones affected in the wave. Ie -the clavicle, shoulder, arm and
hand. This approach frees the rest of the skeleton up to be driven by the avatar Idle animations (like
changing posture while standing) and looks very natural.

There are two ways to choose a subset of the bones in the skeleton when exporting.

1. You can simply check the boxes next to the bones you actually want to export. This means actually
unchecking everything else in the list. To do so, you can click the uncheck all button and then go in and
check the bones you want to export.

2. You can select the bones you want to export in MAX, choose to export an .xaf file, and then click the
Choose Selected button in the skeleton hierarchy section of the exporter.

Step 3 of the Cal3D animation exporter is where you verify the actual time values of the animation. Although
they are almost always exactly the numbers they need to be, you should still check that the start and end
frame numbers match what you intended to export, and make sure the frames per second is set to 30. Click
finish.

Animation file: EXPORTED!

What's Next?

Now you're ready to bring your xaf into the Previewer to make an Action. To learn how, go to the Previewer - Actions
Tab Tutorial.

You are also ready to turn this animation into a statue and merge it into a Furniture or Room file. To learn how, go to the
Avatar Statue tutorial

The Rigged Avatar rules. You can get it by clicking here. This file is so easy to manipulate it makes creating beautiful
animations a snap. Each of the controllers that make up this avatar rig have their own little tricks so we'll cover them
each in detail.

It is important to note up front, however, that the Rigged Avatar file does not contain facial morphs. Alas, our efforts to
create a file that contains both the morphs and the joystick controller have all ended in failure so far. So, you will have
to use a separate file in order to build morph animations for your avatar. The role of the Rigged Avatar file is to expedite
skeletal animations.

IK

One of the best features about this rig is that all of the inverse kinematics have been worked out in advance. This
means that when you move the foot controller around, the rest of the leg follows...and bends in much the same way a
human leg would bend. This is true for the arms, spine and neck as well.

When you first open the file, you will notice that only the controllers are visible. The bones in the avatar skeleton have
been hidden on purpose so that it is easier to see what the controllers are doing to the avatar. The controllers
essentially tell the avatar bones how to behave so you only need to see the controllers in this file to make a great
animation. If you want to see the avatar skeleton bones, just choose to unhide all.

The controllers themselves can be moved and rotated over time just like any other bone in MAX. This means that if you
want to build an animation, you simply move the controllers over time.

Note: The root bone, Female03MasterRoot, should never be animated. This is the bone that is applied to the seat node
in IMVU. Therefore, an avatar's animation (ie - the rotation and position of bones over time) only makes sense to the
IMVU system as a series of offsets from this root bone. So, just to say it again, leave this bone in one spot in every
avatar animation you make.
Foot controllers

There are two foot controllers - one for each foot. haha.
These can be moved and rotated just like any bone in MAX.
Think of the foot controllers as the source of gravity for the
feet. If the body is close enough to the foot controllers, the
feet will look like they are on solid ground.
Foot Controllers 2

However, if the Pelvis bone is lifted off the ground, the feet
will raise off the ground also but, as you can see, they will
point towards those foot controllers.

In this manner, it is pretty easy to create a floating effect.


Just raise the pelvis off the ground!
Foot Controllers Custom Attributes

With any controller selected, you can click into the 'Modify' tab on the right and gain access to the 'Custom Attributes' on
the bottom of the tab. Some controllers do not have custom attributes but, for those that do, you will always find them
here.
Foot Controllers Custom Attributes

The foot controllers have two custom attributes:


Roll and ToeRotate.

As you can see in the above images, by adjusting


the ToeRotate slider, you can point the toes or
roll them up.

Also, by adjusting the Roll slider, you can raise


the foot off of the controller either by pivoting on
the heel or pivoting on the ball of the foot. This is
handy for toe tapping and heel stomping,
respectively.
Knees

The Knee controllers effect the lateral movement of the


knees. Need to squeeze that horse in the saddle a little
more? Just move those knee controllers in a bit.

While lateral movement of the knees is great and all,


sometimes, it results in some wacky ankle rotation. This is
because the foot bones want to move when you move the
knee controller but they are locked to the foot controller.

The fix for this ankle rotation is the attribute called rollFoot.
Moving the rollFoot slider effects the yaw of the foot.
Pelvis

The Pelvis is the only controller that is actually a


bone in the avatar skeleton. It influences all of the
other upper body controllers. ie - when you move
the Pelvis, then the spine, shoulders, arms and
head move too.

As discussed in the Foot controller section, the


Pelvis moves independant of the foot controllers.
This is very handy for when you have your feet in
the perfect position but you just want to lower the
body a little bit.
CTRL_HIPS

This controller effects the hip bones of the avatar.


It can swivel the hips independat of the Pelvis.
This means it can swivel the hips without affecting
the upper body.

This controller was also built in a handy arrow


shape. So, you can see exactly which direction
your pelvic area is pointing.
The Spine Controllers

CTRL_SPINE01 is the base contoller for the avatar's spine. The spine controllers
are unique in that they can not be moved and can only be individually rotated
along the X and Z axis. This means they can not individually be rotated sideways.

CTRL_SPINE02, CTRL_SPINE03, CTRL_SPINE04 effect the rest of the bones


along the spine.

The custom attribute for the CTRL_Spine01 bone is SpineTwist. This moves all of
the spine bones in unison to create a more believable spine rotation.

The other spine controllers

CTRL_SPINE02, CTRL_SPINE03, CTRL_SPINE04 effect spine


bones 2, 3 and 4.
Shoulders

CTRL_shoulderL and CTRL_shoulderR move


the shoulder in the socket (like a clavicle/scapula
movement).

Attribute shoulderTwist rotates the shoulder bone


in place without effecting the bicep or clavicle
rotation. This is very handy when doing raised
arm animations as it makes the mesh around the
shoulders behave more like a real shoulder.
Wrists

CTRL_LWrist and CTRL_RWrist control the overall position of


the arms as well as the rotation of the wrists.

Attributes include both cupHand and WristTwist. cupHand is


useful for opening up the hand to show emergency or to fold
the hand in for making a tight fist. cupHand's default is set to
3.0.

WristTwist is really useful as you will undoubtedly warp the


forearm mesh when moving the wrist controllers around. Just
slide WristTwist up or down to rotate the forearm bone and
get the forearm mesh to retain its mass.

We have found that when the forearm does not collapse, the
believability of the animation is retained and the customer has
a positive experience.
Elbows

S_LElbow and S_ElbowR control the direction of the


elbows. Its fun to just move these around and see how it
influences your animation.

D_Head

D_Head's only function is its custom attribute. By sliding localToWorld up,


D_Head has more and more control over the head bone of the avatar. This
allows you to move the body around in all kinds of crazy ways but keep the head
looking forward. Kind of like the movements of an expert skiier.

Note: The localToWorld attribute trumps the joystick controls so remember to


check the use of both in your animation.
Joystick Controllers

Remember to turn on the 'Select and


Manipulate' tool in order to activate all joystick
controls. The joystick controls have no
custom attributes but are very powerful tools.

The groups of five controllers found on the


bottom left and bottom right of the screen
control the fingers of the avatar. The amount
of control is impressive as is the emotional
impact to your animations.

NeckTwist and NeckBend

These joystick controls effect the


rotation of the head bone. NeckTwist
allows the neck to influence the
direction of the head.

NeckBend effects the pivot of the


head in every direction. These two
controllers are great for having an
avatar look around or shake their
head no or nod yes or....anything.
IMVU uses a program called 3D Studio MAX to build all of its 3D assets. MAX is a great tool not only for building 3D
meshes and skeletons but also for animation. This tutorial is going to run through the basics of animating in MAX and
its information applies to both skeletal and morph animations.

There are no doubt details of animating in MAX that this tutorial will not cover. Repeated play with the tool is
recommended.

FPS

Animation = change over time. This implies that you, as an animator, can control what happens to an object over a
given number of frames. 3D animation is usually measured in frames per second. Most 3D games and softwar run at 30
frames per second (or 30 fps). IMVU tries to run at 30 fps also. This means that for every second that goes by in real
time, 30 frames of IMVU are drawn on your screen.

If you want an animation that lasts four (4) seconds, you would multiply 4 x 30 and make your timeline 120 frames long.
Change Timeline

When you first open MAX, you will notice that the
number of frames shown in your animation slider
bar may not be 120. To change the number of
frames, click on the 'Time Configuration' button in
the lower right.
Time Configuration

TThis will open the 'Time and Configuration' dialog box.


To change the time to 120 frames, type '120' into the End
Frame text field and then click OK.

You will see that the number of frames listed in your


animation slidar bar has changed to '120'.

Enter Animate Mode

At the bottom of the screen, toward the right, there is a


button called 'AutoKey'. The AutoKey button allows you to
enter and exit animate mode in MAX. While the AutoKey
button is selected, both it and the frame around your active
viewport will turn red. So, when you see red, that means
you're in animate mode.

When you're in animate mode, you can adjust objects over


time and those adjustments will be recorded within MAX.

Move an Object Over Time

Once in Animation mode, move the animation slider to 30 frames. Now, select the object in the scene you want to
animate and move it to a new location. What you have just done is create a 'key frame'. When you adjust the object in
any way at any point in the timeline other than zero, a new key frame will be created. You will also notice that when you
made that first key frame, another key frame was automatically added to frame zero of your timeline. This will come in
handy if you want to loop your animation. More on that in a bit.

If you grab the animation slider and move it between frame 0 and frame 30, you will see that the object moves in space.
As it moves, it is estimating the difference in values at any given frame between the first value and the second value.
This is called 'interpolation'.

Now, Make new keyframes at 60 and 90 frames - moving the object to new locations at each key frame.
Looping

When your animation begins and ends with the exact same adjustments, then that animation may be 'looped'. This
means that you can play the animation over and over and it will look like one continuous motion. If your animation
begins at one place and ends at another, then it will pop when played over and over.

An easy way to make an animation loop is to make a copy of the key frame at frame 0 and place it at frame 120. You
can do this by shift+clicking the key frame in the animation timeline and then dragging it over to the right. Let go at
frame 120 and you will have a looping animation.

Curve Editor

Using the Curve Editor is optional. The Curve Editor is a really handy tool for when you want to adjust how long on
object waits between keyframes. To open the Curve editor, Just click on the 'Curve Editor' button at the top right of MAX.

This will launch a new dialog window that should show all kinds of colored lines with dots on them. These are the XYZ
curves of both the position and rotation of your object's animation.

You can adjust the details of your animation using the tools provided in the Curve Editor. You can also make changes to
individual channels of a key frame by moving the dots along the lines. This is one of MAX's most powerful features as it
lets you build an animation in keyframes and then adjust just when individual objects begin and end their animations.
Also, you can use the Curve Editor whether you are in Animation mode or not.
Curve Editor Filters

If no colored lines appear in your Curve Editor, then you need to change the settings. To change the settings, you must
click the 'Filters' button on the upper left of the Curve Editor.

This will launch the Filters window. We typically use the settings provided in the image below.
Filters

If no colored lines appear in your Curve Editor, then you need to change the settings. To change the settings, you must
click the 'Filters' button on the upper left of the Curve Editor.

This will launch the Filters window.


Exit Animate Mode

When you are finished creating your animation, make sure


to Click the Auto Key button again and get out of Animation
mode.

One of the tricks of animating using MAX is remembering


when you are in Animation mode. However, with some
practice, you'll get the hang of it.

Play Animation

Once you are out of animation mode, click the play button on the bottom right side of the screen. You will see that your
object interpolates from spot to spot in a fluid motion. Press play on the example image below to see how simple
interpolation looks.
Make Adjustments

Remember, you can iterate on your animation as much as you like to get it perfect. Have fun!

Sometimes, an animation calls for a bit more control than what you normally find in the base MAX files that IMVU
supplies you. In these instances, it makes sense to lock the position and orientation of a bone or set of bones in the
avatar skeleton.

This makes it really easy to do things like push-ups or anything where the avatar body moves but the hands stay fixed.
Although we will focus on hands in this tutorial, you can apply the same idea to any bone(s) in any skeleton.

Make your Pose

Even if I know in advance that an animation is giong to require a pos/ori


lock, I often build the basic pose first. This allows me to figure out some of
the nuances of the pose before deciding on where to lock the bones.

In the pose on the left, I want to have the avatar pushing against a solid
wall. You will note that, without the hands locked in place, the animation
looks more like some kind of defensive tai chi than pushing against
something of substance.
Create Dummy Node

Once the basic pose is made, create a dummy


node for every bone or controller to be locked.

Open the 'Create' tab on the right side of MAX


and click the 'Helpers' icon (tape measure). Then
choose the 'Dummy' button and click/drag inside
the viewport. When I let go, I have created a new
dummy node.

You can name the Dummies whatever you want


if you find that helpful.

Align Dummy Node

Dummy nodes can be snapped to the exact location and


rotation as any other object in the scene.

First, select the object that you want to align. In this case, it
is your new Dummy node. Then, click on the Align tool on
the top right of MAX. You will see your cursor change. Next,
click on the object that you want to align to. In this case, I
choose the left wrist controller.
Align Dialog Box

When I click on the left wrist controller, the


Align Selection dialog box appears. I then make
sure that these three options are selected:

1. X, Y and Z Position - this moves the dummy


node to the exact location of the wrist.

2. Pivot Point- I know that the Pivot point for


both objects is dead center on both of them.

3. X, Y and Z Orientation - This rotates the


dummy to the exact same rotation as the wrist.

Node Aligned

After I click OK on the Align Selection dialog box, I can see


that my dummy node is now in the exact same place and
rotation as the wrist bone.
Assign Pos/Ori

Select the wrist bone and assign a Position


Constraint and an Orientation Constraint.

Go to Animation/Constraints and choose


Position. Then select the dummy node. The
dummy node blinks to indicate the constraint
has been applied.

Next I choose the Orientation Constraint option, and then click on the dummy node agian. It blinks again to
let me know the constraint has been applied.
Bask in the glory

With Pos/Ori locks on the wrists, you can check out the animation.

As you can see on the right, the hands now stay in one place. The illusion
that the avatar is pushing up against something solid is achieved.

Oh, and....Only the Pelvis is being animated in this shot. This means that
your final animation looks compelling and is a very small file size.
If necessary: Delete Pos/Ori

But what if you want to


delete those Position and
Orientation constraints?

Have no fear. You can


easily delete constraints by
going into the 'motion' tab.
With the 'Parameters' button
selected, you can choose to
see what constraints have
been applied to Position and
Rotation. If you want to
delete the Position
Constraint, just click on its
name in the Position list.
This will activate the Delete
option below it. Click Delete
and the constraint is gone.

You can follow the same


process for the Orientation
Constraint.

This tutorial applies to both room and furniture products and assumes you are using 3DS MAX.

In more complex products, you may have multiple avatar animations. To more easily keep tabs on all of the poses in
your product, you need to be able to see posed avatars in the exact right location. However, keeping multiple versions
of the animatable avatar in one MAX file makes your file unworkable - the file size becomes just too large. In these
situations, you ought to turn your avatar into a more easily managed 'statue' that you will add to your furniture or room
MAX file.

For the purposes of this tutorial, we assume your intent is to embed a statue into a furniture product. However, the
same process is used for embedding a statue into a room product.

Since you are building an animation for use in a furniture file, we assume that you have already imported the furniture
items and root node into the avatar animation file.

This avatar statue is not at all necessary for your final furniture item to work properly. However, it is one of the best
ways to verify placement of the seat node and, to be perfectly honest, I find it very useful to know which animation is
supposed to show up where.

In order to make an avatar statue that is useful, you need to have already built an avatar animation and a room or
furniture file. To learn how to do these things, please go to the Avatar Skeletal Animation Tutorial, the Room
Introduction tutorial and the Furniture Introduction tutorial.

Start with Avatar Animation

With your final avatar animation open, the first thing to do is Save
As another file. You need to save a new file so you don't override all
your wonderful animation by mistake. I typically save these avatar
statue files as something I know to throw away like "AAA.max"

Collapse the Meshes

Select all of the avatar meshes Right click and collapse all
of the meshes into an 'Editable Mesh'

Note: I rarely include the hands in my avatar statue as


they tend to make the final furniture file needlessly take up
more space on my computer. I only include them if hand
registration is important to the final seat location.
Select and Unhide

With the avatar meshes still selected, select the avatar


root node, the furniture mesh and the furniture root node.

Then, right-click and choose to Unhide all. This will show


all of the hidden skeletal structure for the avatar. This
extraneous stuff is what you are about to delete.

Hide Selected

With the avatar meshes, avatar root node, furniture mesh and furniture root
node still selected, right click and choose to Hide the selection. You will be left
with only the extraneous stuff like the bones and controllers that drive skeletal
animation.

Note: You want to make sure that all of the avatar meshes, avatar root node,
furniture mesh and root node are hidden.
Delete What's Left

Select All (usually ctrl+A) so that all of those bones


and controllers are selected. Then, delete all of the
extraneous stuff. At this stage, you should see
nothing in the active viewport.

Unhide All

After you have deleted all of the bones and controllers, choose to Unhide All
(I typically right click and choose 'Unhide All'.)

Now you see only your avatar meshes, avatar root node, furniture mesh and
furniture root node.
Rename and Attach

Select the avatar head and rename it. I usually use a


naming convention that allows me to easily find my
collapsed avatars in the furniture file. For example,
"Av_Bounce" or "Av_SteamEngine" or, in this case,
"Av_ChickenDance".

With the renamed head still selected, go to the Modify


panel on the right and click the 'Attach' button. Now, click
on all of the other avatr meshes until they are all selected.
You have just turned your avatar into a statue.

IMPORTANT: Make sure you un-check the 'Attach' button


so you don't mistakenly attach the root nodes or the
furniture mesh to your avatar.

Rename the Avatar Root Node

I always use the avatar root node as the seat node. This ensures that my avatar is in the *exact* right location in
relation to the seat node.

To do this, I rename the root node using the seat naming convention. To learn more about seat naming, please go to
the Seat Naming Convention tutorial.

In this case, I will rename the root node seat01.ChickenDance


Create a New Dummy Root

Create a new, large Dummy node and align it to


the furniture root node. This new dummy node is
going to allow you to position your avatar
animation perfectly.

Name the new node DummyRootNode.

Select and Link

Now you want your statue to be linked to the seat node and the seat
node to be linked to the dummy root node.

Link tha avatar statue to the seat node. To do this, select your avatar
statue and click on the 'Select and Link' tool. Then drag from your avatar
to the seat node. The seat node should blink to let you know the
parenting has taken place. Follow the same process to link the seat node
to the dummy root node.

Now, uncheck the link tool. To verify that your parenting has taken place,
click the 'Select by Name' button and make sure that you see your avatar
statue indented underneath the seat node. Also verify that you see the
seat node indented underneath the root node. Remember to SAVE this
file.

Merge into Room/Furniture File

Now you have a correctly parented avatar statue. The next set of steps define how to get that seat node to be in perfect
position in your room/furniture file.

Open your room/furniture file and choose to merge in the contents of your avatar statue file. You should only merge in
the dummy root node, the seat node and the avatar statue. If you hit material errors, just choose to use the scene
material and hit OK.
Align Dummy Root

Select the dummy root node and then click on


the 'Align' tool. With the Align tool active, click
on the furniture root node. This will launch the
Align Settings dialog box. Choose to align the
X,Y,Z for both the position and rotation and
click OK.

The dummy root node should now be in


*exactly* the same position as the furniture root
node.

Select and Link to Furniture Root

Now that the dummy root node is in place, the avatar seat and statue are in the *exact* location they need to be. Thus,
the dummy root node has served its purpose. Delete it.

Then, select the seat node and click on the 'Select and Link' tool again. This time, link the seat node to the furniture root
node. You should see the furniture root node blink to let you know the linking has taken place. To verify this, click on the
'Select by Name' tool to view the hierarchy. You should see the seat node indented underneath the furniture root node.

WOOHOO! You just created an Avatar statue and merged it into your furniture max file!

Select the Avatar statue and click the 'Unlink Selection' button. The Statue is now in place simply to let you know what
animation is meant to go with the seat node. It also helps you see exactly how that animation interacts with other
avatars and pieces of the furniture item.
The following tutorial teaches you how to add an avatar Action to your furniture or room product.

An Action is the delivery system for animations in IMVU. Furniture and Room products can include Actions. Avatars can
also include actions. However, did you know that Furniture and Room products can contain Avatar actions?! What
craziness! Plus, they can both be triggered at the same time to make wonderful effects.

There are some tutorials you may want to read in advance of reading this one. Specifically, you may want to read the
Furniture Introduction, the Room Introduction and the Nodes for Furniture Tutorial. Plus, you will no doubt want to know
how to make an Avatar Skeletal or Morph animation. If you have already read those tutorials, let's dive on in.

Using 3DS MAX, adding Avatar animations to furniture can be easy or complex. We'll cover both of those options in this
tutorial.

Seperate Files

You must think of your furniture animation and avatar animation as two
totally separate entities that will be pieced together later in the Previewer.
Just because your avatar animates along with your furniture item in MAX
does not mean that it will automatically just show up in the Previewer.
You will have to export that avatar animation separately.

In most cases, before you can add an Avatar pose to furniture, you have
to build the furniture item first. Assuming you have already built that
furniture item, the next step would be to open up the Rigged Avatar file in
3DS MAX. To Learn more about that file, please go to the Rigged Avatar
tutorial.

The EASY Section

What makes this the easy section is the focus on adding the IMVU-made Sitting animation to the couch.

This means that, in MAX, you are only positioning the avatar to *roughly* the same place as the sitting avatar
animation. Then, by naming your seat node correctly, you will be able to automatically call the Sitting animation without
having to create the avatar animation file itself. Easy!

Easy - Default Animations

There are two Actions that come standard in the IMVU avatars: Standing
and Sitting. Positioning these Standing and Sitting seat nodes should be
pretty easy because IMVU supplies those positions for you in the example
chair, example couch and example room files.

To learn more about how to create an avatar animation, click here.


Easy - Merge Furniture into Av File

With the rigged avatar animation file open, merge in your already built
Furniture item along with its root node (and all bones you feel could help).
For the purposes of the easy portion of this tutorial, we will be adding a
sitting animation to a couch.

It is very important that you import the root node as well as the furniture
mesh. Having the furniture root node in the avatar file will be of great help
later when you want to merge the avatar pose back into the furniture file.

Easy - Position Avatar

With the couch in place, position your avatar so that it is sitting exactly where
you would want it to sit on the couch.

Easy - New Seat Bone

Now that you know where the avatar ought to be


positioned in order for it to sit on your couch, you
need to create a new seat bone and add it to the
couch's skeleton. To do this is easy.

Just click on the 'Dummy' button under the


Create tab/Helpers section. Click and Drag on
the screen to create your new bone.

Easy - Align to Av Root Node

Now Align that bone to the avatar's root node. The root node is the bone at the top of the avatar hierarchy. It is called:
Female03MasterRoot
Easy - Link Seat Node to Furniture Root

With your new seat bone merged into your furniture file, delete the
BLERGEN bone.

Now, you can link (or parent) the seat node to the Furniture Root
node found in your furniture file. To learn more about bone
parenting, go to the Bone Parenting Tutorial.

Easy - Rename Dummy Node

Now that the dummy node has been put in the correct place, it is time to rename it as a seat node. Name it
seat01.Sitting. To learn more about seat node naming, go to the Seat Naming Convention Tutorial.
Easy - Merge Seat and Root back into Furniture file

Your seat01>Sitting node is now in the right spot in your avatar animation
file. However, your furniture file does not contain this information yet. It
needs to contain a properly parented and named seat bone when it is
exported or the seat will simply not show up in IMVU.

To get the seat node to show up in the exact right place in your furniture
file, rename the furniture root node found in your avatar animation file to
some nonsense word like BLERGEN. This node will be trashed after the
merge so the name doesn't matter. Next, merge both the BLERGEN
node and the seat01.Sitting node into your furniture file.

The Complex Section

This section covers some edge cases and tips that will help you create great avatar/furniture animations.

You have just learned how to utilize the Actions embedded in the IMVU avatars inside your room or furniture product.
Ah, but what if you want to use a brand new animation? You can't know exactly where to place your seat node if you
haven't created the animation yet. So, you must first create the avatar animation.

Complex - Lock Position & Orientation

Sometimes, you will want to make the location of the avatar's hands move with a piece of furniture. For example, if you
wanted the avatar to lift weights on a bench press. To do this, you need to have two seperate animations: one for the
avatar and one for the furniture item. To learn more about the Avatar portion of Pos/Ori, please go to the Position &
Orientation tutorial. If you want the avatar and the furniture to move in unison, you would apply the same theory.
Complex - Lock PosOri Node Creation

In the case of the bench press, you will need to create


three new dummy nodes that will become part of the
Furniture skeleton. Two bones will be for each of the
avatar wrists that you want to move with the bar. We'll call
these LeftBar and RightBar. One more bone will be to
drive the movement of the bar itself. We'll call that bone
BarBONE.
Complex - Lock PosOri - Linking

Link LeftBar and RightBar to BarBONE. To learn how to link


bones to other bones, please go to the Bone Parenting
tutorial. Now, you can move BarBONE and the other two will
move with it.

Complex - Lock Wrists

Its time to lock the Pos/Ori of the avatar wrists to the LeftBar and RightBar bones.

Move the avatar hands into the exact position you want and then align the LeftBar and RightBar bones to their
respective avatar wrist bones. Then, follow the instructions found in the Position & Orientation tutorial to lock the wrists
to those bones.

Now, when you move BarBONE, the avatar hands will move as well. In this manner, you can create one animation in
MAX and use that same animation to export the Furniture xaf (selecting the Furniture Root node) and the Avatar xaf
(selecting the Avatar Root node).
Complex -
Prop Action

In the case of the bench press animation described


above, you ought to utilize a feature in IMVU called
Prop Action.

A Prop Action is a room or furniture Action that is


triggered when an avatar joins a seat. This allows you
to begin both the room/furniture animation and the
avatar animation at the same instant. If Prop Action did
not exist, then your avatar might be pushing up while
the bench press is coming down.

To learn more, go to the Prop Action Tutorial.

Complex - Export Avatar Animation

Once you have your avatar animation complete, export it as usual. To learn
how to export an avatar animation, go to the Avatar Animation Export
Tutorial.
Complex - Avatar Statue

Now that your avatar animation exists, it is time to get your furniture file
in order.

In more complex products, you may have multiple avatar animations. To


more easily keep tabs on all of the poses in your product, you need to
be able to see posed avatars in the exact right location. However,
keeping multiple versions of the animatable avatar in one file makes
your file unworkable - the file size becomes just too large.

In these situations, you ought to turn your avatar into a more easily
managed 'statue' that you will add to your furniture file.

To learn more about making a statue avatar, please go to the Avatar


Statue Tutorial.

to the Previewer

h a furniture skeleton and mesh built, PosOri enhancements resolved, an avatar animation exported, *and* and
tar statue merged into your furniture file...you are now ready to export your furniture skeleton as usual.

avatar animation you exported earlier will not just show up in the furniture item, though. You have to add it to
Furniture product while using the Previewer. However, since you now have a seat node just waiting to accept
avatar action, adding yours will be a cinch.

viewer - to add your exported avatar animation to your furniture product, you will need to open the Previewer. It
ecommended that you create your furniture product without Actions so that you don't lose any work. To learn
re about adding avatar animations to furniture products in the Previewer, go to the Avatar Actions Tutorial and
Previewer - Actions Tab Tutorial.
Now that you have created your Mesh, textured, weighted, and exported it, you are ready to use the IMVU
Previewer! If you haven't already, be sure to download the IMVU Previewer from the Content Creator main page,
and install it on your computer.

The IMVU Previewer is the last stop before Submitting your product to the IMVU Catalog. The Previewer allows
you to bring all those pieces you have just Exported together into a CFL file, the format that is read by the IMVU
Client.

The Previewer consists of three windows, the Preview window that allows you to see your product as you
reconstruct it. If you are creating a Furniture product, you will see the default room where all new furniture items
appear. This room is purely a stage for you to build on and will not export with your finished item. If you are creating
a Room product you will load in your own derived room, in most cases Product 10860, which you will replace with
your own mesh and textures. If you are creating an Avatar Accessory, or Avatar Action, then this window will be
white, with only your avatar in its center.

The second window includes various import categories, each with their own TAB. This is the place where you will
import and adjust the settings for your product before you Submit it to the IMVU Catalog.

The last window is a typical Command Prompt that quietly runs in the background as you work. If you have any
problems along the way, this area may give a hint as to what might be going wrong.

Understanding Derivation

At its core IMVU works on the idea of Derivation. No product is created without it having been based on a
preexisting product first. This means that you need to first load in a product to replace it with your own. In the case of
Furniture, you would first load in product ID number 12908, then change or completely replace the product with your
own. This means when you sell your product, the creator of the original product (#12908) gets a small cut of that
purchase price. The great news is that in the future, when anyone derives from YOUR product, you make a few
credits yourself, each time one of their items is sold. SO... if you were to create a mesh for a t-shirt that was very
popular and allowed it to be derived by other Developers, you would get a small percentage of the sale of every
single t-shirt based on your original Mesh! See how it works!

When you first open up the Previewer, you will be asked to “Create a Derived Product” from any existing product that
is in the same category as the one you are creating. We at IMVU encourage you to start with something basic, a
product that is at the very beginning of the derivation chain. Although you could theoretically derive from any product
that is set to derivable in the catalog, you don't want your selling price to be dictated by the dozen or so previous
products that were derived from it earlier. With millions of products in our Catalog, this can happen fairly quickly, so
we suggest you derive from the following?

For Furniture products, derive from product 12908

For Locked Room products, derive from product 10860

For Furniture Room products, derive from product 12901

For Avatar Accessory products, derive from: for Female: product 683 or
Male: product 669

For Avatar Action products, derive from: product 10838

For Modicon products, derive from product 745

For Avatar Heads you will need to derive from: for Female: product 61995 or
Male: product 59086
These are all handy to know, because if you make a lot of any one type of product you will deriving from one or more
of these product IDs quite often!

Previewer Login
Each time you open the Previewer it will ask for your IMVU Avatar name and password. When someone attempts
to edit a product, the Previewer will determine if the product's author is one of the Developer accounts associated
with it. You will not be allowed to edit a product which is not your own. Consequently, no one else will be able to
'edit' your products - they will only be able to 'derive' from them, this is called “Asset Signing”.

Asset signing gives IMVU a theft free Developing environment where you should feel safe placing your hard work
into the IMVU catalog.

What if I have multiple Developer accounts?


If you have multiple Developer accounts, have no fear. You can add Developer accounts to one Preview install.
Just click Help/Manage Developer Accounts to be brought to the 'Manage Developer Accounts' dialog. Within this
dialog, you can add and remove Developers. You can also set which Developer is the default or active Developer.

Previewer Product Info Panel

At the very top of your Previewer Import window you will find the Product Info Panel. This is where all the ownership
information will be automatically listed. This includes your personal Developer ID, the unique Product ID for your
product, the Parent Product ID (the product you are Deriving from), and the Product Type, or the type of product
you are creating. The Product Info Panel also includes a big button with the words Apply Changes on it. For any
changes to take place in the Preview window, you will need to click on the Apply Changes button first. In many
cases you may wait until you have made multiple changes before clicking this button, purely to speed up the
process.

This panel also includes a Submit to IMVU Catalog, and Re-Submit Modified Product CFL buttons. These are
use to submit your finished product, or to re-submit products that you have altered to the preexisting Catalog page.
Advanced Mode
If you will be producing a product more complicated than just a texture swap, you will need access to more
of the Previewer's features. You can turn on Advanced Mode via the Edit menu in the Previewer Import
window.

To purge your CFL file of all extraneous assets, click on the CFL TAB. This tab shows you an itemized list of all of the
assets currently contained in your CFL file. Among these assets you will notice a file called index.xml. Never delete this
file. It is necessary. Otherwise, if you see a file you did not create personally (other than index.xml), then it is garbage
and ought to be deleted.

Once you have finished deleting files from the CFL tab, SAVE your product. When you save, you essentially make the
asset deletions stick. Do not hit Apply Changes as this will only bring all of your deletions back and you will have to do
the whole thing over again.
Add or Delete
When Deriving from a product that contains more Material slots then your own product you may end up with
unnecessary files saved in your final exported CFL file. Thus, we have supplied you with Add and Delete buttons.
Clicking the add button adds a new material to the bottom of the list. While clicking the delete button deletes the
Material that contains the button you are pressing. As you add or delete materials, please make sure that the
Material/.xrf file you are using contains a sub-material whose name matches the Material ID number in the window.

If the CFL file you started with contains more materials than you need, it is wise to delete them. Otherwise, the size of
your CFL file will be unnecessarily large. There are two steps to deleting those extra files: delete the material reference
in the Materials TAB and deleting the actual files from the CFL tab.
You can also add Body Parts under the Geometry TAB. When you do this in a Furniture product, a new material panel
is added in the Materials TAB. As you add Body Parts and materials to those Body Parts, the name of the material
panel will procedurally change. P0M0 translates to Part Zero Material Zero. So, as you add parts, the P# increases and
as you add Materials the M# increases.

Save and apply changes


Now that you have successfully loaded your skeleton, mesh(es), animation(s) and texture(s), it is time to Save and
Apply Changes. It is always prudent to Save often.
The IMVU Catalog is filled with 3D generated products, and the success of any good 3D product is
the quality of the textures applied to it. A Texture is the two dimensional artwork that is applied to
a three dimensional “Mesh”. Adding a texture to a 3D mesh is much like wrapping a package, or
covering a piece of furniture with patterned paper. Applying a texture to a 3D surface is called
“Mapping” and can be the most time consuming aspect of creating a 3D product, and can be the
difference between a professional or amateurish model.

IMVU is founded on the idea that many products in our catalog can be Derived from. This means
that if a product is set as derivable, other creators can alter that item and sell it as their own. One
of the most popular methods for deriving a product is to swap the textures applied to that product.
One of the most successful examples of this are in the creation of new clothing items generated
from a basic derivable Mesh. Developer KittenKat offers a large line of drivable Meshes that
fellow developers can use to easily create their own products from. Below are just a few examples
of products made from one of KittenKat's many derivable offerings.
Creating & Mapping Textures
Textures are primarily created using a 2D application like Photoshop, although there are many
software options out there to choose from. You will also run into a variety of ways in which
textures are applied to a 3D Mesh. Here are a few examples of how a texture, or group of textures,
might be use on a 3D Product.

UnWrapped Texture
When creating a texture map for a 3D Mesh, some developers will UnWrap their mesh so that all
of its many surfaces are laid out like a paper cutout. Each part is then painted individually,
making it easier for a developer deriving from the model to swap the original texture and have a
fairly good idea where the changes will be appearing on the pre-existing surface.
Individual Textures
Other products may include a collection of
individual textures that are applied separately.
This is handy if a pattern, like wood grain, is
repeated over multiple surfaces, or if a texture
is going to be Tiled over an area larger than the
single texture size (note the puple wood
texture). This examples shows eight individual
textures that were used to create this one
product.

All in One
Some Meshes, like those used in
Avatars or Pets, are often
comprised of one texture that
includes all aspects of the finished
model. This means that every
surface is represented, and might
also include shading that suggests
turning form and highlights. This
is very like the UnWrapped
texture, but takes into account the
organic nature of the finished
model.

Opacity Maps
Another texture type you may run into are Opacity Maps, or often called Alpha Maps. Theses
are additional textures that are added to a texture to indicate what areas are opaque and what are
transparent. An Opacity Map is a black and white image with white representing the solid areas
and black the see-through areas. Shades of gray are used to create levels of transparency, like
might be seen through a shower curtain or the surface of water.
In this example you can see the leaves texture on the left and the Opacity Map on the right.
The final result seen below shows what happens when both are applied to a variety of surfaces
to create the illusion of tree leaves.

Particle Textures
Only recently introduced to IMVU is the use of Particles in our 3D products and
environments. Particles are points within your 3D model that can be animated to simulate
natural or magical properties. Each particle can have a texture applied to it, so you can
simulate water droplets, fire, falling snow, smoke, or anything else you can imagine. Like
Opacity Maps, particle textures can be transparent, but they use a different file format that
allows for transparencies to be built right into the texture itself.
These textures are saved as a
.PNG file and should be no
larger than 32x32 pixels
square. In this video example
you can see particle textures at
work. In the fountain you will
see splashing on the surface of
the water, and on the lava
throne, sparks jump up out of
the lava in the surrounding
pools. There is so much more
that can be done with particles,
but it can take a lot of work to
get them to look just right. It is
also important to note that a
ton of particles in your scene
will slow down the frame rate
of the 3D environment. When
in doubt, be sparing with the
quantity of particles you apply
to your 3D products.

When you create textures for your IMVU products it is important to remember this rule...

Make sure your textures have dimensions that are Powers of Two! This means the width and
the height of your textures have to be a combination of 32, 64, 128, 256, 512.

So, you can have a texture that is 128 x 128 pixels, or 128 x 256, or 256 x 512, and so on. The
reason for this is that IMVU optimizes textures before they ever make it to the 3D window of
your customers. This means that if you submit a non-standard texture size, the submissions
process will squash and stretch your texture to make it conform to these dimensions, and
undoubted reduce the quality of your design.

Although it is conceivably possible to submit non-standard texture sizes, the process used to make
them conform will potentially ruin the very effect you are trying to achieve. When in doubt, pre-
size all your textures to these dimensions and feel confident that your work will look as good in the
IMVU Client as it did in the 3D application you created it in.
The Material files in the IMVU process are not textures themselves. They are the link between the
texture and the Mesh that live in your final CFL product. Basically, the Material file tells the Mesh
that a specific texture (or textures) is meant to be applied to the material ID number embedded in
the mesh. This material ID number should be included in the sub-material name in MAX.

The Material files can be exported at any time.

In order to Export the Material files, make sure you have nothing selected, choose export from the
file menu, name the file (remembering to manually type in the .xrf at the end of the name) and
click Save. The Cal3D window that appears shows you a list of the materials and sub-materials in
the scene - including the sub-materials you had named back when you were building. Choose your
sub-material name from this list and then click next. The following Cal3D window is your
opportunity to verify that this Material does indeed contain the texture(s) you wish to export. Once
verified, click Finish.
Cal3D Export window allows you to confirm which materials your Export
corresponds to,

You need to repeat this process for every multi-sub in your MAX material. This means that for
every material you want to actually have show up in IMVU, you need a corresponding .xrf, or
Material, file.
The Materials TAB is where you will reassemble the textures you have created in your 3D
application and ready them for the IMVU Catalog. Luckily, all of the Material slots are
automatically filled when you import your Meshes under the Geometry TAB. All you will need to
do is browse and locate your textures and Opacity Maps, and edit their parameters. The Materials
TAB allows you to toggled Vertex Colors, designate blending, self-illumination, and even animate
the textures applied to your Mesh.

You will notice that the window on the left includes a list of numbers. The last two digits on these
numbers should correspond to the numbering system you used to create your original textures.
P00-M00 indicates the texture "0" applied to the first Mesh loaded under the Geometry TAB.
P01-M02 indicates texture "2" applied the the second Mesh loaded in your Geometry TAB... and
so on.
Material Asset - Import
This is the area where you will Browse for your .xrf, textures, and Opacity Maps. An Opacity
Map is a grayscale image that determines what areas of your texture are opaque, transparent, or
translucent. To load a Opacity Map you will need to click on the name below the Diffuse Color
map and load it separately.
Material Parameters
This area allows you to toggle on or off various settings for each individual texture. These include
the ability to determine whether this texture is influenced by Vertex Colors applied to the model,
is Self-Illuminated (like a the moon or a light bulb), overrides the Fog setting, or adjust the effects
of the Opacity Map.

The first check box, Two Sided, tells the material to render no matter what side of a polygon you
are looking at. Handy for draping hair and the like.

The second checkbox, Self Illuminated, makes the material unaffected by the Scene's lighting.
This is handy for things like fire or anything that you want to stay bright.

The third checkbox, Fog Override, makes the material unaffected by fog. This is VERY handy
for sky textures.

The fourth checkbox is Vertex Colors*. If you have exported a mesh that contains vertex colors,
you can view them on a per-material basis by checking this box in each material.
The fifth check box is the Mode drop down menu. If you checked the Use Blending checkbox, the
Mode drop down tells the full opacity map whether it can be an Additive blend or just stay a
composite blend. Additive blending literally takes the texture and "adds" light values to it based on
values in your opacity map. The more additive textures you have in front of one another, the
brighter and brighter they get. This is handy for things like shafts of light.

Texture Animation Parameters


Just below the Material Parameters are the Texture Animation controls. A texture can Scroll over
a surface at various speeds and directions (like the lava texture above), or Cycle through frames of
animation that exist on a single texture (as seen in the flame texture below).

Cycling allows you to sample frames within a given texture.


Cell width and Cell height are used for Cycling animations. The number here is in pixels and tells
the animator what size you want your animation cell size to be. For example, if I had a texture that
was 128x64 and I happened to have four separate frames drawn across it from left to right, my Cell
width would be (128/4=) 32 and my Cell height would be 64.

Offset X and Y allow you to offset where your first frame of a Cycling animation begins. This is
very handy if you have one large texture that contains several Cycling animations on it. Set your X
and Y to 0, 0 to use the full texture, or different values to use a subset of the texture. The cell
rectangle does not have to divide the dimensions of the texture evenly, and it doesn't have to have
the same proportions as the texture.

Start Cell is used for Cycling animations and tells the animator which frame to start on. This is
handy for things like flickering candles where you may want to use the same texture on a bunch of
candles but don't want them to animate the exact same way (meaning looking EXACTLY the same
in IMVU). With this feature, you could use the same texture on multiple candles but have them all
appear different in IMVU. Of course, you COULD just make new textures per each flickering
candle but that would needlessly increase the file size of your product.

Direction X and Y are used for Scrolling animations. These deltas specify the amount (direction and
speed) to scroll, positive numbers going down and right. The delta is in Fixels (fractional pixels)

# of Cells (I know, it says 0 of cells - we're working on it) allows you to define how many Cells the
animator should include in a given animation. By calling setting Offset X/Y or Start Cell, and then
setting the number of cells with this function, you can use a single texture sheet for multiple sets of
cells.

Frames per Cell allows you to slow down the animation. You can specify that it takes
multiples of 1/30 sec to advance a frame of animation.

For an example of both texture Scrolling and Cycling, check out the Super Furniture Product
Tutorial

*NOTE: If your textures are appearing completely black, this means that the Vertex Color check
box is selected, but there is actually no Vertex Paint on that part of the Mesh. To remove the black,
un-check the Vertex Color box.

Like any medium, there are limitations that an artist needs to work within to turn their
ideas into reality. Creating objects, clothing, and environments in low poly 3D is no
different. Depending on the capabilities of the engine you are building for, you may find
yourself having to think of some very creative workarounds to reach the final effect you
are after.

Currently IMVU does not support "spot lighting", this is the ability to shine a light on an object,
which highlights some areas (nearest the light source) and allows other areas to fall back into
shadow. To achieve this effect without the light source we need to come up with a way to
"paint" these highlights and shadows on the surface of our models.

In the world of theater, where the light isn't, is frequently more important than where the light
is. Shadows act as the framework around those areas the designer wishes his/her audience to
focus. Shadows also help define the surface of a material, and can even enhance the sense of
the solidity of an object. Best of all, shadows can trick the eye into believing there is more
detail in an object or environments then there actually is. This is especially handy when all you
have to work with are a few polys and a handful of textures.

The world of the computer is a mathematically perfect one. A place without the organic
asymmetry that we are accustom to in the natural world. This is why 3D environments can
sometimes feel sterile and cold. With everything at right angles, and every texture applied like
wallpaper, it can be an uphill battle to create places and objects that feel "real" or natural.
Before & After examples of Scene without, and with Vertex Paint applied

In this example, you can see what this interior model looks like with just the textures applied to it,
but no further detail. The image on the right is the same room with Vertex Paint applied to it.
Although there is no true light source, the shading applied to the surface using the vertex paint
suggests that light is coming through the window, casting shadows on the far wall and illuminating
the sidewalls.

Vertex Painting in 3D Studio Max

Many 3D software applications include some


method for shading, tinting, or painting the
polygons beyond just the textures applied to
their surfaces. 3D Studio Max includes the
ability to Vertex Paint geometry, but it is a little
misleading to call this "painting" since your
control of how the final painted object will
appear depends a lot on the way the 3D engine
interprets the vertex paint information applied to
it. This being so, I prefer to think of this as more
"vertex tinting" since your actual color results
may vary from model to model, 3D engine to 3D
engine.

I also consider this a "wide brush" approach, rather then a fine precise tool, since how the tinting
appears on your model depends on how the geometry is constructed beneath it.
When you are painting (or tinting) the surface of your
model, you are not actually applying color to the surface
of your polygons; you are applying information to the
vertex points and suggesting how the color will project
from that point onto the surrounding polys. The effect
can be very convincing if done correctly, but if applied
incorrectly, can expose the unflattering limits of your
geometry.

In the example
to the left, a
bright red color
has been
applied to the
uppermost
vertex and it
radiates onto
the poly surface
nearest to it

In some cases, adding a little more geometry in strategic


places will give you a much better effect then leaving it
out, and can actually allow you to use less texture detail
since the vertex tinting will be doing a lot more of the
aesthetic work for you.

Above is a screenshot of the


Vertex Paint window within Max.
These are the tools you will be A good rule of thumb is that a "grid" construction in your
using most while painting your mesh is better for vertex lighting then stretching your
models. polys to the extreme. The grid allows you more control
over how the vertex tinting will appear on the surface,
while the stretched polys will give you less desirable
results.
< In this example the application
of the vertex paint is more
effective on the grid mesh on the
left, than on the more "fractured"
mesh to the right.

Vertex Paint Tips & Tricks

Painting in Shadows
If your model lacks depth, the easiest method is to just
paint them in! Create a color that is darker then your
model and suggest lighting applying it to those areas you
wish to suggest are furthest from that light source.

Example: Shadows painted in the corners of the leather


seat and under the arm rests. >

Erasing in Highlights
One of my favorite tricks is to use the Paint Bucket tool to
completely cover a model with a darker "shadow" color,
then use the Eraser tool to remove the paint from just
those areas I would like to suggest highlights. This is very
effective if you wish suggest drama and mood.

< Example: Paintbucket used to fill entire model with dark


color, eraser then used to pull out highlights on bed cover
and on post details.
Blurring to Blend Color
Because you are limited to the paint results
only looking as good as the geometry it is
applied to, you are going to inevitably have
the edges of some polys appear on the
surface of your model. To minimize this you
can use the Blur tool to soften the edges. I
also like to apply the Blur to the entire model,
then come back with the eraser to pull out the
highlight once again before I am finished.

Example: My heavy handed application of


vertex paint is softened by the Blur Tool. >
Painting Generic Textures to
Create Variety Inexpensively
Another handy trick is to create a base texture
without color, then paint that color in later with
vertex paint. For these party lanterns, I
created a simple black and white texture then
applied it to each mesh and colored them
separately within the model.

< Example: These paper lanterns share the


same white base texture and have been
colored using Vertex Paint.
Colored Shadows
Many 3D computer games use vertex painting heavily to suggest mood and age in their
environments. As suggested earlier, they will choose a shadow color and paint that lighting and
aging in manually rather then depend on their 3D renderer to do all the work. One of the
potential pitfalls comes when these game lean too heavily on gray as their primary shadow
color.

In the real world light sources come in different colors, and any first year art student knows that
this means that the shadows cast by that light will appear as the complimentary color of that
source. Although subtle, yellow sunlight casts a purple shadow, orange a blue shadow, red will
cast green, etc. Where this is most noticeable is in flesh colors. Although next generation
games have stunning graphic capabilities, if the environmental ambient colors, or vertex
painted colors, applied to their characters is gray their virtual human actors can look dead, or
bruised. Without closer attention paid to how shadow colors affect the surface of objects you
can end up with models that are dramatic, but unrealistic.

In this example, the two left-hand faces have been lit using an unflattering gray ambient
color, while the right-hand character has been illuminated with a warmer color, creating
more appealing shadows.

Too Much of a Good Thing


I can fall into the trap of leaning too heavily on vertex
paint on my own creations, so be careful. Adding drama
is nice but it isn't appropriate for all situations. When in
doubt, err to going lighter with your vertex paint then
heavier.

Example: Proof that powerful tools in the wrong hands


can be deadly... yuck! >

Most importantly, have fun and play around with what vertex paint can do for your scenes and
objects. Think of it as just another tool in your arsenal of tricks to make your creations look great.

For more helpful information on the use of Vertex Paint in your models, I highly recommend the
book, "Creating the Art of the Game" by Matthew Omernick.
The Geometry TAB allows you to import your Mesh .xmf files to build your IMVU product. To
add multiple Meshes click the Add button in the Specified Body Parts window and import your
.xmf file as each BodyPart window opens. As added information you can view your triangle and
vertices count in the Submesh Information window below. Be sure to hit the Apply Changes
button when you are done to insure all of your Meshes, and their accompanying Material files are
loaded.
Mesh Scale - Specific to Avatar Heads
Remember when you built your avatar head big in MAX? Well, this is where you shrink it down
again. In the Geometry TAB, you will notice a checkbox named 'Mesh Scale ON'. When this
checkbox is checked, the code reduces all vertices weighted to the Node Name bone by the
amounts typed into the X, Y and Z input fields. Play around in the XYZ fields until you get the
size you want. Hint - the head doesn't have to be symmetrical. This helps in making the head
longer than the potentially squat version built in MAX.

Also, you will notice another checkbox entitled 'Apply to Attachments'. This means that whenever
you have Mesh Scale ON, the code will automatically scale all attachments attached to the same
bone listed in the Node Name input field. Hint - always leave this checked.
The Mesh file needs to be exported AFTER the Skeleton file as the Skeleton is referenced in the
Mesh export process. It is possible to have multiple Mesh files in one Furniture product. If your
Scene uses multiple skeletal animations, you will no doubt be exporting multiple .xmf files. Just
how many you can use has not been tested so play away.

In order to export your Mesh file, select the specific Mesh you wish to export, and choose Export
in the file menu. Scroll to the .XMF file format, name your file (remembering to manually type in
the .xmf at the end of the name), and click save. In the Cal3D window that appears (see above),
you will be prompted to supply a skeleton/.xsf file with which this mesh is weighted. If the .xsf file
does not appear automatically, browse to the skeleton file you just created and then click
next/finish until there are no Cal3D windows visible. You just exported a Mesh file!

NOTE: If your Furniture has a morph animation, you must have the morph targets named properly
and parented to the mesh file that is going to morph. Also, the morpher modifier needs to be
underneath the weighting modifier. See the tutorials on exporting Morph Animations for proper
morph target naming and export.

In the Previewer, you have no doubt noticed a section in the Geometry tab labeled 'Mesh Scale'.
Although it is possible to use this feature for other body parts, it was built specifically for use with
avatar head products.

A little history: IMVU began with only one head size per gender that fit an anime aesthetic style.
As you know if you've read the Avatar Heads Tutorial, most heads built for IMVU avatars are
meant to work seamlessly with thousands of existing hair and head-accessory products.
Considering that the original head really does not have human proportions, the ability to make a
human-looking head (or even a different, anime head) can be really, really hard.

Enter: Mesh Scale. With the Mesh Scale feature, you can tell IMVU to scale any vertices weighted
to a particular bone in the avatar skeleton. What's more, you can tell the mesh scale to apply to
accessories whose skeletons happen to be attached to the avatar bone. This all means that you can
scale your head without worrying about whether accessories and hair products will be broken. It
all just works!

For the purposes of this tutorial, we assume that you have read the Previewer Introduction.

Open a Head Product in The Previewer

Open up the Previewer and choose to derive from a head product. For the
purposes of this tutorial, choose to derive from product 59412.

However, please know that the steps in this tutorial can be applied to any head
product.

Click the Geometry Tab


Make sure you have the Previewer set to Advanced Mode so that the Geometry tab is visible. To
learn more about how to do this, please go to the Previewer Introduction.

Click on the Goemetry tab and you will bare witness to the glory that is the Mesh Scale section.

Mesh Scale - Turn It On

If you have derived from 59412, then you will see that the Mesh Scale paramters have already
been turned on and tweaked. However, let's pretend that nothing was on and nothing was set.

The first thing you need to do in the Mesh Scale process is actually turn the feature on. You do this
by checking the box next to Mesh Scale ON and hitting Apply Changes.

Mesh Scale - Apply to Attachments

You *can* have your Mesh Scale not effect attachments that go on the head (like earrings,
eyeglasses, antennae, etc.) If that is what you want, then you can move on to the next section.

However, if you *do* want attachments to scale with the head, then you should click the check
box next to Apply to Attachments.
Mesh Scale - Which Bone?

Since the Mesh Scale feature was built to work specifically with avatar heads, you are meant to
type 'Head' into the Node Name text field.

Mesh Scale - Scale XYZ

This is the fun part. You can type different integers into the Scale X, Y and Z text fields. Then, hit
Apply Changes and see how your inputs effect the head.

X scales the head's width.


Y scales the head's depth.
Z scales the head's height.
Mesh Scale - Play!

You don't have to use the same numbers in all three input fields. For
example, you can have both X and Y be .85 and then push Z up to
2.0. Then, you'll have a really tall head. WOAH! It is in this way that
you can adjust the dimensions of a head to fit your aesthetic tastes.

Apply Changes

Make sure you hit the Apply Changes button when editing the Mesh Scale
fields. Otherwise, you won't be able to see what effect your changes have on
the mesh.

Save & Submit

Now you know how to scale an avatar head using Mesh Scale in the Previewer. Pretty cool, huh?
Just Save your file, create a screenshot and submit to show your creation to the world.

To learn more about submitting, please go to the Previewer Introduction. To learn more about
creating a great catalog image, please go to the Catalog Image Tutorial.
The Special TAB is a collection of tools that are not specific to any one function in the IMVU
Client. In this area you can import your Skeleton .xsf file, change the Ambient Light and Fog
Density, alter the size of the Client window, and in the case of Avatar Clothing & Accessories,
assign an Attachment Node.

Skeleton
Here is where you browse and import Skeleton .XSF file for your Furniture,
Room, Clothing, or Accessory model.
Room Parameters
For Rooms, you can alter the Ambient Light color of your environment, and the
size the IMVU Client window appears when your Room is loaded. Be sure to
be vigulant while altering the Ambient Light settings. Although there are some
nice effects that can be created with this feature, it can also create harsh
shadows on the skin of the Avatar. It is often a fine balance between moody and
ugly, so it pays to double check what the light is doing to the avatar as well as
the environment.

Fog Settings
Fog can also be added to a Room to help add mood and mystery. Be sure to
play around with these settings, and also trying checking the Fog Override in
the window of those textures you wish to not be effected by the Fog settings.
For best results, check both the Fog ON and Fog Really, Really ON boxes .
Compatible Body Pattern Product ID
This indicates which Avatar the product will be applied to.

Male Avatar: 191


Female Avatar: 80

Attachment Node
For Clothing and Accessories, the Attachment Node field is for typing in the Avatar bone the
product will be attached to.

Idle Actions are one of the key tools to making a 3D product come to life in IMVU. An Idle
Action is the default action for a 3D product. It is the type of Action that plays without any input
from a person. This functionality allows waves to always move in a Room product, a magic pillow
seat to float up and down forever, a Pet cupid to always flap its wings and an Avatar to shift
position on its own. That's right, Avatars, Pets, Furniture and Rooms can all use Idle animations.

This tutorial covers how to use the IMVU Previewer to assemble pre-exported assets into Idle
Actions. However, it does not cover how to build those assets. If you want to learn how to build
animations, please go to the Skeletal Animations Tutorial, the Morph Animations Tutorial, the
Rooms Introduction, the Accessories Introduction and the Furniture Introduction.
This tutorial assumes you have already read the Previewer Introduction and have already
downloaded the Previewer.

What Products Can Contain Idles?

Any 3D product can contain Idle Actions.


However, they are most common in Avatars,
Pets, Rooms and Furniture.

The most common Idle animations in Pets,


Rooms and Furniture are all named stance.Idle.
If an Action has this name, then the IMVU code
knows to play it without any input from a user.

The most common Idle animations in the IMVU


avatar are the Standing and Sitting animations.
These animations play when the avatar is in a
seat node that calls them by name *or*, as is the
case with the Standing Idle, when the avatar can
not find an animation to match what the seat
node wants to play. For example, if a seat node
is named seat01.FrogDance and neither the
room, furniture, or avatar actually contain an
Action named stance.FrogDance, then the avatar
will play its default Idle animation: Standing.

The IMVU Action System

The following description of how the IMVU Action system works should be printed out and
placed in an easy to read place or...tattooed on your forehead***:

- An Action can include a single sound.

- An Action can also be a collection of one or more Ensembles and a few rules that the Ensembles
follow.

- The trigger name supplied in an Action dictates whether the action is an Idle or a triggered
action.

- An Ensemble contains the actual animation assets and the rules that those assets follow

- There can be multiple Actions of the same name. For example, there can be multiple Actions
named stance.Idle
- There can be multiple Ensembles in each Action.

With the above system in place, you can build multiple Idle animations, export them all and then
place them into the Previewer. For example, I typically have one Action named stance.Idle that
covers only the blinking animation. That way, the blink will play regardless of what else the Pet is
doing. I also add another Action named stance.Idle that contains at least five Ensembles with
animations to a Pet so that it has a feeling of life.

Each Idle animation should be saved into its own MAX file.

*** That is, it should be tattooed on your forehead *IF* you have been both diagnosed as
clinically insane *and* visited the planet XWH#@{*Y during Hoishel's reign. Patsy's reign
doesn't count.
Previewer: The Action Tab
All Actions are found in the Action tab in the Previewer. To learn more about the various tabs in
the Previewer, please go to the Previewer Tutorial and to learn more about the details of the Action
tab, please go to the Previewer - Actions Tab Tutorial.

Random Acts

The really cool thing about an Idle animation is that it utilizes some of the best features of the
IMVU Previewer (which you'll get to later in this tutorial.) This feature? Randomness. You will
notice that your avatar doesn't do the same thing in the same order all the time. This is because its
Idle Action contains multiple animations and plays them at random.

You can create this random behavior yourself by understanding some of the basic rules of the
IMVU Action system:

- You can have multiple Ensembles in an Action

- You can tell the Action to choose those Ensembles randomly


Idle Names

There three names to keep in mind when building an


Idle Action:

stance.Idle - this name is often applied to Pets, Rooms


and Furniture products. However, Pets also sometimes
use the following two names instead of stance.Idle.
stance.Idle tells the IMVU code to play this Action with
no input from a user.

stance.Standing - this name is included in both IMVU


avatars as seat##.Standing is the most commonly used
seat node name in Rooms and Furniture.
stance.Standing is also the default Action name that the
IMVU code looks for if no matching Actions are
available within the IMVU avatar.

stance.Sitting - this name is included in both IMVU


avatrs as seat##.Sitting is the *second* most commonly
used seat node name in Rooms and Furniture.

Same Name

As mentioned above, you can have multiple Actions


in one product. Sure. Got it. However, you can also
have multiple Actions in one product with the same
name! This means, for example, you can have
multiple Actions named stance.Idle which, in turn,
means that you can drive multiple, independant
animations at the same time.

IMVU uses this feature ALL THE TIME in many of


its products as the addition of even a little random
behavior goes a long way.
Blink

The avatar has a special Idle that is controlled by the


IMVU code rather by an Action you have full control
of. This special code triggers an Action randomly if it is
called 'blink'. The blink animations IMVU has made are
very, very short animations. No longer than a few
frames. This makes the blinks feel real when played in
IMVU (and at random framerates on random
computers.) This means that the blink code has been
tweaked to perform rapidly which, in turn, means that
your blink animations ought to also be very, very short
or they will look rather silly in IMVU

Feelin Loopy

As a reminder, any
animation asset
included in an Action
can have loop effects
applied to it
regardless whether it
is a skeletal animation
- .xaf file or a morph
animation .xpf file.

The loop settings in the Ensemble tell an animation which portion it ought to play over and over
and for how many times. While you can set a number of loops right there in the loop settings, you
can also tell the Ensemble to randomly play more loops using the 'Extra # of loops (up to)' field.

Just type in any number and the Ensemble will randomly play up to that many loops whenever it
plays. The goal with utilizing this feature is to get your Idle Action to feel as random/alive as
possible.

Blending

One of the most important features of Idle Actions (and Actions in


general) is Blending. This allows the currently playing animation
to blend into the next animation. Without using blending, those two
animations would just pop as Action A stopped and Action B
began.

I usually use a 'Blend in:' and 'out:' weight of 5 frames. This allows
the two animations to blend fairly quickly.

Blending doesn't work if the Ensembles that are meant to blend


together do not have their 'Composition' set up correctly.

Composition

Idle Actions should always have their 'Composition' set to


'Average'. This allows triggered animations to replace the
bone positions and rotation (if those triggered animations are
set to 'Replace', of course.)

If your Idle Action is set to 'Replace', then any other Actions


you have set to 'Replace' will not actually replace anything.