Skip to main content
Skip table of contents

Meshes

Meshes define the 3D objects in your scene. They can be loaded from various file formats or you can also generate primitive shapes (cubes, planes, cylinders, …) directly using the respective prefab types. Since meshes drive from the TransformNode class, they can be positioned and support a parent-child hierarchy as well. To configure how a mesh should be rendered, you will want to assign a material to it. This can by done by referencing a globally defined one by its name or by defining one inline.

  • Node (abstract)

    • TransformNode

      • Mesh

      • InstancedMesh

Mesh

JSON
{
    "type" : "Mesh",
    "uri" : string,
    "sourceMesh" : string,
    "material" : StandardMaterial | string,
    "isVisible" : boolean,
    "showBoundingBox" : boolean,
    "mustDepthSortFacets" : boolean,
    "renderOutline" : boolean,
    "outlineColor" : [ number, number, number ],
    "renderOverlay" : boolean,
    "overlayColor" : [ number, number, number ]
}

Either specify a uri to load meshes from files or sourceMesh to clone an existing mesh. Cloned meshes share some data like the geometry with the source but can have different transformations, materials, etc.

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.mesh

InstancedMesh

JSON
{
    "type" : "InstancedMesh",
    "sourceMesh" : string,
    "position" : [ number, number, number ],
    "rotation" : [ number, number, number ],
    "scaling" : [ number, number, number ],
}

Instanced meshes share all data and properties with the source mesh except for positionrotation and scaling. This is a very efficient way of adding multiple instanced of a mesh to your scene which only differ in transformation.

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.instancedmesh

Box

JSON
{
    "type" : "BoxPrefab",
    "size" : number
}

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.meshbuilder#createbox

Cylinder

JSON
{
    "type" : "CylinderPrefab",
    "height" : number,
    "diameterTop" : number,
    "diameterBottom" : number,
    "tessellation" : number,
    "subdivisions" : number
}

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.meshbuilder#createcylinder

Plane

JSON
{
    "type" : "PlanePrefab",
    "size" : number
}

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.meshbuilder#createplane

Sphere

JSON
{
    "type" : "SpherePrefab",
    "segments" : number,
    "diameter" : number
}

babylon.js reference: https://doc.babylonjs.com/typedoc/classes/babylon.meshbuilder#createsphere

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.