EditorSpatialGizmoPlugin
继承
简要描述
编辑器使用它来定义空间小控件类型。
描述
EditorSpatialGizmoPlugin允许您定义一种新型的Gizmo。这样做的主要方法有两种:扩展EditorSpatialGizmoPlugin为更简单的Gizmos,或创建新的EditorSpatialGizmo类型。有关更多信息,请参见文档中的教程。
方法
返回值类型 | 方法名称 |
---|---|
void | add_material(name: String, material: SpatialMaterial) |
bool | can_be_hidden() virtual |
void | commit_handle(gizmo: EditorSpatialGizmo, index: int, restore: Variant, cancel: bool = false) virtual |
EditorSpatialGizmo | create_gizmo(spatial: Spatial) virtual |
void | create_handle_material(name: String, billboard: bool = false) |
void | create_icon_material(name: String, texture: Texture, on_top: bool = false, color: Color = Color( 1, 1, 1, 1 )) |
void | create_material(name: String, color: Color, billboard: bool = false, on_top: bool = false, use_vertex_color: bool = false) |
String | get_handle_name(gizmo: EditorSpatialGizmo, index: int) virtual |
Variant | get_handle_value(gizmo: EditorSpatialGizmo, index: int) virtual |
SpatialMaterial | get_material(name: String, gizmo: EditorSpatialGizmo) |
String | get_name() virtual |
String | get_priority() virtual |
bool | has_gizmo(spatial: Spatial) virtual |
bool | is_handle_highlighted(gizmo: EditorSpatialGizmo, index: int) virtual |
bool | is_selectable_when_hidden() virtual |
void | redraw(gizmo: EditorSpatialGizmo) virtual |
void | set_handle(gizmo: EditorSpatialGizmo, index: int, camera: Camera, point: Vector2) virtual |
方法说明
- add_material add_material(name: String, material: SpatialMaterial)
将新材料添加到插件的内部材料列表中。然后可以使用get_material访问它。不应该被覆盖。
- 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_mesh和EditorSpatialGizmo.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 () virtual
重写此方法,以定义即使隐藏了Gizmo,是否也应该选择带有此Gizmo的Spatial。
- redraw redraw(gizmo: EditorSpatialGizmo) virtual
回调以重画提供的Gizmo。为此插件的活动小控件调用。
- set_handle set_handle(gizmo: EditorSpatialGizmo, index: int, camera: Camera, point: Vector2) virtual
在更新句柄之后,请更新其值。为此插件的活动小控件调用。