Thursday, February 25, 2016

NWN2 Basic Placeable Reskinning Tutorial

This tutorial assumes you have mdbcloner (http://neverwintervault.net/project/nwn2/other/tool/mdb-cloner)..


Step 1: Find the original game models you want to work with, you can look that up in the  placeables.2da (View -> 2da file in the toolset menu). To find it, the properties for the placeable tells you what to look for, the Appearance property (highlighted) lists CityBEstate2 for my example (one of the estate buildings), I can then do a search in the placeables 2da for CityBEstate2




No need to know what all the columns of the 2da do at this point, just look at the  NWN2_ModelName column for the placeable you plan on reskinning. For the example that's PLC_BC_ESTATE02. You can search for this model name (PLC_BC_ESTATE02.mdb) in your game installation

 Copy this model somewhere safe to work with. Some placeable models have numerous individual parts and would have to be reskinned in a modelling program such as gmax, as each part must have it's texture changed, but let's focus on something that can just be cloned.

step 2: open the model in mdbcloner. This will let you see what textures are used for the placeable. Find those in your install and make a copy somewhere safe. You're going to be editing the copy for the reskinning. MDBCloner looks something like this when it has a model open, in this case it's a mindflayer, but it will show the same basic information for any particular model.




MDB Name: This is the name of the model. To make a copy of your model, change the name and click the Save Clone button. Congratulations, you've made a copy of your base model. You probably want to change the textures though, so select some different textures and then click Save Clone again.

Below I've picked my new model name and textures to use. I hit the "Save Clone" button and MDBCLoner will save my new model to the location specified in the Output folder. It does not prompt to save, or warn about potentially overwriting a file, it just does it.


Diffuse: This is the basic texture. You will need an image editing program to make whatever changes you want to the texture. How the texture wraps around the placeable varies by model, and is beyond this tutorial. You may want to experiment by drawing a bright colored lines on your texture and seeing how they show up ingame. Note that if you make a portion of the image clear, you can functionally erase that part of the model.

For the next three  textures, think of them as overlapping the Diffuse texture. For example the claws of your creature are represented in the same portion of the texture on all of the textures (bottom right corner for instance).
Tint: The tintmap of the object, this image file gets interpreted to apply tinting to the creature. If you want part of the creature to be tinted by the first channel property, color that part of the tintmap red. Blue and green are the other two channels.  You are not limited to pure red/blue/green, If the tint is purple the tint to be applied is a combination of red and blue channels. One way to make an intricate tintmap is to make a copy of the base texture, and adjust the hue/saturation in your image editing program until it is very strongly colored. The tintmap must end with the _t suffix. This texture is not necessary unless you wish the object to be tintable.
Glow: If you want your object to glow in the dark, you'll need one of these. Must end with the _i suffix. This texture is not necessary and not used for most objects.
Normal: This texture controls the "bumpiness" of the texture, it's a visual trick to make you think there is depth where there isn't any. It must end with the _n suffix. Most programs will let you make a normal map from your diffuse map. To make one in GIMP, open your diffuse map and select filters -> maps -> normal map. The "scale" controls just how bumpy you want things to be. The normal map can be that peculiar shade shown below, or mostly clear or just about anything else. Don't worry, the game knows what to do with it.



While it's technically not necessary, I advise making the texture names the same as the model name, plus the relevant suffixes. This makes things easier to figure out. If you're not making significant changes, you may opt to just use the original normal map for any reskin, to save file space. Not my preference though.


Ok, we've made our clone, now to put it ingame.

Copy the model made by mdbcloner, and any textures you used, to your campaign/module/hak and load the campaign/module up in the toolset. Open up your placeables 2da and find the row of your base model. Copy that row to an empty row. If you plan of releasing your work publicly, please reserve the row you chose on the 2da reservation wiki (http://nwn2.wikia.com/wiki/Reserved_2da_ranges) Copying the row will give it all the basic properties the original has (such as whether it blocks line of sight), which you probably want anyway. If you really want to know what those columns mean, you can refer to http://gameofthrones.net/resources/57-technical-documentation/437-placeables2da.html

There's two columns you need to be aware of in the placeables.2da to get your model ingame.


The Label column is what it will be listed as under the Appearance property of the object. So let's enter something you will recognize, for example Estate_House_Alternate, or Banner_Bandits or whatever.

The NWN2_ModelName column tells the game what model it should use for that appearance. If you named your model Estate_Alternate, that goes in that column, the .mdb file extension is not needed.

Click the save button under the placeables.2da, next to add row/delete row in the screenshot above. If you just close the 2da, it will not save things automatically. Your changed copy of the 2da is saved to the Override folder. You will need to cut/copy it out of there into your campaign/hak etc. when you're ready to share your campaign with the world.

Ok, the game is now aware of your new model. Let's get it ingame.

You can take any object that exists already ingame, and go to the properties -> Appearance and select your Label from the dropdown (Estate_House_Alternate was what we used above as an example). That will change that existing object, but you probably want to make a new blueprint so you can easily place your new object. Right click a blueprint and select Copy Blueprint -> module or campaign (your choice).




Once you do that you can change the Appearance of the new blueprint to whatever you by going to the properties -> Appearance and select your Label from the dropdown.





You will likely also want to change the name and also the resource name, tag, and template. I normally change those to whatever I had named the model.



You should now be able to use this blueprint to put your reskinned placeable ingame.

If a texture for the reskinned model is not available to the game, it will display the placeable but with a bright texture that indicates it couldn't find the assigned texture.

One good thing is you can make texture changes quickly, just drop your new version of the changed texture file into your campaign/module, the new version will be used as soon as you change the "main variation" away and back to your chosen one.



Wednesday, February 24, 2016

NWN2 Creature Reskinning Tutorial

This tutorial assumes you have mdbcloner (http://neverwintervault.net/project/nwn2/other/tool/mdb-cloner).


Step 1: find the original game models you want to work with, you can look that up in the appearance.2da. Copy this model somewhere safe to work with. Some creatures have head models that are separate parts from the body, so there may be two files to copy. Some placeable models have numerous individual parts and would have to be reskinned in a modelling program such as gmax, as each part must have it's texture changed.

step 2: open the model in mdbcloner. This will let you see what textures are used for the creature. Find those in your install and make a copy somewhere safe. You're going to be editing the copy for the reskinning.


If it's a head model, the MDBCloner model interface has a few more options, but they should be self explanatory based on what you'll read below.

MDB Name: This is the name of the model. To make a copy of your model, change the name and click the Save Clone button. Note that the _CL_ in the model name tells the game that this is a cloth model option under the creature properties in the Armor Set Tab. The number at the end of the model name tells the game just which model variation this will be. The game uses an n-1 system for this, so model 01 shows up as model variation 00 in the Armor Set tab. A few creatures like the player races have different "main types" available such as plate armor, trolls are one example of a non-player that has multiple types. If you look at these models, you will see identifiers such as _PL_ (for plate armor). Here's a picture of the troll properties to show what I'm referring to.



Back to the MDBCloner fields:

Diffuse: This is the basic texture. You will need an image editing program to make whatever changes you want to the texture. How the texture wraps around the creature varies by model, and is beyond this tutorial. You may want to experiment by drawing a bright colored lines on your texture and seeing how they show up ingame. Note that if you make a portion of the image clear, you can functionally erase that part of the creature. The creature will still have legs for instance, but they won't be visible ingame because the texture for that part is a clear texture.

For the next three  textures, think of them as overlapping the Diffuse texture. For example the claws of your creature are represented in the same portion of the texture on all of the textures (bottom right corner for instance).
Tint: The tintmap of the object, this image file gets interpreted to apply tinting to the creature. If you want part of the creature to be tinted by the first channel property, color that part of the tintmap red. Blue and green are the other two channels.  You are not limited to pure red/blue/green, If the tint is purple the tint to be applied is a combination of red and blue channels. One way to make an intricate tintmap is to make a copy of the base texture, and adjust the hue/saturation in your image editing program until it is very strongly colored. The tintmap must end with the _t suffix.
Glow: If you want your creature to glow in the dark, you'll need one of these. Must end with the _i suffix. This texture is not necessary and not used for most creatures.
Normal: This texture controls the "bumpiness" of the texture, it's a visual trick to make you think there is depth where there isn't any. It must end with the _n suffix. Most programs will let you make a normal map from your diffuse map. To make one in GIMP, open your diffuse map and select filters -> maps -> normal map. The "scale" controls just how bumpy you want things to be. The normal map can be that peculiar shade shown below, or mostly clear or just about anything else. Don't worry, the game knows what to do with it.



While it's technically not necessary, I advise making the texture names the same as the model name, plus the relevant suffixes. This makes things easier to figure out. If you're not making significant changes, you may opt to just use the original normal map for any reskin, to save file space. Not my preference though.

Below I've picked my new model name and textures to use. I hit the "Save Clone" button and MDBCLoner will save my new model to the location specified in the Output folder. It does not prompt to save, or warn about potentially overwriting a file, it just does it.


Ok, we've made our clone, now to put it ingame.

Copy the model made by mdbcloner, and any textures you used, to your campaign/module/hak and load the campaign/module up in the toolset. Select your base creature you reskinned (a troll for example), and go to the properties for the creature, then the Armor Set tab (it's the last tab for me, I have to scroll to it). Your reskin should now be available under the variations dropdown. If it is (and it should be), you can now place your reskinned whatever ingame, no 2da editing required :-)


If you also have a reskinned head model for the creature that you want to use, you need to select it under the Appearance(head) property on the main properties tag.

If a texture is not available to the game, it will display the creature but with a bright texture that indicates it couldn't find the assigned texture.

One good thing is you can make texture changes quickly, just drop your new version of the changed texture file into your campaign/module, the new version will be used as soon as you change the "main variation" away and back to your chosen one.