Oven: Mesh

COvenBakeConfig_Mesh

Used for mesh resources.
Applied to: *.fbx

Property name

Default value

Description

All common properties, see COvenBakeConfig_Base

Scale

1.0

Global import scale. For example, if your mesh has been exported in centimeters, but your project is in meters, set this to 0.01

Endianness

LittleEndian

Can be any of the following:

  1. LittleEndian : Optimizes the mesh for little-endian platforms (x86 desktops, PS4, XBoxOne)

  2. BigEndian : Optimizes the mesh for big-endian platforms (ARM mobile)

CustomAxisSystem

None

Overrides the default axis-system to bake the mesh into

  1. None : Uses the default axis-system (see the '-x' command-line switch)

  2. RightHand_Y_Up : Bakes the mesh in Right-Hand Y-up

  3. RightHand_Z_Up : Bakes the mesh in Right-Hand Z-up

  4. LeftHand_Y_Up : Bakes the mesh in Left-Hand Y-up

  5. LeftHand_Z_Up : Bakes the mesh in Left-Hand Z-up

Note that if the axis system of the resource does not match the axis-system of the runtime loading it, the mesh data will undergo a runtime axis-system conversion at load-time.
This setting is here so you can bake the meshes in the correct axis-system and avoid any load-time overhead.

Geometry

ImportGeometry

true

If disabled, will not build any geometry (usually disabled for FBX files that only contain an animation path and no geom).

GeometryCompression

None

Determines which compression algorithm should be used to compress geometry

  1. None : Do not compress geometry

  2. FastLZ

  3. BZip

Positions

Type_F32

Vertex-format in which vertex positions should be stored.

F32 : 32-bit floating point XYZ components

U16 : 16-bit integer XYZ components, quantized on the mesh bounding box

Normals

Type_F32

Vertex-format in which vertex normals should be stored.

None : Do not import normals

F16 : 16-bit floating point XYZ components

F32 : 32-bit floating point XYZ components

Tangents

None

Vertex-format in which vertex tangents should be stored.

None : Do not import tangents, runtime will auto-regenerate them if necessary

F16 : 16-bit floating point XYZ components

F32 : 32-bit floating point XYZ components

Texcoords

Type_F32

Vertex-format in which vertex UV coordinates should be stored.

None : Do not import UVs

F32 : 32-bit floating point UV components

U16 : 16-bit integer point UV components, quantized in the [0,1] range

UseTriangleStrips

false

If disabled, will import triangle indices as regular 3-indices per triangle.
If enabled, will generate triangle strips for the whole mesh.

RebuildNormals

false

If enabled, will ignore the normals stored in the original mesh, and rebuild them from scratch using mesh geometry.

Animation

ImportAnimation

false

If enabled, will import animations.

ImportSkeleton

false

If enabled, will import the skeleton (required for skeletal animations).

UseAnimFrameBind

false

Define the bind pose as the first frame of the animation.

OptimizeForCPUSkinning

false

Enable this for faster CPU skinning. Will reorder vertices in the mesh.
Do not check this if you expect the vertices to be in a precise order.

MaxBonesPerVertex

8

Maximum number of bones per vertex.
Min=1, Max=256.

BoneWeightDiscardTreshold

0.0

Treshold below which vertex bone weights will be discarded and set to zero.

RemapToZero

true

Enable this to avoid your animation offset and make it start at zero.

Sampling

WriteAccelSampling

true

If disabled, will not build the sampling acceleration structures.
If enabled, they will be built and stored in mesh file, making the file larger on-disk.
NOTE: if you don’t build the acceleration structures, and still use mesh surface or volume sampling, they will be built on-the-fly at runtime, and produce a small performance hit.

Intersection & Projection

WriteKdTree

true

If disabled, will not build the KdTree.
Note: if you don’t build the KdTree, you won’t be able to use some specific features such as ray intersections or projection on this mesh.

KdTree_Compression

FastLZ

Controls how the KdTree gets compressed.

None : No compression

FastLZ : Use the FastLZ Algorithm (you must make sure the runtime SDK your company has licensed contains the FastLZ decompressor)

BZip : Use the BZ2 Algorithm (you must make sure the runtime SDK your company has licensed contains the BZ2 decompressor)

KdTree_FastBuild

false

If enabled, will use a much simpler, lower quality, and faster KdTree construction algorithm.

KdTree_MaxNodeVerticesBeforeSplit

15

Maximum number of vertices a node is allowed to contain before being subdivided.

KdTree_MaxDepth

32

Maximum depth the KdTree branches are allowed to reach.

KdTree_MinNodeExtent

1.0e-6

Smallest node size before no more splits happen.

KdTree_NodeTraversalCost

0.1

Heuristic weight : abstract cost of traversing a node at runtime.

KdTree_TriangleIntersectionCost

1.0

Heuristic weight : abstract cost of processing a mesh triangle at runtime.

UVToPCoords

WriteAccelUV2PC

false

If disabled, will not build the UV to PCoords acceleration structures.
If enabled, they will be built and stored in mesh file, making the file larger on-disk.
NOTE: if you don’t build the acceleration structures, and still use UV to PCoords sampling, they will be built on-the-fly at runtime, and produce a potentially large performance hit.

AccelUV2PC_MaxDepth

10

Maximum depth the quadtree branches are allowed to reach.

AccelUV2PC_MaxLeafTriangles

4

Maximum number of triangles a quadtree leaf is allowed to contain before being subdivided.