Main Page
Modules Alphabetical List Data Structures Data Fields
Exporter implementation
[3.2]
Exporters are a key part of our development here at RenderWare
Graphics. One of the main aims of this release (3.2) has been
getting the platforms aligned - the next release (3.3) will be a
significant and major overhaul of how the exporters and art path
works.
To prepare for this, we have been looking at some optimizations
and enhancements to the exporters which are required before we
start into the major exporter changes.
Optimization to the Exporter implementation
Export is one of those tasks during game development that can cause
notorious work interruptions. One of the ways that we have
addressed this is to rewrite some of the internal export code and
improve its performance. On 3ds max this has mainly been a
restructuring, but on Maya it has been because we have moved away
from the MDT interfacing layer.
This has in both cases given us significant speed improvements -
the improvements are very data dependant, but we are finding that
time taken to export has been reduced to 20% or sometimes 10% of
the original export time.
Batch Exporting
On both exporters (3ds max and Maya) we have implemented batch
exporting. Rather than having to export each file individually by
hand - the user can now select to export multiple files with
pre-set export options. These exporting options only have to be set
up once and are also saved with the Maya/3ds max native files. This
means that workflow is much cleaner and they are less likely to
'forget' to export the files the same way every time.
Multiple UV Support
In addition to the functionality for Xbox and GameCube for
exporting a RenderWare Graphics Material with multi-texturing data
extensions, we have added functionality to export two sets of
texture coordinates from 3ds max and Maya. Please note that with
the RpMatFX extensions
that up to 8 textures and texture coordinate sets can be exported,
but only with a RenderWare Graphics Material.
Animation only exporters
When the artist exports different animations for the same object,
it has been necessary to export the entire clump repeatedly. In
this release it is now possible to just export the animation data
for an object, speeding up the export and saving time.
Selected items only in BSP export
When exporting a BSP, it is now possible to export only the
selected (as in manually in the preview window) parts of the BSP
required.
Exporters upgraded for new functionality
With the addition of multi-texturing extensions on Xbox and
GameCube, Bézier and generic DMorph functionality. Both the 3ds max
and Maya exporters have been upgraded to provide the art path
required to make use of this functionality.
Custom Attribute or Blind data export
Although the packages name the data differently, the result is much
the same. The exporters will pick up user data attached to the
model and export them correctly. This allows artists and game
designers to have more control over game objects, rather than just
providing the geometry and textures. Of course this data has to be
read in by the game application and used appropriately.
3ds max Specific Additional functionality
Upgrades of software, changes to RenderWare Graphics and missing
functionality all can cause package specific upgrades. All the
features listed below are specific to the exporter implementation
in 3ds max.
3ds max 4 support and Character Studio 3 support
During the release, an upgrade to 3ds max and Character Studio has
been made available to the game development community. We have
ensured that our exporters are compatible with both of these new
releases.
Tick Level Animation Sampling
The exporters used to sample the animation key frame data based
upon animation frame rate. Now we will export every key frame set
by the user. This means that the artist can now be assured that all
the small animations added to improve realism to the animation are
guaranteed to be picked up and exported.
Weights/Vertex Exporting customisable limitations
Originally the exporters would always export all the weights per
vertex set by an artist up to a maximum of four. Custom pipelines
that use fewer weights in a skinning can actually provide
significant performance upgrades. In 3ds max we have provided a way
of limiting the number of weights that will be exported, and
renormalize the weights so the data is correct. This allows the
programmers to try a lighter set of data, to see if there will be a
viable performance/visible trade-off.
Maya Specific Additional functionality
Maya 4 support
During the release, Alias upgraded 3ds max to version 4. We have
ensure that our exporters are compatible with this release.
Instanced Objects
Exporting can now relate one set of geometry to multiple instances
of that geometry. Hence when you export multiple similar objects,
only one geometry and multiple positions and orientations are
exported.
Animation Constraints
We have implemented Maya constraints in RenderWare Graphics 3.2.
With these it is possible to control the position, orientation, or
scale of one object based on the position, orientation, or scale of
one or more "target" objects. In addition, you can impose specific
limits on objects and automate animation processes.
The constraints can be based upon:
- Aim Constraints
- Geometry Constraints
- Normal Constraints
- Orient Constraints
- Point Constraints
- Pole Vector Constraints
- Scale Constraints
- Tangent Constraints
Next...
© 1993-2003 Criterion Software Limited. All
rights reserved. Built Tue Apr 22 12:46:21 2003. Send Feedback