From Coda Wiki
Jump to: navigation, search

The long explanation

The first drop down set of fields labeled Description in this section are for the automatic creation of the UTCustomChar.ini file which will be needed to load any new character into Unreal Tournament 3. This process should be entirely automated unless your scene has more than one object of a particular PART_ID. More information can be found in the forums at Epic Games.

Denrei Window can help with the organization of a scene set up to create normal maps between high and low resolution character meshes. The set up relies on display layers to dictate which meshes are high and which are low resolution objects, and can then help you quickly build exported geometry in a way Unreal likes. At the moment, only ActorX is supported as an exporter, but Denrei took great pains to make sure that other exporters for other games could be added easily to Denrei Window in the future. Please let him know if you have any specific requests.

The first thing you'll need to do to use the modeling tools is allow Denrei Window to initialize the scene. This involves creating the display layers it needs as well as some helper locators which dictate the position of the various meshes in the scene. Go ahead and click the initialize button. Also check out the starter scenes available in the downloads section. These scenes come with prepared skeletons compatible with Unreal Tournament 3, and bound meshes which can be used as source for your own vertex weighting. Very helpful.

Any layer with a "_" preceding it's name marks that the layer contents are generated automatically and are not to be hand edited. Things in these layers get deleted and recreated frequently, so be warned. The created layers are as follows:

  • scrapLayer - Keep whatever you like in here. Denrei keeps this layer hidden during normal work. This is where the locator objects are placed by default.
  • lowResWorkLayer - This is the geometry which will end up getting exported. Keep objects here with names such as "Arms_01", "Head_02" and so forth. These names will be used during export to name the UPK files. Try to keep the history on this geometry to a minimum, delete frequently unless you really need it. Having weird history on these meshes can cause things to get confused. Also, its healthy to empty and re-add the objects to this layer every so often to keep it clean.
  • highResWorkLayer - Geometry which will end up being smoothed and used as the source in the baking of normal maps. Like the lowResWorkLayer, keep this layer clean and history free, if possible.
  • jointLayer - Keep your joints in here. Also keep in mind that actorX is VERY picky about the bones within a scene it is exporting. No duplicate bone names (even if its under a different hierarchy) and only 1 root joint is allowed.
  • weightSourceLayer - Bound geometry in this layer will have it's weights copied to the meshes which end up in the _exportLayer. Geometry here will have it's skinClusters merged if more than 1 is detected, but this is slow so keep around the ones which have already been merged. The weighted meshes do not have to have the same topology as the meshes being exported.
  • _highResProxyLayer - These meshes are created using the HighResMeshes button in Denrei Window. You may select individual meshes from the highResWorkLayer, or you may use the entire contents of highResWorkLayer by having nothing selected.
  • _bakeLayer - Automatically generated meshes which are triangulated and used as target meshes for the normal map baking operations. The contents of _highResProxyLayer are used as source objects.
  • _exportLayer - Automatically generated meshes which are properly triangulated, repositioned, bound to the skeleton using the meshes in weightSourceLayer as source. These meshes are the ones which will actually be exported by the Run ActorX button.

Ok cool... so what do I do with all this stuff?

The idea is that you can keep working on your original low res and high res objects, and have the changes automatically migrated to the point of exporting into Unreal. You can rapidly make tweaks to the meshes and see the results quickly, and without vulnerability to human error.