General Modeling

Modeling        Texturing        Animating        MRM

Modeling

Try to build models at the same scale that they will be used at in game (1 SI unit = 1 metre).

This may not be practical for skinned, jointed models in Soft.

Models must face front in Soft; that is: looking down the positive Z axis.

The origin of a heirarchy's root should coincide with Soft's global origin.

Directly below the center of the model at ground level.
If there is no natural origin at that point, create a dummy hard point there and put it at the top of the heirarchy.

All sub-objects of a model must be contained in a single heirarchy with a single root object.

The name of the root object should be descriptive of the whole model.

i.e. rumbler

Sub objects' names should be descriptive of that piece.

i.e.  spine0, spine1, shoulderR, upperarmR, lowerarmR, handR, etc.

Hardpoints can be added for attachments or effects generation;  name them: HP-[something desciptive].

They should always be children of the root and not deeper in the hierarchy (I probably can remove this restiction).

The local orientation of sub objects in a heirarchy should be natural.

i.e. a foot's local system would have the Z axis coming out the toe, the Y axis going up the leg, and the X axis coming out of the side of the ankle.
i.e. a fire hardpoint's Z axis should come out in the desired direction of fire.

There are a few render flags that you can add to the name of any part of heirarchy to control its appearence in game.

2:  double sided; probably only for translucent objects.
L:  no lighting; always appears fully bright; for luminesient objects.
G: glow blending; for translucent light effects; makes obects behind it appear brighter
H: hidden; not really used in DR2.
The flags appear after 2 underscores at the end of the object's real name; i.e. lightlens__2L.

The word 'chunk' in a sub object's name indicates that it should be the root of an automatically generated chunk.

Light points?  (switchable emissive lighting)

Applying Textures/Materials

Materials should always be applied from a known library. 

Everything gets a 100% white diffuse color.

The game engine overrides the xsi diffuse color.

Use specularity sparingly;  be careful not to apply it when its not desired in game.

Vertex coloring should be used sparingly; probably only to tweek the look of a reusable texture.

i.e. buildings
Switching Soft from vertex color mode to material/phong before export disables vertex colors in the xsi file?

To reduce translucency sorting problems, any translucent textures used on a single model must come from one texture sheet.

Because they are inherently more expensive to render, translucently textured objects should generally be made smaller/simpler.

Animating

The root object can not animate directly via Soft's IK.  Animation of a root skin via joint chains is OK.

If the root needs to animate make it a child of a dummy root that doesn't animate.

Put all non-hardpoint (non-essential) animations below the 2nd heirarchy level.

The root and all its immediate children will always be simulated, everything deeper is only simulated when visible.

Every piece in a hierarchy or joint that animates costs at least one matrix multiply each in game, so keep animations simple and efficient.

MRMing Constraints

Skinned models will generally mrm better than heirarchical ones.

Texturing models with a single continous skin map should keep distortions during mrming to a minimum.

UV discontinuities will always cause distortion, but it may not be visible in game.
Some distortions can be corrected by forcing mrm behavior in the god file tool (someday).

An optional frog pose export can be used to optimize mrm reduction behaior.

Frog pose bends all of a model's joints by no more than 90 degrees so the mrm generator can recognize them.
Sub objects that aren't desired to merge together during mrming should be kept well clear of each other in frog pose.
It should be named the same as the base export with a '-frog' on the end; i.e. rumbler-frog.xsi.