IMvu developer hints & tips - using Blender 3D

Previewer tool and work around's ^

In the course of developing content numerous versions of a file will be generated which once submitted will need to be cleaned out of the IMvu chat clients temporary files cache - these are files that are downloaded from the IMvu product server on the Internet and stored locally in a temporary folder within one of IMvu's set-up directories.

This needs to done periodically when working because the actual chat client doesn't always automatically refresh it's contents with new versions of the working files; adding a new mesh section and then upload the file to the product directory for 'live' viewing may not actually show when previewed. Forcing a clean/refresh will solve this, although it does mean that everything related to using the chat client may be reset back to the defaults so you may have to set-up your outfits again and so on.

There are two ways to do this;

Clearing cache from IMvu Messenger Window ^

A word of warning before doing this; using Clear IMvu cache like this will clear all temporary files from the local Messenger client, meaning that when you next log on it'll need to re-download all the pertinent files used for content to show when you chat with other people wearing/using custom content (clothes, items and scenes etc.).

You do not loose or delete anything account related because the IMvu product servers hold the original copies of the data associated with your account, all you're doing is deleting and refreshing your local copy.

IMvu Messenger buddy window and clearing cache menu

IMvu Messenger buddy window and clearing cache menu

As shown in the image above from the IMvu Messenger window (the 'buddy list' window) click on;

  • Help > Tools > Clear IMvu cache

Once done exit from and then restart IMvu

Manually clearing IMvu's temporary file cache ^

If you don't want to delete all the temp files then it is possible to remove specific files associated with the project being worked on. This may not be as 'fool proof' as the method above because IMvu saves product data references in a number of locations which is why it needs to be shut down before doing this operation otherwise the 'old' data held in memory will mean the forced refresh won't happen properly.

The first thing to try is a simple deletion of the product file itself. If IMvu is active and running then exit and close it down (otherwise the program may crash or lock up your computer).

Temporary file cache is;

  • C:\Documents and Settings\[your 'profile' name]\Application Data\IMVU\products\

All products used and downloaded by the chat client are saved to the above folder so all that needs to be done it to track down the specific file by its product number, deleting it and the pickle files above will force IMvu to properly update the necessary files. If that doesn't work and the client is still not updating then a further 'force' is required by way of removing the various files that tell the client what's actually loaded into it. These are found in;

  • C:\Documents and Settings\[your 'profile' name]\Application Data\IMVU\

Either rename the "*.pickle" files to "*.OLD", or delete them; the following files need to be removed specifically;

  • productAuth.pickle

  • productCflChecksum.pickle

  • inventoryProduct.pickle

  • myInventory.pickle

  • inventoryCatgories.pickle

Windows Vista users and IMVU cache

For Windows Vista users the location of IMVU's cache is in a different place that may require you to change some settings within Windows in order to see the files. Most 'user' data is now stored in the "Users" directory on the "C:\" drive, so IMVU's cache is typically in the following location;

  • C:\Users\[profile name]\AppData\Roaming\IMVU\Cache

The actual product files are located in;

  • C:\Users\[profile name]\AppData\Roaming\IMVU\ProductFiles

Clear the "avpics" folder to force refresh icons used to display various product items

  • C:\Users\[profile name]\AppData\Roaming\IMVU\avpics

Troubleshooting Blender 3D CAL3D Exporting ^

Look out for the following

  • Bone names are case sensitive so make sure you parent bones together using the correct spelling;

    • "Skeleton.Scene > Bone1" is not the same as "skeleton.scene > bone1"

  • The Armature name can be anything but it's best to call it something clear for reference

  • Meshes and other objects need to be Parented to the Armature not the bone;

    • Mesh1 > Armature1 is correct
      Mesh1 > bone1 > Armature1 is not

  • Vertex groups applied to a mesh need to be 'weighted' to the Skeleton.Scene (or a specific) bone of the scenes Armature (names are case sensitive);

    • vertexgroup1 > bone1 > armature1 is correct
      vertexgroup1 > armature1 is not.

  • Use Python 2.32 or lower (so as to 'match' Blender 2.36) or 'unlink' Python system variable (if installed) to force Blender to use internal it's modules.

  • After updating or amending the mesh, if it disappears when being parented back to the files original Skeleton.Scene armature, version save the current WIP (so you don't loose the new mesh tweaks you've just done), close Blender and then restart the application (to make sure any old data is cleared from memory). Reload the working file just saved and delete the old armature that's still in the file. Add a new one and then re-parent the amended mesh to that (some corruption may occur during mesh updates that mean when parenting to the files original armature it breaks the file).

Error messages

A vertex of object '[named export item]' has no influences.
(This occurs on objects placed in an invisible layer, you can fix it by using a single layer)

Above error usually means that one or more vertexes from a vertex group applied to a mesh object has not been weighted to a bone in the Armature.

Unusual problems working with Blender ^

'Orphaned' data in Blender files that can't be removed

Sometimes when working with Blender 3D a file can get unexpectedly large even though there may be very little visible in the form of mesh, objects and other data. This problem is due to 'orphaned' (or 'dead') data blocks in Blender.

Blender works by in effect creating a database of objects at a centralised location which it then referred to whenever you do something within the application. This allows for 'instancing' for example. However, data can become unattached or un-referenced and when it does it remains in the file even though it's not being used. The normal process of saving the file and reloading it won't clear this orphaned data as it does with other datablocks.

Solution - create a new file

In order to remove this orphaned data a brand new file needs to be created (restarting Blender may be useful beforehand). Once done simply 'Append' the items you need to keep from the 'broken' file.

HOW TO : Append data to a new *.blend file

Browse to the broken *.blend files location after clicking 'Append' (File >> Append or Link)' a list of headings (text should be white if using Blenders default theme) will appear in the browser - "Action", "Armature", "Image" and so on.

Find and then click on "Objects".

Another list will appear, this time the actual objects contained in the file - note that this will only list the data that's actually accessible which is why this is done to 'clean' *.blend files.

RightMB click the objects that are required to be brought into the newly created file; each will be highlighted as it's selected.

Make sure the 'Append' button is active in the file browse header (bottom of that particular screen by default) and then click the 'Append Library' button top right of the file browse window, the new data will then be added to the clean file - objects will likely appear in the same layers they were on originally so it may appear as if nothing was imported. If that's the case simply click on the layer buttons to view, find and move objects where necessary.

Importing other 3D models into Blender ^

Blender can't read or import IMVU's CAL3D formatted files so in order to open a 3rd party or external file into Blender it needs to be in a format that Blender understands.

Opening an OBJ, 3DS or DXF model (file) into Blender

If you want to make a product for IMVU and have access to a model made in another 3D package or a file downloaded from the Internet (check copyright permissions please), in order to produce a product for IMVU using that '3rd party' model it needs to be opened into Blender and built into a product before being re-exported out of Blender to CAL3D.

HOW TO : open (import) a 3rd party model (file) into Blender 3D

Using Windows Explorer (or appropriate media file browser), locate the file saved to your computer and remember where it is.

Open Blender 3D and from the "File" menu select "File >> Import", a sub-menu will open with a list of file types.

In the sub-menu that opened, select the appropriate 'filter' from the list for the model file that's being imported - if the mesh was called "chair.obj" choosing "File >> Import >> Wavefront (.obj)" would be the correct filter to use. A file browse view will then appear.

Design note : It's important to note here that the model should preferably be an OBJ, DXF or 3DS file so that it can be correctly imported as "Wavefront (.obj)", "Autodesk DXF (.dxf)" and/or "3D Studio (.3ds)".

In the file browse view, go to the location of the file to be imported. Once found select it and and click the "Import/OK" button (note that the title/heading of the import button may change depending on which import filter is used) to begin the process which, once done, will show the freshly imported mesh in the 3D view.

Once the 3rd party model has been successfully imported into Blender it will then need to be built up into a product in the same way as any custom product; note that before doing the model may need some additional attention to make sure it's the correct size for an IMVU product - this can be checked during the 'build' process by using a product template.

The imported model may also need to undergo some 'optimisation' work whereby it's made more 'friendly' to IMVU's client by reducing the number of polygons present in the mesh; typically a furniture mesh should have no more than 1000 (triangular) polygons, depending on how big and/or how complex the object actually is - a chair typically has around 500 triangles.

Rooms on the other hand should have no more than 5000 polygons; again depending on the complexity 2000-3000 is typical.

Reduction and optimisation's of this nature should be regarded as an essential part of the process and should not be skipped as the result puts excessive strain on the 3D chat client when it renders a full scene.

For more details read the various IMVU content creation tutorials here. Download Blender to IMVU product template files here.

Windows VISTA and Blender's "scripts" folder location ^

During the installation of Blender 3D onto a computer running Microsoft's Windows 'Vista' operating system, a number of options appear in terms of where applications files are stored for use, up until recently everything was usually stored in the same place. Recently however, the installation has changed to take into account Vista's more secure 'profile' usage; this means that for most installations of Blender after v2.45, the default location for the "scripts" folder has been moved from the 'program' directory (usually "Program Files") in to the 'user profile' directory for Windows VISTA users.

This is usually located at the following;

  • C:\Users\[profile-name]\AppData\Roaming\Blender Foundation\Blender\.blender\scripts\

Although the actual path may vary slightly the "scripts" folder should be found inside the "Users" directory - "[profile name]" is the name giving to the profile you log into when booting up the computer. Note that this may be a hidden system folder so it might not be visible by default, in which case it's visibility has to be activated by doing the following

Note that the following usually needs to be done from the main 'Administration' profile and not a 'limited' users;

  • Open Windows Explorer (Start >> Computer).

  • In the "Tools" menu select "Folder Options..." (if the "Tools" menu is not visible, click the "Organize" button and select "Layout >> Menu Bar").

  • Click on the "View" tab to open that 'page'.

  • In the filed where the list of check boxes are find the "Hidden files and folders" entry and 'check' (tick) "Show hidden files and folders". A warning may appear, "OK" or "continue" the process to enable hidden folders.

  • Additionally find "Hide extensions for known file types" and un-check (un-tick) that option.

  • Click the "OK" button to enable.

If on doing the above the file, folder or directory is still hidden, go back into Folder Options and find the following;

  • "Hide Protected operating system files (Recommended)", another warning may appear, "OK" or "continue" the process.

Please note that doing this will make all and every single file and folder on a computer visible and hence, accessible, so if this is being done on a 'shared' computer (more than one person is using it) create a password protected profile that only you have access to so safe guard the files and prevent critical files from being deleted by users that don't know what they are doing.

Once all the above is done the "scripts" directory should be visible and accessible.