The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall

Legacy:UTExporter

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Download

Description

This 3D Studio Max 3 plugin allows you to export an animated max file into the unreal _d.3d and _a.3d format for import into the game

HowTo

Having used the 3ds2unr utility for generating first person models of animated weapons it became quite a tedious task to create the snapshots of each frame necessary. My first person weapon models contain hands and to animate them I use bones and keep the hands and gun as seperate max objects. After creating the snaphots of each animation frame I had to go through each frame and attach all the objects together into a single mesh before being able to export to 3ds format for 3ds2unr to process.

This plugin takes away all that (as long as you follow a few simple requirements for the scene).

From the animated max file I was able to simply export a definable number of frames to a _d.3d file. The plugin creates the _a.3d file automatically. It is also possible to append animation frames, so you can have a seperate max file for each animation and export to the same _d.3d file.

The pre-requirements for the max file are:

  • all objects that should not be exported should be prefixed with an ! (i.e. bones, any dummy objects etc. Only the meshes are required.)
  • there should be only 1 Multi/Sub Object material for the scene named "skin". Each sub-material required on this should be named "skin0" through to "skin9".
  • each seperate object that has a unique skin should have a matching material ID for all it's faces (e.g. my meshes have 2 arms and a gun. Each arm has the same material, the gun has a second. Therefore my Multi material has 2 sub-materials one for the arms the second for the gun. My meshes are then set up so that both arms have a material ID of 1 and the gun is set to 2.) Polys assigned an ID named "skinN" would translate to whatever "NUM=N" represents in the "MESHMAP SETTEXTURE" #exec statement during import, and MultiSkins[N] in script. Note that UT can only support up to 8 MultiSkins.
  • thats it :)

The plugin creates all the snapshot frames for you and combines all objects to export into a single mesh.

Downside :(

The only minor problem I have found is that the plugin does not generate any uscript. So you do have to know a bit about the #exec statements

The main tricky one is:

#exec MESHMAP SCALE MESHMAP=mymeshmap  X=0.05 Y=0.05 Z=0.1

I don't know what affects the values that should be used here. The way around it I found is:

I have created a 2 hands template with the players hands set up complete with bones and ready to go. I also have each modelled weapon in it's own max file. I then use 3ds2unr to create the 3rd person and pickup view mesh from the static max weapon scene. This generates a uc file with the correct values. I then create a new max file for the first person view merging the two hand template and weapon together for animating. Finally I can then grab the values from the earlier uc file generated by 3ds2unr to use for the first person view weapon code.

There is a downside to this in that the first person view of the weapon can be a lot more complex than the third person since unseen polys can be deleted so sometimes you may have different models for first person and 3rd person views.

For static scenes 3ds2unr is dead easy to use so it shouldn't pose too much of a problem to use it on the high detail weapon model just to get the script values.

Wang: This is a first rambling draft. When I find the time I'll write it up properly with some piccies where they would be helpful

Wang: Well, I've now had time to push this exporter a little harder. My next first person weapon model had more parts (for animation and texture effects) in the scene. UTExporter barfed. It might have been a problem with the scene but due to no error messages or any sign of a failure I don't know. It appeared to work fine but the output produced all manner of errors when imported into a script file. Missing meshmaps, missing sequences and so on. So I went down the manual route of using 3ds2unr. It took a few hours but from the same scene I achieved the finished product.

So basically, UTExporter can be a great help but there are times when good old 3ds2unr has to come to the rescue.(3D Studio Max Weapon Modeling And Import)

dushnok: UTExporter doesn't work under max5... I found the attach process after the capture being the most tedious task, but a script can do it . You could try to get the AttachSelection.ms script, it's in the zip http://www.blur.com/Tech/zip/bspack_r42.zip then open and add those lines at the start of the script

for i=0 to 99 do
(
v=i as string
vv="$*"+v
if i<10 then vv="$*0"+v
nono=vv as string
obj=execute(nono)
select obj

also add a ) at the end (the loop englobes the whole script) . The modified script will attach the mesh sharing a same suffix (from 00 to 99)