MeshLibrary

继承: Resource < RefCounted < Object

网格库。

描述

网格库包含一个 Mesh 资源列表,每个资源都有一个名称和 ID。每个项目还可以包括碰撞和导航形状。这个资源在 GridMap 中使用。

教程

方法

void

clear()

void

create_item(id: int)

int

find_item_by_name(name: String) const

PackedInt32Array

get_item_list() const

Mesh

get_item_mesh(id: int) const

Transform3D

get_item_mesh_transform(id: int) const

String

get_item_name(id: int) const

int

get_item_navigation_layers(id: int) const

NavigationMesh

get_item_navigation_mesh(id: int) const

Transform3D

get_item_navigation_mesh_transform(id: int) const

Texture2D

get_item_preview(id: int) const

Array

get_item_shapes(id: int) const

int

get_last_unused_item_id() const

void

remove_item(id: int)

void

set_item_mesh(id: int, mesh: Mesh)

void

set_item_mesh_transform(id: int, mesh_transform: Transform3D)

void

set_item_name(id: int, name: String)

void

set_item_navigation_layers(id: int, navigation_layers: int)

void

set_item_navigation_mesh(id: int, navigation_mesh: NavigationMesh)

void

set_item_navigation_mesh_transform(id: int, navigation_mesh: Transform3D)

void

set_item_preview(id: int, texture: Texture2D)

void

set_item_shapes(id: int, shapes: Array)


方法说明

void clear() 🔗

清除库。


void create_item(id: int) 🔗

使用给定的 ID 在库中创建一个新项。

你可以从 get_last_unused_item_id 获取一个未使用的 ID。


int find_item_by_name(name: String) const 🔗

返回具有给定名称的第一个项目,如果未找到任何项目,则返回 -1


PackedInt32Array get_item_list() const 🔗

返回正在使用的项目 ID 列表。


Mesh get_item_mesh(id: int) const 🔗

返回该项目的网格。


Transform3D get_item_mesh_transform(id: int) const 🔗

返回应用到项目网格的变换。


String get_item_name(id: int) const 🔗

返回该项的名称。


int get_item_navigation_layers(id: int) const 🔗

返回该项的导航层位掩码。


NavigationMesh get_item_navigation_mesh(id: int) const 🔗

返回该项的导航网格。


Transform3D get_item_navigation_mesh_transform(id: int) const 🔗

返回应用于该项导航网格的变换。


Texture2D get_item_preview(id: int) const 🔗

在编辑器中运行时,返回生成的项目预览(等轴透视中的 3D 渲染)。在一个运行的项目中使用时,返回手动定义的项目预览,该项目预览可以使用 set_item_preview 设置。如果在一个运行的项目中,没有手动设置预览,则返回一个空的 Texture2D


Array get_item_shapes(id: int) const 🔗

返回某个项目的碰撞形状。

该数组由每个 Shape3D 后跟其 Transform3D 组成。


int get_last_unused_item_id() const 🔗

获取新项未使用的 ID。


void remove_item(id: int) 🔗

删除项目。


void set_item_mesh(id: int, mesh: Mesh) 🔗

设置该项的网格。


void set_item_mesh_transform(id: int, mesh_transform: Transform3D) 🔗

设置要应用到项目网格的变换。


void set_item_name(id: int, name: String) 🔗

设置该项的名称。

这个名称会显示在编辑器中。稍后还可以使用 find_item_by_name 来查找该项。


void set_item_navigation_layers(id: int, navigation_layers: int) 🔗

设置该项的导航层位掩码。


void set_item_navigation_mesh(id: int, navigation_mesh: NavigationMesh) 🔗

设置该项的导航网格。


void set_item_navigation_mesh_transform(id: int, navigation_mesh: Transform3D) 🔗

设置应用于该项的导航网格的变换。


void set_item_preview(id: int, texture: Texture2D) 🔗

在编辑器中设置要用作该项预览图标的纹理。


void set_item_shapes(id: int, shapes: Array) 🔗

设置某个项目的碰撞形状。

该数组应由 Shape3D 对象组成,每个对象后跟一个将应用于它的 Transform3D。对于不应具有变换的形状,请使用 Transform3D.IDENTITY