跳到主要内容

EditorSpatialGizmoPlugin

继承

Resource

简要描述

编辑器使用它来定义空间小控件类型。

描述

EditorSpatialGizmoPlugin允许您定义一种新型的Gizmo。这样做的主要方法有两种:扩展EditorSpatialGizmoPlugin为更简单的Gizmos,或创建新的EditorSpatialGizmo类型。有关更多信息,请参见文档中的教程。

方法

返回值类型方法名称
voidadd_material(name: String, material: SpatialMaterial)
boolcan_be_hidden() virtual
voidcommit_handle(gizmo: EditorSpatialGizmo, index: int, restore: Variant, cancel: bool = false) virtual
EditorSpatialGizmocreate_gizmo(spatial: Spatial) virtual
voidcreate_handle_material(name: String, billboard: bool = false)
voidcreate_icon_material(name: String, texture: Texture, on_top: bool = false, color: Color = Color( 1, 1, 1, 1 ))
voidcreate_material(name: String, color: Color, billboard: bool = false, on_top: bool = false, use_vertex_color: bool = false)
Stringget_handle_name(gizmo: EditorSpatialGizmo, index: int) virtual
Variantget_handle_value(gizmo: EditorSpatialGizmo, index: int) virtual
SpatialMaterialget_material(name: String, gizmo: EditorSpatialGizmo)
Stringget_name() virtual
Stringget_priority() virtual
boolhas_gizmo(spatial: Spatial) virtual
boolis_handle_highlighted(gizmo: EditorSpatialGizmo, index: int) virtual
boolis_selectable_when_hidden() virtual
voidredraw(gizmo: EditorSpatialGizmo) virtual
voidset_handle(gizmo: EditorSpatialGizmo, index: int, camera: Camera, point: Vector2) virtual

方法说明

  • add_material add_material(name: String, material: SpatialMaterial)

将新材料添加到插件的内部材料列表中。然后可以使用get_material访问它。不应该被覆盖。


  • can_be_hidden can_be_hidden() virtual

重写此方法以定义是否可以隐藏Gizmo。如果未被覆盖,则返回true


  • commit_handle commit_handle(gizmo: EditorSpatialGizmo, index: int, restore: Variant, cancel: bool = false) virtual

重写此方法以提交Gizmo句柄。调用此插件的活动小控件。


  • create_gizmo create_gizmo(spatial: Spatial) virtual

重写此方法可为您选择的空间节点返回自定义EditorSpatialGizmo,为其余节点返回null。见has_gizmo


  • create_handle_material create_handle_material(name: String, billboard: bool = false)

创建具有其变体(选定和/或可编辑)的手柄材质,并将其添加到内部材质列表中。然后可以使用get_material访问它们,并在EditorSpatialGizmo.add_handles中使用它们。不应该被覆盖


  • create_icon_material create_icon_material(name: String, texture: Texture, on_top: bool = false, color: Color = Color( 1, 1, 1, 1 ))

创建具有其变体(选定和/或可编辑)的图标材料,并将其添加到内部材料列表中。然后可以使用get_material访问它们,并在EditorSpatialGizmo.add_unscaled_billboard中使用它们。不应该被覆盖。


  • create_material create_material(name: String, color: Color, billboard: bool = false, on_top: bool = false, use_vertex_color: bool = false)

创建具有其变体(选定和/或可编辑)的无阴影材质,并将其添加到内部材质列表中。然后可以使用get_material访问它们,并在EditorSpatialGizmo.add_meshEditorSpatialGizmo.add_lines中使用它们。不应该被覆盖。


  • get_handle_name get_handle_name(gizmo: EditorSpatialGizmo, index: int) virtual

重写此方法以提供Gizmo的句柄名称。为此插件的活动小控件调用。


  • get_handle_value get_handle_value(gizmo: EditorSpatialGizmo, index: int) virtual

从Gizmo获取手柄的实际值。为此插件的活动小控件调用。


  • get_material get_material(name: String, gizmo: EditorSpatialGizmo)

从内部物料清单中获取物料。如果提供了EditorSpatialGizmo,它将尝试获取相应的变体(已选择和/或可编辑)。


  • get_name get_name() virtual

重写此方法以提供将出现在Gizmo可见性菜单中的名称。


  • get_priority get_priority() virtual

重写此方法可以设置Gizmo的优先级。值越高,优先级越高。如果具有较高优先级的Gizmo与另一个Gizmo发生冲突,则仅使用具有较高优先级的Gizmo。

所有内置编辑器小控件均返回的优先级-1。如果未重写,则此方法将返回0,这意味着自定义控件将自动覆盖内置控件。


  • has_gizmo has_gizmo(spatial: Spatial) virtual

重写此方法,以定义该插件哪些Spatial节点具有Gizmo。每当将Spatial节点添加到场景时,都会调用此方法,如果true该节点返回,则将分配一个通用的EditorSpatialGizmo并将其添加到此插件的活动[Gizmos]列表中。


  • is_handle_highlighted is_handle_highlighted(gizmo: EditorSpatialGizmo, index: int) virtual

获取句柄是否突出显示。为此插件的活动小控件调用。


  • is_selectable_when_hidden is_selectable_when_hidden() virtual

重写此方法,以定义即使隐藏了Gizmo,是否也应该选择带有此Gizmo的Spatial。


  • redraw redraw(gizmo: EditorSpatialGizmo) virtual

回调以重画提供的Gizmo。为此插件的活动小控件调用。


  • set_handle set_handle(gizmo: EditorSpatialGizmo, index: int, camera: Camera, point: Vector2) virtual

在更新句柄之后,请更新其值。为此插件的活动小控件调用。