Combining 3D Models

Combining 3D Models

This tutorial will show you how to take a piece of one items model and place it on another. 

This tutorial is quite lengthy and requires patience and some skill.

Extracting the Models

The first thing we want to do is extract the base model we are going to be working with, and the model that we will be taking from. (In this tutorial I will be placing the stockings from Velveteen Bottom to Acolyte’s Skirt)

(For detailed instructions on how to save and open models in 3DS check out the 3DS Basics Tutorial)

Opening the Models

We must open the files in order, so the first thing we want to do is open the Base Model we are working with, in this case Acolyte’s Skirt, followed by the model we are taking a mesh from.

Name Conflict

Upon importing the second model, you will most likely see a Import Name Conflict popup.
Select Rename all and then OK.

Finding the Parts

In the original model, I want to replace the sock/boot looking mesh, so in this case c0201e0120_dwn_0.1

In the secondary model, I want to take  the stockings to place in the original model, so in this case c0201e0038_dwn_0.1, …0.4, and …0.6

We have an issue!

In the original model, we have 1 mesh were replacing, but we want to bring in 3 meshes from the secondary model.

This will NOT work, we cannot add more meshes to an item, only replace and remove meshes.

There is a solution, we have to merge the 3 meshes in the secondary model into 1 so that we are only replacing a mesh from the original.

Merging Meshes

First, in order to see what we are working with a little better, we can uncheck the eye symbol next to the mesh parts we are not currently working with to temporarily hide those mesh parts from view.

I don’t want the top portion of mesh part 0.1 so I remove it from the mesh.

First I select Editable Mesh > Element in the Modifier list.

Next, I select the area I want to remove, and hit the delete key.

Run Script

Now that the meshes look exactly like I want them to, with all 3 selected I go to Scripting > Run Script...

Select the Rigging_CombineSkin.ms file that was linked in the 3DS Basics Tutorial, and Open.

Skin Combiner

Now in the small popup box for the script we click on Combine Skin this will merge all 3 mesh parts into 1, keeping the skin data intact.

Moving and Deleting

Now that we have the mesh exactly the way we need it, it’s time to move it over to the original and delete all the extra and unnecessary meshes.

Move the new combined mesh over to the group where the mesh part that’s being replaced is.

At this point, I turn on the visibility for all of the meshes again.

Different mesh numbers

If the mesh you moved over to the original model has a different mesh number you must change it to fit with the model.

Example

The mesh moved over in this example has both a different mesh number, and a part number that already exists in that group. 

We rename that mesh to fit in with the rest, in this case the 0.1 mesh from the original had been deleted so this one will take its place, and is renamed accordingly.

Now I select all of the meshes which I do not need, in this case I delete

  • The sock/boot portion
  • The leg portions underneath the stockings
  • All of the meshes I did not use from the secondary model

Model Touchup

We can clearly see how there is skin underneath the top part of the stocking, there are several ways to fix this, I will be moving the vertices up to the point where the stockings start.

I find it easier to work on single vertices with a maximized viewport, and edged faces on.

We then do the following steps

  1. Click on the body mesh, in this case c0201e0120_dwn_1
  2. In the Modifier List got to Editable Mesh > Vertex
  3. Click on the Snaps Toggle
  4. Right Click on that same Snaps Toggle to open its settings
  5. In the Grid and Snap Settings Click on Vertex and close the window
  6. Make sure Select and Move is selected

We then select each vertex that is beneath the leg and move it up, allowing it to snap to the vertex at the top of the stocking. 

You may find it easier to do in Wireframe view, the gif above were done with textures so that it is easier to demonstrate its effects.

The end results will have no overlapping parts between the leg mesh and the stocking mesh.

Adjusting Texture Coordinates

The mesh portion of the model is done, but because we brought over a mesh from a different model, we have to adjust the newly brought over meshes texture coordinates.

First we select the mesh we brought over to the original.

Next, in order to change the texture that the stockings are using and see what they would look like in the original models texture, we open the Material Editor.

In the Material Editor window that opened, we go to Material > Get all Scene Materials

Now we right click on the material that belongs to the original model, it’s usually pretty obvious which belongs to the original model, and we select Assign Material to Selection. You can now close the Material Editor window.

Since we had just selected the secondary mesh that was brought over, it will be assigned to the original models textures.

You can now see the results, if we were to export the model now and import it into the game, this is what it would look like, because that mesh now shares the original models textures.

Next, with our secondary mesh still selected, we add Unwrap UVW to our Modifier List, and click on Open UV Editor…

In the Edit UVWs window, we select a Texture Map, I prefer the Normal Map, then select the button with the 4 little squares in it, and drag the texture up.

You can see how the texture coordinates for the mesh overlap several parts, in order to fix this I simply resized the texture coordinates and placed them in the area where the sock/boot part was mapped to.

You can close the Edit UVWs window once you are done adjusting the texture coordinates.

Important!!!

Make sure that Unwrap UVW is BELOW the Skin modifier on the Modifier List

If Unwrap UVW ends up above Skin, that mesh part will save without skinning/bone data.

The Final Steps

We are done doing modifications, and we can now export from 3DS and Import Into Textools.

(For detailed instructions on Exporting from 3DS and Importing to TexTools check out the 3DS Basics Tutorial)

Unfinished Business

Textures

Although the Texture Coordinates were moved to a better location in the texture, you will most likely want to modify the DDS textures to give the mesh a proper look. One way to do it is to copy the portion of the texture that belonged to the secondary mesh that was brought over and paste it on top of the current textures. 

You may also want to modify the color using the Alpha Channel of the Normal Map and the ColorSet textures, and whether or not that portion is dyeable. 

For tutorials on Textures visit the Texture Tutorials Section.

Model

The model now has a mesh that is different, but will be treated as if it were in its original state.

This can have different effects on the model and may cause it to act erratic when other gear is equipped. 

This can be somewhat predicted, as an example lets consider the model in this tutorial, we know that the bottom portion we replaced has different effects depending on the feet gear you are wearing. With small shoes it hides the very bottom portion of the boot/sock thing, with medium and long boots it hides the entire boot/sock thing.

Because our entire boot/sock mesh is now stockings, you can expect it to function in a similar way, or at least try to.

Small Shoes

Medium Boots

Long Boots

So clearly there is an issue, it can however be fixed to an extent by using Advanced Importing in TexTools to attempt to fix or disable hiding. 

Small Shoes

Medium Boots

Long Boots

As you can see it no longer disappears when any type of feet gear is equipped, however it has caused an issue with clipping. In some cases there is no way to avoid it and you must pick the lesser of two evils.

The only way to prevent an issue like this from happening at all is to find a piece of gear with the same amount of mesh parts, so that they are replaced like for like.