Class reference
MeshLibrary
Inherits Resource
Library of meshes.
Description
A library of meshes. Contains a list of Mesh resources, each with a name and ID. Each item can also include collision and navigation shapes. This resource is used in GridMap.
Methods
void clear()
Clears the library.
void create_item(int id)
Creates a new item in the library with the given ID. You can get an unused ID from get_last_unused_item_id().
int find_item_by_name(String name) const
Returns the first item with the given name, or -1 if no item is found.
PackedInt32Array get_item_list() const
Returns the list of item IDs in use.
Mesh get_item_mesh(int id) const
Returns the item's mesh.
int get_item_mesh_cast_shadow(int id) const
Returns the item's shadow casting mode.
Transform3D get_item_mesh_transform(int id) const
Returns the transform applied to the item's mesh.
String get_item_name(int id) const
Returns the item's name.
int get_item_navigation_layers(int id) const
Returns the item's navigation layers bitmask.
NavigationMesh get_item_navigation_mesh(int id) const
Returns the item's navigation mesh.
Transform3D get_item_navigation_mesh_transform(int id) const
Returns the transform applied to the item's navigation mesh.
Texture2D get_item_preview(int id) const
When running in the editor, returns a generated item preview (a 3D rendering in isometric perspective). When used in a running project, returns the manually-defined item preview which can be set using set_item_preview(). Returns an empty Texture2D if no preview was manually set in a running project.
Array get_item_shapes(int id) const
Returns an item's collision shapes. The array consists of each Shape3D followed by its Transform3D.
int get_last_unused_item_id() const
Gets an unused ID for a new item.
void remove_item(int id)
Removes the item.
void set_item_mesh(int id, Mesh mesh)
Sets the item's mesh.
void set_item_mesh_cast_shadow(int id, int shadow_casting_setting)
Sets the item's shadow casting mode to shadow_casting_setting.
void set_item_mesh_transform(int id, Transform3D mesh_transform)
Sets the transform to apply to the item's mesh.
void set_item_name(int id, String name)
Sets the item's name. This name is shown in the editor. It can also be used to look up the item later using find_item_by_name().
void set_item_navigation_layers(int id, int navigation_layers)
Sets the item's navigation layers bitmask.
void set_item_navigation_mesh(int id, NavigationMesh navigation_mesh)
Sets the item's navigation mesh.
void set_item_navigation_mesh_transform(int id, Transform3D navigation_mesh)
Sets the transform to apply to the item's navigation mesh.
void set_item_preview(int id, Texture2D texture)
Sets a texture to use as the item's preview icon in the editor.
void set_item_shapes(int id, Array shapes)
Sets an item's collision shapes. The array should consist of Shape3D objects, each followed by a Transform3D that will be applied to it. For shapes that should not have a transform, use Transform3D.IDENTITY.