Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

MeshLibrary

继承: Resource < RefCounted < Object

网格库。

描述

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

教程

方法

void

clear ( )

void

create_item ( int id )

int

find_item_by_name ( String name ) const

PackedInt32Array

get_item_list ( ) const

Mesh

get_item_mesh ( int id ) const

Transform3D

get_item_mesh_transform ( int id ) const

String

get_item_name ( int id ) const

int

get_item_navigation_layers ( int id ) const

NavigationMesh

get_item_navigation_mesh ( int id ) const

Transform3D

get_item_navigation_mesh_transform ( int id ) const

Texture2D

get_item_preview ( int id ) const

Array

get_item_shapes ( int id ) const

int

get_last_unused_item_id ( ) const

void

remove_item ( int id )

void

set_item_mesh ( int id, Mesh mesh )

void

set_item_mesh_transform ( int id, Transform3D mesh_transform )

void

set_item_name ( int id, String name )

void

set_item_navigation_layers ( int id, int navigation_layers )

void

set_item_navigation_mesh ( int id, NavigationMesh navigation_mesh )

void

set_item_navigation_mesh_transform ( int id, Transform3D navigation_mesh )

void

set_item_preview ( int id, Texture2D texture )

void

set_item_shapes ( int id, Array shapes )


方法说明

void clear ( )

清除库。


void create_item ( int id )

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

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


int find_item_by_name ( String name ) const

返回第一个具有指定名称的项。


PackedInt32Array get_item_list ( ) const

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


Mesh get_item_mesh ( int id ) const

返回该项目的网格。


Transform3D get_item_mesh_transform ( int id ) const

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


String get_item_name ( int id ) const

返回该项的名称。


int get_item_navigation_layers ( int id ) const

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


NavigationMesh get_item_navigation_mesh ( int id ) const

返回该项的导航网格。


Transform3D get_item_navigation_mesh_transform ( int id ) const

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


Texture2D get_item_preview ( int id ) const

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


Array get_item_shapes ( int id ) const

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

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


int get_last_unused_item_id ( ) const

获取新项未使用的 ID。


void remove_item ( int id )

删除项目。


void set_item_mesh ( int id, Mesh mesh )

设置该项的网格。


void set_item_mesh_transform ( int id, Transform3D mesh_transform )

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


void set_item_name ( int id, String name )

设置该项的名称。

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


void set_item_navigation_layers ( int id, int navigation_layers )

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


void set_item_navigation_mesh ( int id, NavigationMesh navigation_mesh )

设置该项的导航网格。


void set_item_navigation_mesh_transform ( int id, Transform3D navigation_mesh )

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


void set_item_preview ( int id, Texture2D texture )

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


void set_item_shapes ( int id, Array shapes )

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

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