SpecialMesh¶
The SpecialMesh object applies a mesh to a BasePart depending on the MeshType property.
Description¶
The SpecialMesh object applies a mesh to a BasePart depending on the MeshType property. A number of options are available.
- Brick - A block shape, equivalent to a BlockMesh
- Cylinder - A cylinder, identical to a Part with a Part.Shape of 'Cylinder'
- FileMesh - A user uploaded Mesh, equivalent to FileMesh that a texture can be applied to using the FileMesh.TextureId property
- Head - A character head shape
- Sphere - A sphere shape, similar to a Part with a Part.Shape of 'Ball' but can be freely resized on all axis
- Wedge - A wedge shape, identical to a WedgePart
- Torso - A block with sloped sides, due to be deprecated
Note, each SpecialMesh.MeshType will scale differently when using DataModelMesh.Scale, for more information on this please see the page on DataModelMesh.Scale. The SpecialMesh object also exposes the DataModelMesh.Offset property.
It is important to remember that when using a SpecialMesh, only the appearance of a part changes. The collision model of the part remains the same. For example, a character will not be able to walk correctly over a mesh as the mesh geometry is not taken into account.
SpecialMesh vs MeshPart¶
There are currently two ways of using a developer created mesh. They are using a SpecialMesh with the SpecialMesh.FileType set to 'FileMesh', or by using a MeshPart. Although, on the whole, the MeshPart object has superseded the SpecialMesh there are some differences developers should be aware of.
- BasePart.Material displays correctly on the mesh when using a MeshPart and not when using a SpecialMesh
- MeshParts include the MeshPart.CollisionFidelity property, meaning the collision model of a MeshPart can be set to resemble the geometry of the mesh. The SpecialMesh object by contrast, uses the parent BaseParts collision model
- The mesh of a MeshPart scales on all axis depending on the Size property of the MeshPart, the mesh of a SpecialMesh does not
- The SpecialMesh object includes the Offset and Scale properties whereas MeshParts do not
- The MeshId property of a SpecialMesh can be changed by a Script or LocalScript during runtime. The MeshId property of a MeshPart can not.
Inheritance¶
Object → Instance → DataModelMesh → FileMesh → SpecialMesh
Nova inheritance: Instance → DataModelMesh → FileMesh → SpecialMesh
Properties¶
MeshType Supported Property Determines the type of mesh that will be applied to the BasePart the SpecialMesh is parented to.
Determines the type of mesh that will be applied to the BasePart the SpecialMesh is parented to.
The mesh that the SpecialMeshobject applies to the BasePart depends on the MeshType property. A number of options are available.
- Brick - A block shape, equivalent to a BlockMesh
- Cylinder - A cylinder, identical to a Part with a Part.Shape of 'Cylinder'
- FileMesh - A user uploaded Mesh, equivalent to FileMesh that a texture can be applied to using the FileMesh.TextureId property
- Head - A character head shape
- Sphere - A sphere shape, similar to a Part with a Part.Shape of 'Ball' but can be freely resized on all axis
- Wedge - A wedge shape, identical to a WedgePart
- Torso - A block with sloped sides, due to be deprecated
Note, each MeshType will scale differently when using DataModelMesh.Scale, for more information on this please see the page on DataModelMesh.Scale.
Inherited members¶
Inherited from FileMesh: 13 properties, 36 methods, 7 events. They are documented on the base class page.
Roblox reference: SpecialMesh
Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.