CoreMesh
CoreMesh is a CoreObject representing a mesh that can be placed in the scene. It is the parent type for both AnimatedMesh and StaticMesh.
Properties
| Property Name | Return Type | Description | Tags | 
|---|---|---|---|
| team | integer | Assigns the mesh to a team. Value range from 0to4.0is neutral team. | Read-Write | 
| isTeamColorUsed | boolean | If true, and the mesh has been assigned to a valid team, players on that team will see a blue mesh, while other players will see red. Requires a material that supports the color property. | Read-Write | 
| isTeamCollisionEnabled | boolean | If false, and the mesh has been assigned to a valid team, players on that team will not collide with the mesh. | Read-Write | 
| isEnemyCollisionEnabled | boolean | If false, and the mesh has been assigned to a valid team, players on other teams will not collide with the mesh. | Read-Write | 
| isCameraCollisionEnabled | boolean | If false, the mesh will not push against the camera. Useful for things like railings or transparent walls. This property is deprecated, use thecameraCollisionproperty instead. | Read-Write, Deprecated | 
| meshAssetId | string | The ID of the mesh asset used by this mesh. | Read-Only | 
Functions
| Function Name | Return Type | Description | Tags | 
|---|---|---|---|
| GetColor() | Color | Returns the color override previously set from script, or 0, 0, 0, 0if no such color has been set. | None | 
| SetColor(Color) | None | Overrides the color of all materials on the mesh, and replicates the new colors. | None | 
| ResetColor() | None | Turns off the color override, if there is one. | None | 
Examples
Example using:
GetColor
 SetColor
 ResetColor
 You can set a color override for a mesh. Exactly what this means will depend on the material of the mesh, but in general, setting a mesh's color will make the mesh be tinted to match that color.
local cube = World.SpawnAsset(propCubeTemplate, {position = Vector3.New(1000, 0, 300) })
cube:SetColor(Color.WHITE)
for i = 1, 40 do
    local cubeColor = cube:GetColor()
    local newColor = Color.New(cubeColor.r * 0.95, cubeColor.g * 0.95, cubeColor.b * 0.95)
    cube:SetColor(newColor)
    Task.Wait(0.025)
end
cube:ResetColor()
See also: World.SpawnAsset | Vector3.New | Color.WHITE | Task.Wait
Example using:
meshAssetId
 You can check the asset ID of a static mesh. This will be the MUID of the Core Content object it was created from.
local cube = World.SpawnAsset(propCubeTemplate, {position = Vector3.New(1000, 0, 300) })
print("The asset ID is " .. cube.meshAssetId)
See also: World.SpawnAsset | Vector3.New | CoreLua.print
Example using:
team
 isTeamColorUsed
 isTeamCollisionEnabled
 isEnemyCollisionEnabled
 isCameraCollisionEnabled
 You can set a mesh to belong to a particular "team". These match the teams that players can be set to. (0-4) There are also several properties that are keyed to what team an object is on.
This sample sets a mesh (and all of its children) to be on a particular team.
You can also control whether the camera is allowed to clip into a mesh or not.
function AssignMeshToTeam(mesh, team)
    local objects = mesh:FindDescendantsByType("CoreMesh")
    table.insert(objects, mesh)
    for k, mesh in ipairs(objects) do
        -- Set the team
        mesh.team = team
        -- Make the mesh tinted based on the color of the team it is on.
        mesh.isTeamColorUsed = true
        -- Enable collision for enemies, but not allies.
        mesh.isTeamCollisionEnabled = false
        mesh.isEnemyCollisionEnabled = true
        -- Set the camera to not collide with this mesh.
        mesh.isCameraCollisionEnabled = false
    end
end
AssignMeshToTeam(cube, 1)
See also: CoreObject.FindDescendantsByType