EditorSpatialGizmo

Inherits: SpatialGizmo < Reference < Object

用于编辑空间对象的自定义小工具。

描述

自定义小工具,用于为 3D Spatial 对象提供自定义可视化和编辑(手柄)。更多信息请参阅 EditorSpatialGizmoPlugin

方法

void

add_collision_segments ( PoolVector3Array segments )

void

add_collision_triangles ( TriangleMesh triangles )

void

add_handles ( PoolVector3Array handles, Material material, bool billboard=false, bool secondary=false )

void

add_lines ( PoolVector3Array lines, Material material, bool billboard=false, Color modulate=Color( 1, 1, 1, 1 ) )

void

add_mesh ( Mesh mesh, bool billboard=false, SkinReference skeleton=null, Material material=null )

void

add_unscaled_billboard ( Material material, float default_scale=1, Color modulate=Color( 1, 1, 1, 1 ) )

void

clear ( )

void

commit_handle ( int index, Variant restore, bool cancel=false ) virtual

String

get_handle_name ( int index ) virtual

Variant

get_handle_value ( int index ) virtual

EditorSpatialGizmoPlugin

get_plugin ( ) const

Spatial

get_spatial_node ( ) const

bool

is_handle_highlighted ( int index ) virtual

void

redraw ( ) virtual

void

set_handle ( int index, Camera camera, Vector2 point ) virtual

void

set_hidden ( bool hidden )

void

set_spatial_node ( Node node )

方法说明

将指定的segments添加到gizmo的碰撞形状中,以便挑选。在redraw时调用此函数。


将碰撞三角形添加到小工具中,供挑选。也可以从普通的Mesh生成TriangleMesh。在redraw时调用此函数。


添加一个句柄(点)列表,可以用来对编辑的对象进行变形。

有一些虚函数将在编辑这些句柄时被调用。在 redraw时调用这个函数。


用给定的材质在小工具上添加线条到gizmo (作为2个点的集合)。线条用于可视化gizmo。在redraw时调用此函数。


以指定的 billboard 状态、skeletonmateria 添加网格到小工具。如果 billboardtrue,则网格将旋转为始终面向相机。在 redraw 时调用此函数。


  • void add_unscaled_billboard ( Material material, float default_scale=1, Color modulate=Color( 1, 1, 1, 1 ) )

添加一个未缩放的广告牌以实现可视化。在redraw时调用此函数。


  • void clear ( )

移除小工具中的一切,包括网格、碰撞和句柄。


  • void commit_handle ( int index, Variant restore, bool cancel=false ) virtual

提交一个正在编辑的句柄(句柄必须是之前通过add_handles添加的)。

如果cancel参数是true,则提供了一个将编辑后的值恢复到原始值的选项。


  • String get_handle_name ( int index ) virtual

获取已编辑的句柄的名称(句柄必须是之前通过add_handles添加的)。

句柄的名称可以在编辑时被命名作为用户参考。


获取一个句柄的实际值,这个值可以是任何东西,用于在调用commit_handle时最终撤销动作。这个值可以是任何东西,用于在调用commit_handle时最终撤销动作。


返回拥有此小工具的 EditorSpatialGizmoPlugin 。使用 EditorSpatialGizmoPlugin.get_material 检索材质很有用。


  • Spatial get_spatial_node ( ) const

返回与此小工具相关联的 Spatial 节点。


  • bool is_handle_highlighted ( int index ) virtual

如果鼠标悬停索引为 index 的句柄高亮,则返回true


  • void redraw ( ) virtual

当这个工具所指 Spatial 的变化时(Spatial.update_gizmo 函数被调用)。


当用户在屏幕坐标中拖动一个 gizmo 工具手柄时(之前用 add_handles 添加的),就会使用这个函数。

还提供了相机 Camera,以便将屏幕坐标转换为射线投影。


  • void set_hidden ( bool hidden )

设置工具的隐藏状态。如果true,则小控件将被隐藏。如果false,将显示它。


  • void set_spatial_node ( Node node )

设置工具的参考 Spatial 节点。 node必须继承自 Spatial