3D characters support in WME

WME provides support for real-time 3D characters rendered over a 2D background. This approach has been used by several commercial games, such as The Longest Journey or Syberia.

Compared to the classical 2D characters, this new method has both advantages and disadvantages. I will list some here, but you will be certainly able to think of more of them.

Some advantages of 3D characters

Some disadvantages of 3D characters

Notes about migrating from .MS3D model format to .X format

Older versions of WME were using 3D models in Milkshape (MS3D) format. Starting with WME 1.6, Milkshape support has been deprecated and it is recommended to convert your models to Microsoft X format. Here are some common questions regarding migration from MS3D to X:

Q: Why the X format?
A: X format has several major advantages over the previously used MS3D format:
-X format supports weighted vertices. Your 3D artist will love that.
-X format natively supports multiple animations stored in a single file.
-X format is widely supported by various 3D packages.

Q: What do I need to know when switching from MS3D to X?
A: The 3D actors definition file format and scripting support have changed for X actors.
-3D actor definition file starts with ACTOR3DX, not ACTOR3D, to distinguish between X actors and MS3D actors.
-Animations no longer need to be defined by their frame ranges, because the X format supports named animation sets directly. You only specify additional properties of the animation in the act3d files (see the docs for details).
-The AddMesh(), RemoveMesh(), HideMesh() and ShowMesh() methods are deprecated. The attachments are now treated as autonomous scriptable objects. You add an attachment using the AddAttachment() method and remove it using RemoveAttachment(). The GetAttachment() method returns a reference to an attachment object, which provides it's own set of methods and properties (e.g. using the Active property you can show or hide the attachment).
-Unlike MS3D actors, the PlayAnimChannel() now blocks script execution even if the animation plays in other channel than channel zero. Use PlayAnimChannelAsync() if you want to play the animation without blocking script.

Q: How do I export/convert my model to X format?
A: I have started a Wiki page on X file support in various 3D programs. Feel free to expand the article if you have any additional info or experience with other programs.

Q: The old 3D actors format using MS3D models is now marked as "deprecated". What does it mean?
A: It means this old format is not going to be expanded. All the new features will be added for the new format only (the one using X files). The old format will stay in place for backward compatibility, but the plan is to completely remove it in WME 2.0. Hopefully the advantages of the new format will be worth the trouble with converting your models. WME 1.6 already contains several new features that only apply to 3D actors in the new format, namely smooth animation transitions and support for 2D scene design for 3D actors.

Further reading: