Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

Animated Geometry (Legacy 3DS MAX)

  • Last UpdatedApr 02, 2025
  • 3 minute read

Note This topic is relevant only for 3DS Max legacy workflow.

Animated Geometry enables you to animate various elements of geometry.

These elements are supported:

  • Vertex Position

  • Vertex Normal

  • Face UV Map channel 1

Creating animated geometries

Animated geometry is defined in 3DSMax using a dummy. This dummy will contain all the information needed to export animated geometry.

For each dummy, and therefore for each animated geometry, you must specify a mesh using the szMesh parameter. The animation data will be extracted from this mesh.

The mesh is then exported normally; however, the data of the animated geometry will be elsewhere.

The engine requires both the original mesh and the geometry animation data to work correctly.

Channels

Animated geometry has different animation channels. It is possible to animate only certain elements, such as vertex position, and leave the others intact, such as the normals.

You can specify several channels at the same time with the szDynamicData parameter. For example, the vertex position and the UV Map 1, leaving all the other fixed elements.

Based on the number of elements to be animated, the number of vertices, the number of frames,and so on, these animated geometries can occupy a lot of space in system memory and use more or less CPU resources.

Therefore, it is necessary to use different compression schemes, whose effectiveness depends on the situation, such as the mesh, the number of frames and so on.

Code example

This is an example with animated positions and UV.

$AnimatedGeometry

{

iVersion = 1

szMesh = Box01

szCompression = None

szDynamicData = Pos

szDynamicData = UV1

$Anim

{

szID = FireAnim

dwStartFrame = 0

dwEndFrame = 10

fFPS = 5

bInterpolate = true

bCircularInterpolation = true

}

$Anim

{

szID = DieAnimation

dwStartFrame = 11

dwEndFrame = 23

fFPS = 8

bInterpolate = false

}

$Anim

{

szID = Dunno

dwStartFrame = 28

dwEndFrame = 30

}

}

To use animated geometry

  1. Create a mesh in which you animate something.

  2. Create a dummy and then assign it the parameters.

  3. In the engine, launch the animation on the mesh.

    By default, the mesh is always rendered normally, without animations.

Compression schemes

For a description of the various compression schemes, see the szCompression parameter.

You can create a different animation for each dummy.

For example, in the scene we can have two animations, one that goes from the frame 0..50 and runs to 10FPS while another that goes from the frame 55..80 and runs to other FPS. Each of these animations is defined by a substructure $ Anim.

To ensure animated data is exported, include at least one $Anim definition in the animated geometry definition.

Interpolation

It is possible to enable interpolation between the various frames using the bInterpolate parameter. In this way, it is possible to use a different frame rate than the rendering one, or to use fewer frames (thus occupying less memory), without taking a picture animated geometry.

Animated geometries can be exported both in World Space and in Object Space. The mode is the same as for a normal mesh.

Limitations

  • Currently, the optimizations of the mesh from which the animated geometry is created are disabled. As a result, this mesh has a number of vertices equal to NumFaces * 3, even if, at the end, many of these vertices are duplicated.

  • Each animation must contain at least two frames.

TitleResults for “How to create a CRG?”Also Available in