DataModelMesh
The DataModelMesh is an abstract class from which mesh classes descend.
Memory category | Instances |
---|
Member index 3
Removed member index 2
History | Member |
---|
Description
The DataModelMesh is an abstract class from which mesh classes descend.
Mesh classes are objects that, when parented to BaseParts alter the appearance of the part to that of a predefined mesh. Note, they only alter the appearance of the part and not the physics/collision boundaries of the part. Developers looking to apply a mesh to a part that alters the part's collision should use MeshParts.
Note the MeshPart and CharacterMesh classes do not descend from DataModelMesh.
History 20
- 565 Remove
- 565 Remove
- 553 Change Default of VertexColor from to
- 553 Change Default of Scale from to
- 553 Change Default of Offset from to
- 553 Add
- 553 Add
- 486 Change ThreadSafety of VertexColor from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Scale from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Offset from ReadOnly to ReadSafe
- 462 Change ThreadSafety of VertexColor from to ReadOnly
- 462 Change ThreadSafety of Scale from to ReadOnly
- 462 Change ThreadSafety of Offset from to ReadOnly
- 79 Change Tags of DataModelMesh from [preliminary, NotCreatable, NotBrowsable] to [NotCreatable, NotBrowsable]
- 78 Change Tags of DataModelMesh from [NotCreatable, NotBrowsable] to [preliminary, NotCreatable, NotBrowsable]
- 79 Change Tags of DataModelMesh from [preliminary, NotCreatable, NotBrowsable] to [NotCreatable, NotBrowsable]
- 47 Add VertexColor
- 47 Add Scale
- 47 Add Offset
- 47 Add DataModelMesh
Members 3
Offset
Type | Default | |
---|---|---|
Vector3 |
The Offset of a mesh determines the distance from the BasePart.Position of a BasePart that the mesh will be displayed.
How to use mesh offset
The Offset property changes the relative position the mesh will be rendered at. For example, an offset of 0, 5, 0 will cause the mesh to be displayed 5 studs above the position of the BasePart.
The position of the BasePart remains unchanged, meaning the physics collision box of the part will remain in the same location. This is demonstrated in the image below where the green outline (a SelectionBox) shows the extents of the BasePart.
Other uses for mesh offset
There are a number of interesting uses for the mesh offset property.
- Offset and DataModelMesh.Scale can be animated using TweenService relatively inexpensively as the engine does not need to make any physics/collision calculations as the BasePart is not moved.
- Changing the relationship between the mesh and its collision extents (determined by the BasePart)
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
Scale
Type | Default | |
---|---|---|
Vector3 |
The Scale of a mesh determines the size of the mesh relative to its original dimensions.
How to use mesh scale
The scale property works slightly differently depending on the type of mesh being used. Note the size of the BasePart remains unchanged, meaning the physics collision box of the part will remain the same.
- SpecialMesh objects with SpecialMesh.FileType set to 'FileMesh' scale relative to the original dimensions of the mesh when it was uploaded to Roblox
- BlockMesh objects or SpecialMesh objects with SpecialMesh.FileType set to 'Brick', 'Wedge' or 'Sphere' scale uniformly relative to the BasePart.Size of their parent
- CylinderMesh objects or SpecialMesh objects with SpecialMesh.FileType set to 'Cylinder' scale relative to the BasePart.Size of their parent. Uniformly for the cylinders height axis and maintaining a 1:1 ratio for the length and width of the cylinder, using the lowest value.
- SpecialMesh objects with SpecialMesh.FileType set to 'Head' currently scale in a non standard manner. Developers should not rely on this as their are plans to change this behavior
- SpecialMesh objects with SpecialMesh.FileType set to 'Torso' scale in a non standard manner. Developers should not rely on this as their are plans to deprecate this mesh type.
Mesh scale demonstration
The above behavior can be seen in the following demonstration images.
Linear scaling relative to part size for 'Brick', 'Wedge' and 'Sphere' meshes.
Linear scaling relative to original uploaded mesh for 'FileMesh' meshes
Non-uniform constrained scaling for 'Cylinder' meshes
Other uses for mesh scale
There are a number of interesting uses for the mesh offset property.
- DataModelMesh.Offset and Scale can be animated using TweenService relatively inexpensively as the engine does not need to make any physics/collision calculations as the BasePart is not changed.
- Changing the relationship between the mesh and its collision extents (determined by the BasePart)
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
VertexColor
Type | Default | |
---|---|---|
Vector3 |
VertexColor determines the hue change of the Texture of a FileMesh. Note that this property is a Vector3 rather than a Color3; to convert, use the Color3.R, Color3.G, and Color3.B properties.
Although this property allows basic modification of a texture, changing a texture entirely provides more control. See MeshPart for more details.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of VertexColor from to
- 486 Change ThreadSafety of VertexColor from ReadOnly to ReadSafe
- 462 Change ThreadSafety of VertexColor from to ReadOnly
- 47 Add VertexColor