PopcornFX v2.14

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
  1. Home
  2. Docs
  3. PopcornFX v2.14
  4. Baking
  5. Resource ovens
  6. Oven: Mesh

Oven: Mesh

COvenBakeConfig_Mesh

Used for mesh resources.
Applied to: *.fbx
 

Property nameDefault valueDescription
All common properties, see COvenBakeConfig_Base
Scale1.0Global import scale. For example, if your mesh has been exported in centimeters, but your project is in meters, set this to 0.01
EndiannessLittleEndianCan 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)
CustomAxisSystemNoneOverrides 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
ImportGeometrytrueIf disabled, will not build any geometry (usually disabled for FBX files that only contain an animation path and no geom).
GeometryCompressionNoneDetermines which compression algorithm should be used to compress geometry

  1. None : Do not compress geometry
  2. FastLZ
  3. BZip
PositionsType_F32Vertex-format in which vertex positions should be stored.

  1. F32 : 32-bit floating point XYZ components
  2. U16 : 16-bit integer XYZ components, quantized on the mesh bounding box
    NormalsType_F32Vertex-format in which vertex normals should be stored.

    1. None : Do not import normals
    2. F16 : 16-bit floating point XYZ components
    3. F32 : 32-bit floating point XYZ components
      TangentsNoneVertex-format in which vertex tangents should be stored.

      1. None : Do not import tangents, runtime will auto-regenerate them if necessary
      2. F16 : 16-bit floating point XYZ components
      3. F32 : 32-bit floating point XYZ components
        TexcoordsType_F32Vertex-format in which vertex UV coordinates should be stored.

        1. None : Do not import UVs
        2. F32 : 32-bit floating point UV components
        3. U16 : 16-bit integer point UV components, quantized in the [0,1] range
          UseTriangleStripsfalseIf disabled, will import triangle indices as regular 3-indices per triangle.
          If enabled, will generate triangle strips for the whole mesh.
          RebuildNormalsfalseIf enabled, will ignore the normals stored in the original mesh, and rebuild them from scratch using mesh geometry.
          Animation
          ImportAnimationfalseIf enabled, will import animations.
          ImportSkeletonfalseIf enabled, will import the skeleton (required for skeletal animations).
          UseAnimFrameBindfalseDefine the bind pose as the first frame of the animation.
          OptimizeForCPUSkinningfalseEnable 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.
          MaxBonesPerVertex8Maximum number of bones per vertex.
          Min=1, Max=256.
          BoneWeightDiscardTreshold0.0Treshold below which vertex bone weights will be discarded and set to zero.
          RemapToZerotrueEnable this to avoid your animation offset and make it start at zero.
          Sampling
          WriteAccelSamplingtrueIf 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
          WriteKdTreetrueIf 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_CompressionFastLZControls how the KdTree gets compressed.

          1. None : No compression
          2. FastLZ : Use the FastLZ Algorithm (you must make sure the runtime SDK your company has licensed contains the FastLZ decompressor)
          3. BZip : Use the BZ2 Algorithm (you must make sure the runtime SDK your company has licensed contains the BZ2 decompressor)
            KdTree_FastBuildfalseIf enabled, will use a much simpler, lower quality, and faster KdTree construction algorithm.
            KdTree_MaxNodeVerticesBeforeSplit15Maximum number of vertices a node is allowed to contain before being subdivided.
            KdTree_MaxDepth32Maximum depth the KdTree branches are allowed to reach.
            KdTree_MinNodeExtent1.0e-6Smallest node size before no more splits happen.
            KdTree_NodeTraversalCost0.1Heuristic weight : abstract cost of traversing a node at runtime.
            KdTree_TriangleIntersectionCost1.0Heuristic weight : abstract cost of processing a mesh triangle at runtime.
            UVToPCoords
            WriteAccelUV2PCfalseIf 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_MaxDepth10Maximum depth the quadtree branches are allowed to reach.
            AccelUV2PC_MaxLeafTriangles4Maximum number of triangles a quadtree leaf is allowed to contain before being subdivided.

             

            Was this article helpful to you? Yes No

            How can we help?