Chat Rooms - IMVU - #1 3D Avatar Social App, Virtual ...



Heads v 1.0

[pic][pic][pic][pic][pic]

In IMVU, you can replace the default avatar head with a head of your own design. You can choose to make these heads as big or as small as you like and the heads can be anything your imagination can conjure up.

That said, building a head is one of the most challenging things you can build in the IMVU art pipeline. The good news? You CAN build them. While its true that building a head is hard because 1) you need to know how to model fairly well, 2)you need to know how to use Physique fairly well, and 3) you need to have a deep understanding of how to make morph targets, the hardest part of making a head is file corruption [insert errie music here. Note, music may contain someone playing a saw].

Your file may not become corrupt the first time, or even the second time you build a head. However, please know that a corrupt head file is waiting in the shadows and will strike you when you can least afford it. Best to keep whistling ‘Singin’ in the rain’ while you work. This confuses the dreaded corrupt file.

A MAX file can become corrupted for a number of reasons. One of the sure fire ways to get a corrupt file is to make multiple copies of a single mesh and perform the same actions on those files – which you will no doubt do in order to save yourself gobs of production time. I am guilty of this same act and, sometimes, most of the time, it actually works. However, sometimes, I collapse the stack on a bunch of meshes and….my file size rises inexplicably each time I save…eventually making MAX unusable and making the file un-openable...and, in some very rare cases, killing the fan on your graphics card! YIKES!

So, now that you know what you are getting into, read on, intrepid soul…

This document assumes that you are very familiar with the IMVU art path as well as how to use a 3D modeling program.

Chapter Uno: Building the Mesh and Materials

1.a Retrieve the example 3D Head file

For the purposes of this document, we will be using 3DS MAX as the default 3D editing program. Start MAX and open one of the example 3D Heads. The Example 3D Heads can be found in either the ExampleFemaleHead.zip or ExampleMaleHead.zip download on our developer site at

The female .zip file also contains product61995.cfl, example female head textures, and the master skeleton file. The male .zip file also contains product59086.cfl, example male head textures and the master skeleton file. All of these files will come in handy later when using the Previewer.

You will most likely use the skeletal hierarchy found within this MAX file. Considering that completely new avatar products will not work across all Scenes, Rooms, Head and Action menu items, we will not be covering how to build your own entire avatar from scratch in this document. Heads is heads.

1.b Example Head Contents

The Example 3D Head files contain everything necessary to export a functional, animating Head mesh. This includes a master head mesh, morph targets, the avatar skeleton and default body meshes.

NOTE: Save these files with a new name as you may need to merge facets of the original example 3D Head files into your new Head file if a mistake is made.

NOTE: We at IMVU, inc. do not limit you in how large any particular piece of your Head 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 Head’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.

[pic]

Fig. 1.1 – Newly opened female head file in MAX (with Matt’s custom colors)

1.c Geometric complexity

A head can be as simple as one polygon, if you so choose. It can also contain as many or as few morph targets as you like. The IMVU heads supplied can be pushed and pulled to become a wide variety of head shapes while still maintaining the same mapping across problem areas (like eyes and lips). By using the supplied head, you also get the benefit of knowing that other products like skin, eyes, and eyebrows will work on your head too.

1.d Parents and children

The mesh that actually gets texture mapped, weighted to the skeleton and exported is the ‘parent’. All of the morph targets are called ‘children’ in that they get linked to the parent in order to be included in the mesh export.

1.e Adding or removing vertices – your friend?

Morphs are interesting creatures in that they are pretty much a morph target or not. A morph target is an EXACT DUPLICATE of your original mesh but with some vertices pushed and pulled into a new location (like, a smile or blink). This means that adding or removing vertices (even just one vertex) will change your copied mesh from a morph target to just another mesh. Vice versa, adding or removing geometry from the parent will render all of your morphs useless.

Said another way, if you build a mesh and then build out all of the morphs and THEN realize that you need one more vertex to get the shape you want on the morph….you should realize that you will have to rebuild all of your morphs from scratch.

Do not be afraid of this, however, as it is bound to happen. Haha – one of the reasons making heads can be so hard is because it requires patience.

1.f Match the neck EXACTLY

If you are building a head that is meant to blend seamlessly into the tens of thousands of upper body products in the catalog, you must match the neck vertex positions exactly to those of the upper body mesh supplied in the Example Head file.

To do this, just click the move icon and turn on the Snap tool. This will, as they say, ‘snap’ the vertex to the exact same 3D space as another vertex. Use the snap tool (image).

[pic]

Fig. 1.2 – Click the move button and then click the Snaps Toggle to snap verts.

1.g Match hair and accessories

We include a pair of glasses, a hairstyle and a pair of earrings in each of the example Head files. These can be used as guides if you intend to make a head that people can use with all of their existing accessories. There are three important things to keep in mind if you are attempting to build a head in this manner:

First, you must leave the entire cranium alone so that it works with all hairstyles. By ‘works’, I mean that it does not penetrate through the hair in any location. When the head penetrates through the hair in this manner, it really draws attention and makes the avs look “not so swell”.

Second, you must make sure that the bridge of the nose stays in exactly the same position. This way, glasses won’t penetrate through your avatar’s face.

At the same time, the ears should simply not be touched. Of course, some folks are going to make elven ears and such, but please know that some ear accessories will not work. So, although some risks are more negligible than others, the position of the ears on the head should not change as glasses and earrings would either penetrate the ear geometry or float around it – kinda dorky.

1.h Big heads are not just for egomaniacs

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. This adds a level of complexity to those of you who plan on making a more human head. Basically, in MAX, your head will look enormous in order for it to fit the original hair, accessories and neck.

This is OK, though, as you will be able to reduce (or enlarge) the size of the head later in the Previewer. You can also change its depth (image) so that a squat face in MAX can end up looking normal in the Previewer.

[pic]

Fig. 1.3 – Oversize head with no penetration on hair or accessories = good

1.i Material IDs and mapping

The original IMVU heads come with three materials applied to them: skin, eyes, and eyebrows. If you are building a head that is meant to work with the existing skin, eye and eyebrow 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 head – all of the textures will just work!

If you are using the head provided in the Example files as a starting point for your new head, you will need to remap the textures. This is easy. Once you’re happy with the geometry, select the faces of the head you wish to fix the mapping on and then add an ‘Unwrap UVW’ modifier to it in the ‘Modify’ stack on the right hand side of the screen. When you do, an edit button will appear under the ‘Parameters’ section. 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.

NOTE: 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.

[pic]

Fig. 1.4 – Unwrap UVW options menu – Matt’s settings

1.J Mapping Your Mesh

Please note, IMVU supplies you with a perfectly working sub-material to use with the heads. 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.

1.J.1 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.

1.J.2 Multi-Sub Material naming convention

What follows is from the IMVU Developers forum:

“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.“ (see fig 1.3)

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. (see fig 1.3)

[pic]fig 1.5 – Example of Material Editor and Sub-Material layout from MAX

1.J.3 Alpha

You can use both Cutout and Alpha blending in IMVU.

1.J.4 HIGHLY Recommended Texture Guidelines

Although we have said it many times, IMVU imposes no budget on your texture usage but we do recommend the following guidelines to providing your customers with a decent IMVU experience.

• All textures are required to be powers of 2 along a given side.

• 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.

1.J.5 Ambient Color

It is possible to dilute the color of your sub-material using its embedded ambient color setting. To be clear, this is the ambient color setting that is actually part of the sub-material and NOT the Scene ambient.

IMVU exports the ambient color that you can't see in your 3D program so, when you load your sub-material file in the previewer, you may be startled to see that your once bright and happy colors are now grey and sullen. The fix is simple: every time you create a new sub-material, make sure all of the sub-material's light settings are set to pure white. Pure white = no ambient interference. (see fig 1.4)

[pic]

fig 1.6 – Change the material colors to WHITE in order to avoid dull textures in IMVU.

1.k Smoothing Groups

NOTE: In order to avoid geometrical looking meshes in IMVU, it is important to make sure that all of the smoothing groups for a given mesh are the same across all polygons. To set the smoothing groups, select your geometry in a sub-object mode (faces, polygons, etc.) and go to the smoothing groups section of the Polygon Parameters panel. Note the rows of consecutive numbers. If you can not see a number on a given square, then it is active and not the only number active. Click on all of the unseen numbers until you can see them all. Then, choose the number that you wish your smoothing group to be (any number is fine as long as all of your geometry is the same number).

1.L Build the morphs

Once you have gotten the parent head mesh to be exactly what you want AND you have finished mapping it, then it is time to build your morph targets.

Basically, morph animation means that a mesh is moving vertices to targets in 3D space over time. I’ll say that again: the mesh (your exported, parent head) is moving vertices to targets in 3D space (the morph positions) over time (your animation).

Building a morph is pretty easy, at least on the surface. Remember, at this stage, your mesh is not weighted – once you have weighted it, you can not make a morph from it. Anywho, just select the parent head mesh and Shift+move it to make a copy. A little naming dialog will appear so name the mesh and then hit OK. The name can be anything right now as you will go in and name it correctly later.

Wow! You just created a morph target!

Now, your job is to move the vertices on this morph target to the maximum limit of this morph target. For example, if your goal is to build an avatar smile, you ought to build the smile exactly how you intend it to show up in IMVU.

1.m Morph naming suffixes

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 COULD be anything you like but OUGHT to be what we list in the next section below. 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%

.Average – allows multiple morph animations to affect the channel, averages the result.

.Exclusive – allows only one morph animation (the most recent one applied) to affect the channel, no cap on value (ie allows values greater than 100%)

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

1.n Morph name list

As mentioned above, you COULD name your morphs anything you like and then make your own facial animation products to play those morphs. However, that would really be a waste of time.

The IMVU avatars have many hundreds of facial animations already built into the system. All of the idle animations; the animations that go along with things like breakdance, kick, hug, kiss, tackle; the embedded animations in Head and Scenes; the list goes on and on.

The way the system works is simple: an XPF (or morph animation file) contains a list of active morphs over time. Said another way, the XPF you use for a smile animation would include the smile morph target name. It would also include a number of frames at which this morph changed. For example, the smile morph at frame 0 is at 0%, the smile morph at frame 10 is at 50%, the smile morph at frame 15 is at 100%, and so on.

By building the list of morphs below, you guarantee that your head will animate perfectly with all of the existing animations already in use in IMVU. Very cool.

The morphs that IMVU uses in all of its existing avatar animations is as follows:

blink.Left.Lower.Clamped

blink.Left.Upper.Clamped

blink.Right.Lower.Clamped

blink.Right.Upper.Clamped

eyebrow.Left.Angry.Average

eyebrow.Left.Down.Average

eyebrow.Left.Sad.Average

eyebrow.Left.Up.Average

eyebrow.Right.Angry.Average

eyebrow.Right.Down.Average

eyebrow.Right.Sad.Average

eyebrow.Right.Up.Average

left.Eye.Down.Clamped

left.Eye.Left.Clamped

left.Eye.Right.Clamped

left.Eye.Up.Clamped

right.Eye.Down.Clamped

right.Eye.Left.Clamped

right.Eye.Right.Clamped

right.Eye.Up.Clamped

mouth.Frown.Exclusive

mouth.Grin.Exclusive

mouth.Mad.Exclusive

mouth.Open.Exclusive

mouth.Pucker.Exclusive

mouth.Smile.Exclusive

mouth.Surprise.Exclusive

mouth.Tongue.Exclusive

Face.Average

That’s right – 29 morphs.

NOTE: Remember, you don’t have to build any or all of these morphs if you don’t want to. For a bare bones head, I would build only the eye and blink morphs as these are the only ones necessary to make the head feel sentient.

1.o Specific morph tips

As far as IMVU is concerned, a good set of morphs = a set of morphs that

a) don’t penetrate or tear pieces of the face when played back and

b) clearly express the emotion of the character when their head takes up less than an inch on screen (no easy task).

The subtleties below will help you build a better set of morphs.

1.o.1 Blink morphs

The blinks are very important. Along with the eye morphs, they imply the most sentience as well as help convey a large range of emotion. Here are some things to keep in mind when building blink morphs.

1. Use morphs on your morphs - Build an extra copy of the head and make one eye blink completely (both lids). For this example, we’ll use the left eye blinks. After you’ve made a head with one eye’s lids fully closed, select your left blink lower mesh, go into vertex mode and select only the vertices of the lower lid.

Then, apply a morpher modifier to the left blink lower mesh. After the morpher is applied, you will see a list of target spots that say ‘empty’. Right click on the top one and select ‘choose from scene’. Then, click on the extra copy (mentioned in the first sentence). When you do this, the name of your extra copy will appear in the morpher list. Drag the slider of this entry all the way to 100% and you will see the lower lid of your mesh morph to the position of the morph target. COOL.

When you have the shape exactly how you want it, collapse the stack on your left blink lower mesh in order to reduce file size and make it possible to use this mesh as a target for your master head later.

Follow the same process for the upper lid (of course, selecting only the upper lid vertices on your left eye upper mesh).

2. Mirror, align and snap - Typically, once I have the left eye morphs built, I make copies of them (calling them trash and trash2) and make the wireframes different colors from the rest of my morphs (making it easier to tell them apart). Since the IMVU heads are more or less symmetrical, I am then able to mirror my copies along the Y axis (flipping the left eye to the right side). Then, I align my copies to the corresponding morph meshes (ie. I align the mirrored left eye upper mesh with my right eye upper mesh). FWIW, I align the copy to the pivot point of the head so that the center line of the copy is exactly matched up with the final morph mesh.

Once I have the copies in place, I select the morph mesh (right blink upper) and then go into vertex edit mode. I also turn on the snap tool. This allows me to grab an eyelid vertex and snap it to the exact position of the corresponding vertex on the copied head. Said another way, I am trying to get the eyelid vertices to be in the exact same place as my copy. When you’re done pushing verts around, just delete the copies. Voila – you now have a set of perfect blinks.

[pic]

Fig 1.7 – the Mirror button

[pic]

Fig 1.8 – Mirror tool dialog box – select the X axis and hit OK

3. Sock-et to me - For each of the four blink morphs, move the eyeballs back into their sockets a little so that the eyeballs don’t penetrate the eyelids as they animate. Not too far, though, or your head will look like its going through withdrawal each time it blinks.

1.o.2 eye morphs

The eye morphs are tricky for two reasons. They CAN contain bits from other morphs to make the av feel more alive (if you care about such things). They also need to be tweaked to not look cross eyed in IMVU.

I’ll handle the latter first: The IMVU avatars move their eyes because our code tells them what morphs to play, at what percentage, for how long and when. Our system has been built to accommodate our first two avatar heads: the male and female anime heads.

As is true with humans, the left and right eye movements are not necessarily the same amount of movement from the default position. Said another way, when the left eye looks left, it turns to the left a little more than when the right eye turns left. The amount of adjustment is miniscule but can make the eyes look les cross eyed at run time.

Now for making the avs look more alive: we have two tricks we use on our eye morphs to help the avs look more alive. The first is that we raise the eyebrow a bit on both the right eye right and left eye left morphs. This helps hammer home the illusion that the eyes lead the head before the head turns – a nice effect. We also lower the upper lids on both eye down morphs. Otherwise, the avatars look like they are frightened for their lives every time they look down.

1.o.3 mouth morphs

The mouth morphs are the hardest to build and hardest to get right. They are the hardest to build because they affect the most geometry. They are the hardest to get right because it is likely that you will get penetration when several mouth morphs are played in IMVU…if your morphs are not built correctly.

1. Give yourself space – it is a good idea to pull the teeth and tongue away from each of the open mouth morphs.

2. Fill the mouth – Although this contradicts the above recommendation, when building the smile morph, you ought to fill the mouth with teeth. Remember, you are not necessarily building the world’s perfect smile. Rather, you are building a smile that will look recognizably like a smile when the head is only an inch tall on screen.

3. One side first – using the mirror/align/snap process described above for building blink morphs, you can build out only one side of your face to save time. Then, make a copy of the one-sided smile or frown or whatever – mirror it, align it to your master smile, frown, whatever – and then use the snap tool to move the verts of the unedited side of the face into place. You will have to tweak the center line of verts, of course, but you will end up with a symmetrical smile, frown, whatever.

1.p Morph set up within MAX

You can see in the example head files that we use a standard morph set up. You can have your file set up any way you like. However, we recommend this way of working: separate the eyes, blinks, and mouth morphs into separate groups. At the same time, keep your face.average morph close to the parent head mesh so it is easier to how different from the parent your changes are.

1.Q face.Average

Although you are free to build your own head from scratch, you can also make a new head using the heads IMVU supplies. By simply moving verts around and then remapping the face, you can build a new head that works with all of the skin, eyebrow and eye products in the IMVU catalog (VERY cool and more likely to make a customer happy).

Sometimes, you don’t want to take the time to build an entire morph set just to get a new head into IMVU. If you just want to test how a head shape or just want to make a quick head, you can do so by just changing the face.Average morph target.

Just make your changes to face.Average, select the head and then export a new XMF. Load this XMF into your derived product and hit apply changes to see a very different avatar! (More on working in the Previewer below).

[pic]

Fig 1.9 – Example of adjusted face.Average morph next to Parent head

1.r Test morphs

Once you have built your first set of morphs, it is time to see them all work on your parent head. Select your parent head and add a Morpher modifier to it.

[pic]

Fig 1.10 – Morpher modifier being applied

When you do, you will see a new set of options appear in the stack. These will shortly house all of your morph targets. Click the ‘Load Multiple Targets…’ button to get the

[pic]

Fig 1.11 – Morpher modifier Channel List – click Load Multiple Targets…

When the Load Multiple Targets dialog appears, click the ‘All’ button and then click ‘Load’.

[pic]

Fig 1.12 – Morpher Load Multiple Targets dialog

Now, all of the morph slots that used to be empty have all of your properly teched morph target names in them. Drag a slider up and down to see your morphs apply to the face. Ooooo….magic….

Take the time to test all of your morphs individually to see that you like the result. That done, take the time to test all of your morphs with every other morph (meaning, make sure the lower left lid morph works well with every other morph individually. Then, move on to the upper left lid, and so on). Yes, this last test takes a while, but is TOTALLY, 100% worth it as it will save you countless revisions later.

If you find any errors (like errant verts), now is the time to fix them. To do so, just tweak the morphs individually. Then, select your parent mesh and click the ‘Reload All Morph Targets’ button. This will automatically update all of the morphs on the head…and then you should run through your tests again.

1.s Linking

If all of your morphs work together, it is time to link them to the parent. Click the ‘Select and link’ tool, drag over all of the morphs and then click on the parent head mesh. In wireframe mode, you will see the parent head mesh blink white to let you know the link took.

[pic]

Fig 1.13 – Select and Link tool

NOTE: to make sure you link your morphs to the right mesh, it’s a good idea to hide the hair, glasses and earrings first.

[pic]

Fig 1.14 – Select all of the morphs and link them to the Parent head

1.t Hierarchy

The hierarchy ought to look like this:

[pic]

Fig 1.15 – Hierarchy

1.u Weighting

NOTE: the first pass of weighting focuses on weighting the Female head. If you are building a Male head, please read through this section and then also read the following section on Male head weighting specifics.

Once you have linked the morphs, it is time to weight the parent mesh. The term ‘weighting’ means to make a mesh move with the bones of a skeleton. More technically, you are going to tell each vertex in your parent mesh should be influenced by which bone and by what percentage. If a mesh is not weighted to a bone, it can not appear within IMVU.

There are two kinds of weighting in MAX: the Skin modifier (for less organic weighting) and Physique (for organic weighting). For a head, you ought to use Physique. Depending on which head (female or male) you are starting from, the weighting numbers will be slightly different so I will show both examples.

1.u.1 Add Physique

Select your parent mesh (the one built around the avatar skeleton) and 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).

[pic]

Fig 1.16 – Adding the Physique modifier

1.u.2 Attach to node

Click the ‘Attach to node’ button

[pic]

Fig 1.17 – Physique – Attach to Node button

1.u.3 Click the ‘select by name’ button

[pic]

Fig 1.18 – Select by Name button

1.u.4 Pick the Pelvis bone and click ‘Pick’

[pic]

Fig 1.19 – Pick object dialog – choose pelvis

1.u.5 In the Initialization dialog, expand the Link Settings and uncheck ‘Continuity’. Then, under Vertex – Link Assignment, check ‘Rigid’, choose ‘No Blending’ and uncheck ‘Create Envelopes’. Then, click ‘Initialize’.

[pic]

Fig 1.20 – Physique – Initialization dialog

1.u.6 Expand the Physique modifier and enter vertex edit mode.

[pic]

Fig 1.21 – Expanded modifier and ‘Select’ mode chosen

1.u.7 View the scene from the Right hand side and zoom in on the head. Then, select all of the vertices of the head – but none of the neck.

[pic]

Fig 1.22 – Right side view of head. Select all of the head vertices.

1.u.8 Then click on the assign to link button. This will turn all of the blue, selected verts into red, selected verts.

[pic]

Fig 1.23 – Assign selected vertices to head link

1.u.9 Then, click thin, yellow line that runs through the Head bone in the avatar skeleton. This effectively weights all of the selected verts to the Head bone so that when the head bone moves, these verts will move along with it. However, there assignments need to be locked first. So, click the ‘Lock assignments’ button and note how all of the red plus signs become red squares.

[pic] [pic]

Fig 1.24 – Click ‘Lock Assignments’ and selected verts go from Plusses to Squares

1.u.10 Now click the ‘Select’ button and select all of the neck verts. Just like you did with the rest of the verts, click ‘Assign to Link’ but this time, select the next link down from the Head bone and then click ‘Lock Assignments’.

[pic]

Fig 1.25 – Now select the Neck verts

1.u.11 This time, however, you are going to tell the neck verts to also be weighted to the Head bone. To do so, click the ‘Type In Weights’ button.

[pic]

Fig 1.26 – Press ‘Type-In Weights’

1.u.12 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. You have just set the neck vertices to have the same weighting as all of the corresponding neck vertices in the female avatar tops. 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…

[pic]

Fig 1.27 –Type-In Weights dialog

1.u.13 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.

IMPORTANT NOTE: Please remember to undo (ctrl+Z) any movements you make on the head bone. The Head bone must be in the default orientation when the parent mesh is exported or your head will look broken when applied in the Previewer.

If all looks good, you have completed weighting the head. Now, its time to export.

1.v Weighting specifics for Male heads

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

[pic]

Fig 1.28 – Male head selected Head verts – assigned to Head Link

Then, select the mid neck verts and assign them to the Neck04 link.

[pic]

Fig 1.29 – Mid neck verts assigned to both the Head and Neck04 links

With the mid-neck verts still selected, launch the Type-In Weights dialog and make sure both Neck04 and Head are set to 1.0.

[pic]

Fig 1.30 – Male Type-In Weights dialog. Note both Neck04 and Head are set to 1.0

Then, select the bottom neck verts and assign them to the Neck03 bone.

[pic]

Fig 1.31 –Bottom neck verts are linked to Neck03

Congrats! You just weighted the head. Test the movement on the head (making sure to undo the movement so the head bone goes back to the default position). If everything looks good, its time to export. If things don’t look good, go back into vertex mode and check the weighting on the individual verts.

Chapter Two: Export Time

Once you have built a mapped, parent head mesh, built and tested all of your morphs, linked those morphs to the parent head mesh and weighted the parent head mesh using Physique, you are ready to export. Remember, when exporting, you must manually type in the file extension or you will end up exporting the binary version of the file – which is unusable in the previewer.

2.a Export the Mesh .xmf file

Exporting a head mesh is easy – though, since it contains so much geometry, it can take a long time.

In order to export your XMF file, select the mesh in question 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, you will be prompted to supply a skeleton/.xsf file with which this mesh is weighted. Browse to the Female04_Anime01_SkeletonMASTER.xsf skeleton file that came with your example head ZIP file and then click next/finish until there are no Cal3D windows visible. You just exported a head Mesh! Yippee!

2.b Export the Material .xrf files

If you plan on using the XRF files embedded in the existing head products, there is no need to export your own. See? We love you.

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) are meant to be applied to the material ID number embedded in the mesh. This material ID number should be included in the sub-material name in MAX.

The Material files can be exported at any time.

In order to export the Material files, make sure you have nothing selected, choose export from the file menu, name the file (remembering to manually type in the .xrf at the end of the name) and click Save. The Cal3D window that appears shoes 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.

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. Ok...are you ready? You done been exported!!!

2.e Catalog Snapshot

I’ve only left this here because typically, this is where you take a catalog snapshot. However, since you will most likely be tweaking the head size in the Previewer, you might want to wait until you get it in there to start snapping away. Just in case…

Once you have your source, it needs to be reduced to 100x80 in order to fit in the IMVU catalog. The submission process automatically reduces any catalog image to 100x80 but the result is never as nice as what you can do yourself. The final catalog shot should be saved as a .gif file with no more than 64 characters in its name.

Chapter Three: Das Previewer

The Previewer is IMVU’s proprietary development tool. It allows you to put together all of your exported assets, save them into a product and submit that product to the IMVU catalog. The Previewer is pretty powerful; allowing new Developers to do the simple stuff like just changing a texture while also allowing professional Developers to put together a wide range of products.

3.a Asset signing?

'Asset signing' means that every product in the catalog is automatically digitally signed by its Developer author. The Previewer is aware of who is the author of every Product. The first time you use the Previewer, you will have to enter a login, for an account to be "associated" with the Previewer install. You can also add other accounts, for those of you with multiple dev accounts (see section 0.c).

[pic]

Fig 3.1 – The Previewer’s Product Info panel

3.b How does ‘asset signing’ work?

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.

Asset signing gives IMVU a theft free Developing environment where you should feel safe placing your hard work into the IMVU catalog.

3.c What if I have multiple Developer accounts?

If you have multiple Developer accounts, have no fear. Just log in as your other account when you launch the Previewer. This works the same way is if you were logging into the IMVU messenger or website in that you can log in as any one of your accounts at any time but, obviously, can not be logged in as two accounts at once.

To clarify (since I’ve gotten this question before), you can be logged into the website/messenger and the Previewer under different accounts. You don’t need to be logged into the website/messenger with the same account you are using with the Previewer.

3.d Load Existing CFL

Now that you have all of your files exported, fire up the previewer. The easiest way to make a new Head in the Previewer is to derive from an existing Head. The example head files contain the products you need in order to derive; product61995.cfl (female) or product59086.cfl (male).

In the file menu, choose to Derive from one of the above products (depending on whether you are making a female or male head).

3.e Advanced Mode

The IMVU previewer comes prepared for the painter to change textures and the novice modeler to play with geometry. In order to create a Head you must enter the dark and forbidding world of.....ADVANCED MODE. Muahahahahahaaa.

Under Edit in the main menu, check Advanced Mode. This will actually set the previewer default to Advanced Mode so there is less hassle. You will notice several new tabs appear within the previewer window. You will use most of these before we are through.

[pic]

Fig 3.2 – Choosing Advanced Mode

3.c Auto-refresh

Something you might want to do at some point in the Head making process is turn off Auto-Refresh. With Auto-Refresh on, the previewer applies every change you make when you make it. Sometimes a single change can cause a pause of about 10 to 20 seconds while your change loads. You are going to be making so many changes that a 10 to 20 second wait between them will quickly become tiresome. When you are ready to see any of the changes you have made, just hit any available Apply Changes button.

3.d Use OpenGL Rendering option

IMVU’s default rendering software is provided by Pixomatic, or Pixo. Pixo is a software renderer while most other renderers use hardware acceleration. Because of this, the Pixo renderer is able to run on a larger base of machines and is likely to cause fewer headaches upon first installation of IMVU. However, because Pixo omits some of the more costly rendering calculations (filtering, anti-aliasing, and alpha textures just to name a few) it does not usually look as good as OpenGL.

IMVU users have the choice of running IMVU in either Pixo or OpenGL. This support is also available in the Previewer. If you want to see your Head looking fantastic, choose “Use OpenGL Rendering” from the edit menu. However, be advised that you should always check to see what your Head looks like in Pixo in case there are any problem areas. I, for one, always build in Pixo because I know that if I get things looking good in Pixo, they will just look better in GL.

3.e Change the mesh files

In the tab called Edit Geometry, browse for and select your mesh file. If you require more than one mesh file in your Head product, hit the Add Mesh button. When you are done adding mesh files, hit Apply Changes to see the effect of your changes or move on. Whenever you hit the Add Mesh button, a new material slot is added in the Edit Textures tab at the bottom of the stack. Remember to give your new mesh a number in the Mesh ID box.

[pic]

Fig 3.4 – Edit Geometry tab

3.e.1 Mesh scale

Remember when you built your avatar head big in MAX? Well, this is where you shrink it down again. In the Edit 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.

3.h Change the Material files

In the tab called Edit textures, you will notice two material windows named P0M0 and P0M1. They both contain slots for material/.xrf files, actual texture files, texture file name, material ID, a delete button, an add texture to this body part button and a whole lot of check boxes.

[pic]

Fig 3.5 – Edit Textures tab

3.h.1 Material Properties

Each Material panel contains a series of check boxes that affect how the texture is seen in IMVU. The first of these, Use Blending, tells the material that the opacity map supplied (if you supply an alpha map) should use full opacity as opposed to rough cutout. Full opacity means that all 255 levels of gray are factored into creating the final alpha image. Cutout means that only black and white are taken into consideration – with all of the grays being turned into either white or black.

Directly to the right of this 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. COOL! This is handy for things like shafts of light.

The second 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 third 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 fourth checkbox, Fog Override, makes the material unaffected by fog. This is VERY handy for sky textures.

The fifth 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.

3.h.2 Browse for new textures

In the material window named P0M0, browse for the Material/.xrf file that corresponds to the first material in your MAX file. This Material/.xrf file would contain the sub-material with the [0] in its name. Next, delete the texture names underneath the texture images. This wipes the texture slate clean and allows your pending texture change to take effect. Next, click on the actual picture of the texture and browse for your new texture. Make sure the Material ID is set to 0 (zero) and hit apply changes. The most noticeable change in the previewer should be that an icon of your texture has replaced the original texture.

3.h.3 Adding Materials

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.

3.i Texture Animation

Texture animation rox. Within every material’s panel, there lives a Texture Animation Parameters panel. The boxes in this panel allow you to make a texture move – neat! The first thing you need to do to access this functionality is turn ON texture animation.

Currently, IMVU supports two types of texture animation, Scrolling and Cycling. These are accessed in the Mode dropdown. Scrolling allows you to slide the texture across the surface of a mesh in a direction and speed of your choosing. Cycling allows you to sample frames within a given texture. An example of Scrolling can be found on the water in the Cast Away Raft room (product651). An example of Cycling can be found on the fire in the Romantic Log Cabin room (product608).

Cell width and Cell height are used for Cycling animations. The number here is in pixels and tells the animator what size you want your animation cell size to be. For example, if I had a texture that was 128x64 and I happened to have four separate frames drawn across it from left to right, my Cell width would be (128/4=) 32 and my Cell height would be 64.

Offset X and Y allow you to offset where your first frame of a Cycling animation begins. This is very handy if you have one large texture that contains several Cycling animations on it. Set your X and Y to 0, 0 to use the full texture, or different values to use a subset of the texture.  The cell rectangle does not have to divide the dimensions of the texture evenly, and it doesn't have to have the same proportions as the texture.

Start Cell is used for Cycling animations and tells the animator which frame to start on. This is handy for things like flickering candles where you may want to use the same texture on a bunch of candles but don’t want them to animate the exact same way (meaning looking EXACTLY the same in IMVU). With this feature, you could use the same texture on multiple candles but have them all appear different in IMVU. Of course, you COULD just make new textures per each flickering candle but that would needlessly increase the file size of your product.

Direction X and Y are used for Scrolling animations. These deltas specify the amount (direction and speed) to scroll, positive numbers going down and right. The delta is in Fixels (fractional pixels)

# of Cells (I know, it says 0 of cells – we’re working on it) allows you to define how many Cells the animator should include in a given animation. By calling setting Offset X/Y or Start Cell, and then setting the number of cells with this function, you can use a single texture sheet for multiple sets of cells.

Frames per Cell allows you to slow down the animation. You can specify that it takes

multiples of 1/30 sec to advance a frame of animation.

3.j Product Naming Convention

Now is the time to Save As a different file name. The file name can be anything at this point as the name is automatically converted to a product number upon upload. It is important to keep track of your submitted product's new name/product number as this will be handy when you want to make an inherited product.

3.k Material files with Alpha

There is an issue with loading a Material file that contains an alpha channel into a slot that does not already contain it. Basically, it pretty much breaks your product. However, there is a workaround. Once you have loaded a Material file that has Alpha into a non-alpha Material slot, the product looks for an alpha material but can't find one. Plus, because the original Material file did not contain an Alpha map, you don't have the option to browse for the Alpha map. So, SAVE the product. After you save, you will notice that all of the material icons have disappeared. Don't worry – now that there are no textures in those texture slots, you are now able to browse for your alpha channel. Do so, hit Apply Changes and all should come back looking healthy.

3.L Add or Delete

Some CFL files have a different amount of Material slots than your Head. 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 Edit Textures tab and deleting the actual files from the CFL tab.

You can also add Body Parts under the Edit Geometry tab. When you do this in a Head product, a new material panel is added in the Edit Textures 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.

3.n CFL tab

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.

3.p Save and apply changes

Now that you have successfully loaded your skeleton, mesh(es), animation(s) and texture(s), it is time to Save and ApplyChanges. Heck, you might just want to Save again just to be sure.

3.Q Catalog Snapshot

Considering that you actually make the Head look exactly the way you want in the Previewer, this is the perfect time to take a catalog snapshot. I typically just get the head centered in the camera, hit ctrl+PrintScreen (which takes a pic of only the selected window) and then paste that image into Photoshop. I clean up the edges a bit (especially if I want a different colored background) and have the head take up most of a 100x80 catalog shot.

Chapter Four: Submit your product

You've got a CFL and a catalog image so you are now ready to press the big, red ‘Submit Product to IMVU catalog’ button in the Product Info panel. If you are not logged into the website, you will be asked to log in. Please log in using the Developer account you are currently using in the Previewer. If there is a mismatch, you will be asked to log in. Once logged in, a web page will pop up wherein you can (and should) edit multiple fields:

• Choose where in the catalog your product will live

• The Product’s name

• The Product Description (you can add HTML tags to this)

• Product rating (See IMVU’s Terms of Service for guidelines – anything containing nudity and/or otherwise adult content must be given a mature rating)

• Product price

• CFL file – for this section, just copy and paste the URL provided just above the edit box. TIP: If you haven’t saved your CFL, this URL will not appear.

• Derivability – Allows others to make derivations of your work. If they sell, you get more money.

Fill everything out and press the submit button. BLAM! You have submitted a product to the IMVU catalog. It does feel good, doesn't it?

NOTE: In the future, if you want to change any info on the product info page, just click the ‘Edit Settings’ link.

NOTE: Although you can place any item anywhere in the IMVU catalog, it is prudent to place your product where it makes the most sense to your customer. Also, please remember that you can always edit the product whenever you want so you can change its location if you mistakenly placed it incorrectly.

4.a Rename the CFL on your machine

When a product is submitted to the IMVU catalog, its original name is replaced with a new, unique numerical name. This new name can be found on the product info page in bright red on the left hand side of the page. The naming convention for products in the IMVU catalog is always product#.cfl. So, you essentially only need to know the # your product has been assigned. We HIGHLY recommend that you now rename your CFL to match the name found on the IMVU server. Doing this will allow you to directly resubmit your product if it is in any way broken.

4.b Hide/Show

Every Developer has the power to make their own products hidden or visible in the catalog. You can do this by clicking on the red button for hide or the green button for show. This comes in handy for when you have first created a product and are unsure as to whether it works. You can hide the product and then test it on your own – knowing that others cannot buy it.

4.c Use and Edit

Now that your product is live in the catalog, it is wise to hide the product and wear it in an IMVU conversation. If there is anything you would like to change about this product, you may do so by going back to the catalog, clicking Edit this Product and doing so.

4.d Fix and Resubmit

The CFL files we use in IMVU are their own little universes. Once you save them, they contain all of the relevant information needed to exist on their own. This means that if you update any file included in the CFL file, it will not just automatically appear in the CFL product. You must manually edit the CFL to include the new version of the file.

If you want to fix anything about your CFL, you have two routes you can go through:

o You can just go to that product’s info page and click on the ‘Edit this product in the Previewer’ link. This will launch the Previewer.

o You can launch the Previewer on your own and choose to Edit a Product. Then, just type in the product number of your CFL.

In either case, you can make your edits and save. Then, press the white ‘Resubmit modified product CFL’ button on the Product Info panel. This will bring you to a web page where you can follow the instructions to resubmit.

NOTE: There is no fee for resubmitting a product so feel free to fix your products…or even change them in minor ways. Of course, changing them in major ways will upset your customers and bring your Developer ranking down.

4.e Derived Products

There are two kinds of products in the IMVU product system: Primary products and Derived products. Primary products are usually the first product of a given geometry to have been built. You should think of Primary products as the master products from which all others ought to be derived from.

Derived products literally inherit all of the attributes of the Primary product but overwrite one or two features. They are smaller, faster versions of the Primary product as they should only contain overrides. Usually, these overrides are in the form of texture overrides. Since the file size is much smaller than the Primary product, Derived products will make your product more appealing to your customer as the download time is much shorter than the Primary.

NOTE: If someone were to purchase only the Derived product you made and not the Primary product, they automatically download the Primary product so that the Derived product will have something to derive from. Say THAT ten times fast!

Sometimes, you want to be the first Developer to make derivations of your work (for example, if you made a chair, you might want to make different colored versions).

Making a Derived product is simple. The first thing to do is rename your recently created Accessory product to be the IMVU-created, product#.CFL naming convention. To find this name, simply go to the catalog page for your item – it is the bright red product#.cfl on the left hand side of the page.

Open the previewer and choose Create a Derived Product. This will prompt you to choose the CFL file from which you wish to derive. You will notice that you can only derive from a correctly named CFL and not from a randomly named CFL. This is because your Primary product must have a product number and therefore must actually live in the IMVU catalog BEFORE you create any products that inherit from it. This is a failsafe to protect you from submitting an Inherited product that would ultimately not work.

Choose your recently saved and newly named Head product CFL file. Although this will load the entire Head product and room shell, the only thing that will be saved is the override. Change whatever you want to be different in the new product, and then choose Save As. The new file name can be anything at this point as the name is automatically converted to a product number upon upload. Quit and rerun the previewer and then load your newly created Derived product just to make sure all of your changes took.

After making sure the product works, click the big, red ‘Submit Product to IMVU catalog’ button in the Product Info panel.

Wrapping Up

And that’s that. This may seem like a long-winded explanation, but the process is actually quite speedy once you've done it once or twice. So please give it a chance. If you have any problems at all, please do not hesitate to contact matt@. We've said this before but we mean it: We at IMVU CAN NOT WAIT to see what you all come up with.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download