Allows meshes to be used as collision shapes, for ColliderComponent and BodyComponent.

interface MeshShape {
    convex: boolean;
    mesh: RenderMesh;
    skin: Skin;
    getTypeName(): string;
    isOfType(type: string): boolean;
    isSame(other: ScriptObject): boolean;
}

Hierarchy (view full)

Properties

convex: boolean

Bake mesh as a convex hull, generated from mesh colliders. This allows for irregular shapes to be used as dynamic bodies.

Limitations:*

They are non-deforming. A hull may be generated from a deforming render mesh, but it will not deform with it. Because of this, intrinsically deforming mesh types will not work as convex hulls. For instance world and face meshes. In these cases the convex hull will exist, but be empty and wont simulate.

It produces an approximation of the source mesh, reducing triangle count and eliminating concave areas. Concave shapes may be composed of convex hulls in the scene graph. Splitting a concave mesh into convex hulls is known as "convex decomposition". It is an expensive process not supported by Studio, but there are many standalone tools available for this purpose (including plugins for 3D modeling apps). The resulting split mesh can be imported into Studio as a prefab.

Original triangle data is lost, so it is not available to script in ray casts.

Sets geometry from a render mesh. The render mesh is automatically converted to a collision mesh.

skin: Skin

Specifies skinning component used to animate skinned meshes.

Methods

  • Returns the name of this object's type.

    Returns string

  • Returns true if the object matches or derives from the passed in type.

    Parameters

    • type: string

    Returns boolean

  • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

    Parameters

    Returns boolean