Avatar
From OpenSimulator
Contents |
CREATE A MESHED HUMAN AVATAR FOR OPENSIMULATOR
I purpose you a method to create a meshed avatar for OpenSimulator. There are other one, i have tested several, but i did not find a better one, i always had an issue or this was not for free. So, i present you this one. This is a bit complex, but i have found it efficient.
Prerequisites
Install MakeHuman, Open Source software, free, available for Windows, Mac os and Linux. This is here : http://www.makehuman.org/
Install Blender, the same, Open Source software, free, available for Windows, Mac os and Linux. This is here : https://www.blender.org/
Download the Blender plugin to import MakeHuman models in Blender. You will find the link on the same page as MakeHuman.
Download the file "Avatar Workbench" here http://blog.machinimatrix.org/avatar-workbench/
makehumancommunity Assets and more https://github.com/makehumancommunity
makehuman opensim rig http://www.makehumancommunity.org/content/opensim_rig.html
Versions used for this tutorial
MakeHuman 1.0.2 (1.1.1)
Blender 2.76b (2.78)
OpenSim 0.8.2
Install the Blender tools plugin
- Download plugin.
- Unzip the plugin file, or install the zip file directly into Blender.
- Depending on your system, copy the files of the plugin in :
System | Destination |
---|---|
Windows 7 | C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons |
Windows XP | C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons |
Vista | C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons |
Linux | /home/USER/.blender/${VERSION}/scripts/addons |
- Activate the tools in Blender : File/ User Preferences/ , Add-ons tab
- look for « make »
- activate :
- Import : MakeHuman (.mhx2)
- Make Clothes
- Make Target
- MakeWalk
- Also activate the module Rigify
- Open the File tab and check the box « Auto Run Python Scripts ».
Note: If you are using a linux sysex, you can refer to this Debian tutorial (in french) http://debian-facile.org/doc:media:makehuman, everything is clearly explained.
Create a model in MakeHuman
I advice you to make very simple for your first test. We will firstly create a nude avatar without hairs. Thereby, you will be able to create a wardrobe later. I think that a dressed avatar is less convenient.
- Open MakeHuman : you can configure your language under the tab "Settings". You should restart to have your configuration updated.
- Open the tab "Modeling / Main" and create a character.
- Open the tab "Geometries / Clothes" un uncheck "Hide faces under clothes" : i recall you, do not add clothes. But if you decide to add some anyway, if this box is checked, in OpenSimulator, you will have empty spaces between the skin and the cloth.
- Add eyebrows from "Geometries / Eyebrows" (You can add some other items but this tutorial i take care only about eyebrows).
- In "Materials", select a material for the skin and another one for the eyes.
- Now you can save your avatar in the mhx format to import it in Blender.
- Go to "Files / Export"
- On the left, select "Blender exchange (mhx)"
- On the right, select "Feet on ground" and "meter" as scale unit.
- On the top, select a folder to save the mhx file
- Give a name to your file and click on "Export".
Prepare the mesh of your avatar in Blender
The issue with this method is that the avatar is not in T pose. So we need to give him his form in Blender before rigging it. To achieve this :
- Open Blender and delete the cube from the default view and import your mhx file. (in file/import, you should have a "MakeHuman" entry). Your caracter have to appear surrounded with a lot of several figures that represent the armature.
- We will use the armature to twist the arms like on images below.
Face view :
View before modification
View after modification
Top view :
View before modification
View after modification
You can make some other adjustments, for example in the legs for a baby.
- Now you will fix the modifications with applying the armature to the mesh of the avatar.
- In "object mode", select only the avatar
- On the right of a default Blender view, in the properties editor, in the list of modifiers (small wrench), apply the armature modifier. The mesh would not change anymore.
- Now we would like to export the mesh only, without its armature, to use the file in avatar workbench. First of all, we need to be sure to not select the armature and do not forget the eyes and the eyebrows.
- Select the body of the avatar, the eyes and the eyebrows et press H to hide them. If there is still one of these parts on the screen, restart the operation (select and press H) to hide them well.
- Everything that stays on the screen is part of the armature. Select all the armature with the key A the delete it with the key del.
- Press alt+H to make your avatar appear
- Go in the properties editor and select the yellow little cube. Select the body, the eyebrows and the eyes of your avatar in object mode. You will be able to rename them in the editor. I have renamed mine as body, eyebrows and eyes to be original.
- Save your Blender file et close it.
Rig the avatar in avatar workbench
- Open the avatar workbench file that you have downloaded (see preriquires), and save it under another name to make a copy. (The original one will still be usefull).
- You should have a female avatar and an armature like this :
Display in Blender
- We will import the mesh that we have prepared, in one of the Blender's layers.
Blender's layers display tool
On the image above, we can see the Blender's layers display too for the file avatar workbench. The two layers on the right are selected when opening the file. At the top, this is the female avatar and at the bottom the armature used to rig the female avatars for OpenSimulator. You have the same thing on the third column for the male avatars. Select an empty layer (an empty small box) to add your mesh.
- Go to File/Append and look for the Blender file you have created on the previous step. Select it. A list of folders appear.
Open the Object folder and select (with pressing shift on the body, the eyebrows and the eyes of your avatar). Add these three items to your session.
Folders appearing
- To make appear the armature that we will use to rig the avatar, click on its layer maintaining the button shift pressed. The avatar is not turned on the good orientation and it is very smaller. We will turn it and shrink it. We are in object mode.
- Select only the body, the eyebrows and the eyes of the avatar
- Open the properties panel with the key N to check if the rotation and the scale of the mesh are not locked. If they are, open the locker.
Unlock the mesh
- To make the avatar turn, go to the top view (key 7 on the numpad) and make your mesh turn on 90° with the R key.
- In the right ortho view, (key 3 of the keypad) scale the mesh to adjust it on the armature like the image below (key S).
Avatar adjusted to the armature
- Now that we have placed the avatar, we will adapt the armature to our model. We need to well place every bone of the armature on the front, side and top views. You can displace and shrink the bones like meshes using the keys G and S. To be able to correctly place your armature, i advice you strongly to watch the video from PouletFritesMayo here https://www.youtube.com/watch?v=WaPfWARwjRk (this channel contains a lot of good tutos (in french)).
Here is the result that you should obtain :
Face view
Side view
Top view
- To rig the avatar, select first your avatar (body, eyebrows and eyes). To be sure to select everything, use the key A and then, maintaing the key shift pressed, deselect the armature. Still pressing the shift key, select again the armature (the armature should be selected at last and should be clearer than the mesh)
Selection method
Push ctrl + P and select "with automatic weights".
- To finish this part, we will refine the rigging (see or see again the PouletFritesMayo's video) :
- To have the eyebrows follow the head, integrate their mesh to the associated group of the bone of the head of the avatar.
- The bones of the eyes should not have any influence on the head. Only the right occular globe of the eye should be influenced by this bone. (Same principle for the left part.)
- As seen in the video, you can add a maximal influence of the bone of the head on the head's mesh.
Appuyez dur CTRL + P et choisissez « With automatic weights ».
Influence of the bones of eyes on the eyes
Influence of the bones of head on the head
Influence of the bones of eyes on the head
Influence of the bone of head on the eyes
- Adjust the size of your avatar :
Another time, a genious video of PouletFritesMayo exists. Here is the link : https://www.youtube.com/watch?v=zN8jX0aqkXY
- Export the mesh to the Collada format
- To achieve this, select the different parts of the avatar and the armature. Go to File/export/Collada.
- Down on the left menu, under "Export Collada", select SL+OpenSim Rigged.
- Export your file in this format and see you in OpenSimulator.
Import the human mesh in OpenSimulator
- Open your viewer. (On my side, i am using Singularity.)
- Go to File/Upload Mesh and select your dae file.
- Configure the upload
- Open the tab "Level of details" : set the triangles and vertices as usual. On my side, i try to keep some low values but identical for all the levels to not have meshes distorded during a zoom.
- Tab Upload options : check the 3 boxes.
- Press on "Calculate weight & fee"
- When the mesh is calculated, name your avatar and press Upload. The avatar should arrive in your inventory.
- Import the textures of your avatar (You will find them in a folder named "textures" created by MakeHuman at the same time as the file hmx.). When selecting every part of the avatar one after the other, you will be able to add textures of the skin, the eyes, and eyebrows of your avatar.
- When your avatar is completely textured, copy it in your inventory.
- Create a new folder where you will put some new items for the avatar : shape, skin, hair, eyes, and an alpha avatar, and your mesh. Wear the whole content.
- Voilà, it is finished for the body of your avatar.
Make some clothes for your avatar
I will not develop this part. Just notice that we can make some clothes like we did our avatar. Here are the main steps to follow :
- Create a weared avatar in MakeHuman and export it in the hmx format.
- Create from Blender an obj file containing only one cloth.
- Add this cloth in the avatar workbench file that you have used to create your avatar.
- Playing with the layers and the keys G,S and R, adapt your clothes to the avatar.
- Use the armature of your avatar to rig the cloth (do not use the layer of the avatar) and export the cloth only in a dae file.
- To import the cloth in OpenSimulator, under the tab "Upload options", just check the two first boxes. Then proceed the same as with the avatar.
- You can apply a texture to your mesh.
- Do not wear the cloth on your avatar in mesh but attach it to a part of a body. (on the chest for the T-shirt for example).
Rigging of a T-shirt
Rigging of a pair of jeans
I wish you beautifull and goog creations !
See Also
RuthAndRoth Project - Ruth2 and Roth2 open source mesh avatars - https://github.com/RuthAndRoth