Professional Documents
Culture Documents
IMVU Tutorial
IMVU Tutorial
Welcome, LadyNatulcien
since: 2007-07-02 5,650 credits
Last on: 2008-11-06 0 promo credits
15 dev tokens
search tutorials
The Basics
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
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.
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.
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.
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.
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
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
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.
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.
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.
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:
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.
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.
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:
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.
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.
* 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.
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 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.
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.
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.
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
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.
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
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?
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.
It is always good to know the following rules of how an IMVU Action works:
- 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
Action Types
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.
The most simple Action is one that only contains a sound file. It is simple because you only need to do four things:
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]
Idle Actions
To learn more about Actions that play forever on their own, please go to the Idle Actions Tutorial.
Personal Animation Products
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
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.
With the blah tool active, you can now click on the bone in the
scene that you want to be parented to.
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.
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
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.
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
.../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.
To build a Furniture Product, you are going to have to gain knowledge in these specific
areas:
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 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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
It is always good to know the following rules of how an IMVU Action works:
- 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
Previewer:
The Action Tab
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
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.
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.
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.
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:
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:
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.
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:
Animated Textures
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.
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.
For more information on how to create an animated avatar Pose or Action, check out these tutorials:
To learn more about creating Poses or Avatar Statues check out the following tutorials:
Avatar Statue
Avatar Actions
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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'.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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?
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.
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.
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.
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.
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?
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!
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.
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.
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.
NOTE: You will not actually need to make any changes to this panel if
you are deriving from an existing hair product.
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.
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
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.
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
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
Morph Targets
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
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
Change all of the material IDs on the mesh to material ID 1 - which is the
UpperBody [0] material slot.
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.
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 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.
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
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.
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.
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.
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.
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:
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.
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.
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.
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
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.
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
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 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?
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.
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.
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.)
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.
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
An Accessory can "utilize the system that calls animations triggered by the IMVU avatar"?!! How does that work?
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
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...
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".
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?
Build Skeleton
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:
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
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.
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:
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
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
Export All
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:
If you want to build a pet that blinks, I have a good tip for
you.
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
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.)
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.
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: 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.
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.
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.
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
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.
Save repeatedly. Be known as a furious saver. Save like your power could go out at any moment.
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.
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
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
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.
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
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.
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
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.
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.
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.
Rigged Avatar
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.
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.
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
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.
To learn how to animate anything in MAX, including morph targets, please go to the Animate
In MAX Tutorial.
Action Types
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.
The reason for this is that both heads contain the same
morph target names.
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.
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.
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.
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.
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.
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.
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
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.
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
Animation Types
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)
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.
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.
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.
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.
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.
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 fix for this ankle rotation is the attribute called rollFoot.
Moving the rollFoot slider effects the yaw of the foot.
Pelvis
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.
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.
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
D_Head
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
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.
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.
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
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
Node Aligned
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
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.
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"
Select all of the avatar meshes Right click and collapse all
of the meshes into an 'Editable Mesh'
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
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
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.
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.
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
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.
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!
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.
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.
With the couch in place, position your avatar so that it is sitting exactly where
you would want it to sit on the couch.
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.
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.
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.
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
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
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 these situations, you ought to turn your avatar into a more easily
managed 'statue' that you will add to your furniture file.
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 Avatar Accessory products, derive from: for Female: product 683 or
Male: product 669
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.
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.
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.
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.
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.
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
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.
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.
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.
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 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 on the Goemetry tab and you will bare witness to the glory that is the Mesh Scale section.
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.
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.
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.
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.
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.
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.
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 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:
Same Name
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
I usually use a 'Blend in:' and 'out:' weight of 5 frames. This allows
the two animations to blend fairly quickly.
Composition