Skip to main content

Mesh

Asset ID:mesh

A collection of triangulated submeshes

Asset schema properties

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

payloadSize

uint64

Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size

submeshes

array[object]

A mesh is composed of one or more submeshes

Submesh

A triangulated submesh

aabb

object

{

max,

min,

}

The axis aligned bounding box that encompasses all the vertices of the submesh

channels

array[object]

Description of the channels in the payload blob

Channel

A channel is a collection of attributes with some meaning (semantic) for a 3D renderer. An attribute is a constant sized collection of elements (e.g. 3 for vec3, 16 for mat4, etc.). An element is the smallest piece of data manipulated (float32, int8, etc.).

dataOffset

uint64

Offset from the beginning of the associated buffer where the first element of the first attribute can be found

dataSize

uint64

Size of this channel in byte

elementCount

uint8

Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc.

elementSize

uint8

Size in byte of a single element (1, 2, 4, 8) for integers, (4, 8) for floats

elementType

uint8

0dt_signed1dt_unsigned2dt_float

Can be either (signed/unsigned) integer of float

semantic

string

indexIndex bufferpositionPosition of the vertexnormalNormal of the vertexuvTexture coordinatescolorColor of the vertexbone_idBone id for skinningweightWeight for skinning

Semantic of the attribute

indexCount

uint32

Total number of indices, a vertex can be referenced multiple times using its index. Note that this number has to be divisible by 3 as we only deal with triangles. Also, note that if this mesh doesn't use indices, the count will be 0.

morphTargets

array[object]

Description of the morph targets in the payload blob

Morph Target

A morph target is a collection of channels which contain the deltas from the source submesh. For now, only position and normal channels are supported.

aabb

object

{

max,

min,

}

Bounding box of the morph target

channels

array[object]

Channels that make up the morph target.

Channel

A channel is a collection of attributes with some meaning (semantic) for a 3D renderer. An attribute is a constant sized collection of elements (e.g. 3 for vec3, 16 for mat4, etc.). An element is the smallest piece of data manipulated (float32, int8, etc.).

dataOffset

uint64

Offset from the beginning of the associated buffer where the first element of the first attribute can be found

dataSize

uint64

Size of this channel in byte

elementCount

uint8

Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc.

elementSize

uint8

Size in byte of a single element (1, 2, 4, 8) for integers, (4, 8) for floats

elementType

uint8

0dt_signed1dt_unsigned2dt_float

Can be either (signed/unsigned) integer of float

semantic

string

indexIndex bufferpositionPosition of the vertexnormalNormal of the vertexuvTexture coordinatescolorColor of the vertexbone_idBone id for skinningweightWeight for skinning

Semantic of the attribute

vertexCount

uint32

Total number of vertices. Can't exceed UINT32_MAX because indices are restricted to a uint32