Jump to content

3ds Max: Exporting Custom Assets


Site Bot

Recommended Posts

Article link: 3ds Max: Exporting Custom Assets

 

Fallout 3 Custom 3d assets with 3ds Max.

(A Custom Helmet)

with Ghogiel

 

 

I found that the existing tutorials were outdated, because they were written with older versions of the exporters

and nifskope in mind. Now that the tools have gained support and functionality with working with the fallout 3 nif version, and the custom blocks Bethesda made for the game, I think it is time to start updating the instructions for getting custom assets in game, avoiding *most* of the unnecessary nifskope jiggery pokery. And hopefully

I have some useful tricks not often found in any of the guides as far as I have read.

 

The first object I am going to demonstrate is a helmet.

 

The aim: To explain the process I use for getting an unrigged helmet exported, ready for in game use. Including

export setup, exporting (nearly) straight from Max to the game, without using any vanilla assets to piggy back data from.

 

Tools:

Max 2009

Niftools Max plugin V3.5.5.4728, downloaded at niftools development forums

the Conformulator by Scanti

Nifskope V1.0.21.4884

Archive Invalidation Invalidated

FoMM

GECK

 

Pre Export:

 

Extract the contents of the Meshes.bsa, I used FOMM to do this.

 

Open your max scene with your custom helmet. Delete/Hide everything you don't want exported.

Import the headhuman.nif and in the niftools importer dialog box tick the import skeleton. Its default location is meshescharacters\_maleskeleton.nif. I also usually have the body mesh in scene as well, it just gives me an even better idea of proportion and placement for my helmet.

 

If you haven't already made your helmet fit the player model head. Do this now. Here is what I have in my Viewport. http://www.fallout3nexus.com/imageshare/images/209926-1277035377.jpg

I now make sure I have reset Xform on my helmet. again. Just to make sure. Then collapse the modifier stack or just right click and convert to editable poly.

 

Hide everything except the skeleton and the helmet.

 

Now you may have been wondering why I imported the skeleton at all, as I am not going to do any rigging. Well, this is how I get the helmet to align to the players head when it's in game. Instead of estimating where it'll sit on the players head, this method ensures it sits exactly on the player head in game, as it does in your viewport.

 

Select your helmet. In the hierarchy tab, select "affect pivot only". press shift+a to activate the quick align tool, Now select the Bip01 Head bone. Now your helmet is in the same position, but its pivot point is the same as the Bip01 Head bone. http://www.fallout3nexus.com/imageshare/images/209926-1277035412.jpg

 

Once done, deselect affect pivot only.

 

Now press W, and simply put 0 in xyz for the helmet.

http://www.fallout3nexus.com/imageshare/images/209926-1277035458.jpg

 

**TIP** This works the same with all other meshes- I see a lot of tutorials telling you to mess with the translation of the mesh, and juggling your mesh around in nifskope. those are very outdated workflows. for anyone creating/converting their own assets, direct export to game is imo faster and more precise. For an oft used

example, a weapon mesh. you do still have to find a vanilla one that is close to your new mesh. This is purely alignment reasons, because we are not going to create new animations specifically for the new weapon, and not because we are going to have to use any of the parts of the nif what so ever. We export everything 100% free of recycling vanilla assets. So import that donor nif into the same scene, move your mesh to sit right where you want, as close an approximation as you can get, particularly the grip and trigger areas. Set all the pivots to match the correct nodes. match all your objects

names to the donor weapons. Then export. With just tweaking a couple minor setting in nifskope, it'll work and play animations.

 

 

If you want to export pivot rotations, use orientation in the align tool menu,

set them up with with affect pivot only enabled. Also you have to untick Zero Transforms in the export dialog to

get them to export.

 

Material Setup:

 

So press "M". and drag your textures from your explorer window to the appropriate map slots. diffuse(color) map,

and a normal map are what you will need to set up 99% of the time. Don't worry about setting up the normal bump

like you would normally in max, just putting it into the bump slot works fine for export. Set up the spec, emissive and gloss parameters however you wish. http://www.fallout3nexus.com/imageshare/images/209926-1277035500.jpg

 

Now just drag that material from the editor onto your mesh.

 

For completeness sake, you can now delete the materials name, materials do not have names in F3, it's a good idea

to always clear them before export or in nifskope. Exporting them will just add another string name to the index array. http://www.fallout3nexus.com/imageshare/images/209926-1277035540.jpg

 

Export:

 

Hide everything except your helmet mesh. or delete everything else. At this point I will double check everything looks good.

 

Here is my exporter dialog settings I used. Under Game, make sure to select Fallout 3 from the drop down.

http://i25.photobucket.com/albums/c85/lego-botz/other/exportsettings5.jpg

 

I also exported it as a NiTriStrip. By ticking the generate strips box. If this model used alpha transparency(or was rigged), I would have unticked that box, as very often stripifying causes alpha sorting problems.

http://i25.photobucket.com/albums/c85/lego-botz/other/alphastrippifiederror.jpg

As a general rule, I export as NiTriShapes for everything that is skinned or has alpha transparency. For everything else I export as NiTriStrips as they are more optimized and draw faster.

 

**TIP** - Read the breakdown of exporter dialog options on the niftools website if you want to know what everything actually does, you will at least have a better understanding of it.

 

Post Export:

 

We need to do a few things to get our helmet working correctly. Open it in nifskope. check triangulation briefly, give it a once over, fix any issues and reexport if necessary.

 

1: First is to go into the BSShaderPPLightingProperty. Untick all the shaders except SF_EMPTY and SF_Unknown_31.

We can add some back for special shaders later without any harm.

http://i25.photobucket.com/albums/c85/lego-botz/other/Postexport1.jpg

 

2: Spells> Batch> update tangent space

 

3: Add a Prn NiStringExtraData node to the Scene Root, right click>node>attach extra data>NiStringExtraData. In block details change its name to "Prn" and its String Data to "Bip01 Head". this is what attaches your helmet to the head bone, as if is was rigged to the specified bone.

 

http://i25.photobucket.com/albums/c85/lego-botz/other/Postexport2.jpg

 

4: Save

 

Move the Mesh and textures to your fallout3 data folder.

Open your exported nif in in the GECK model viewer, right click>open with> GECK. If it doesn't crash then you

probably did everything right. You can check your shaders and textures here. Though the lighting renderer looks

slightly different than in game, it is a fairly good representation of your asset.

 

Making an egm-

If I am happy with the asset and do not need to reexport the nif for any reason, I make the egm now. If you end up

having to reexport you'll probably have to create a new egm. So I leave it for last.

Follow the instructions with the conformulator for making an egm.

It won't accept F3 nifs, or at least reportedly so, I always export an obj from my final helmet nif (done from nifskope) to use as the mesh input anyway. Just an old habit from using the first versions of the conformulator that couldn't read nifs.

 

**Note I was told by scanti, the creator of the conformulator, that rigged objects, and nifs with multiple objects won't or may not conformulate correctly. this is actually evidenced in a lot of what bethesda has done in oblivion, though there are egms for rigged helmets in F3, though I believe they are just bloat files.

The hair nifs have 2 objects in them, nohat and hat versions, So you need to export each of these mesh objects as a separate OBJ, and conformulate each one to get their respective egm file.

 

When planning your helmet, it maybe wise to try to keep everything onto one texture sheet if it is an openned face style helmet. If the helmet is closed and cover the whole head and neck, then facegen is a non issue, and it can safely be multiple objects using different textures.

 

Your nif and egm must have the same file names. If they do not match the game will not find it.

ex:

helmet.nif

helmet.egm

 

 

Set up your new helmet in the GECK, you do need to update facegen model availibilty. To do so look under characters in the main tool bar, hit update facegen model availability. If you do not your headgear will be misaligned in game.

 

save your plugin.

 

Test in game.

 

kudos:

 

saidenstorm

XMS

ThrottleKitty

Niftools team

 

 

I recommend reading saidenstorms collision tutorial, found on his google pages, to learn how to set up and export a collision model from 3dsmax.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...