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 |
get_handle_name ( int index ) virtual | |
get_handle_value ( int index ) virtual | |
get_plugin ( ) const | |
get_spatial_node ( ) const | |
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 ) |
方法说明
- void add_collision_segments ( PoolVector3Array segments )
将指定的segments
添加到gizmo的碰撞形状中,以便挑选。在redraw时调用此函数。
- void add_collision_triangles ( TriangleMesh triangles )
将碰撞三角形添加到小工具中,供挑选。也可以从普通的Mesh生成TriangleMesh。在redraw时调用此函数。
- void add_handles ( PoolVector3Array handles, Material material, bool billboard=false, bool secondary=false )
添加一个句柄(点)列表,可以用来对编辑的对象进行变形。
有一些虚函数将在编辑这些句柄时被调用。在 redraw时调用这个函数。
- void add_lines ( PoolVector3Array lines, Material material, bool billboard=false, Color modulate=Color( 1, 1, 1, 1 ) )
用给定的材质在小工具上添加线条到gizmo (作为2个点的集合)。线条用于可视化gizmo。在redraw时调用此函数。
- void add_mesh ( Mesh mesh, bool billboard=false, SkinReference skeleton=null, Material material=null )
以指定的 billboard
状态、skeleton
和 materia
添加网格到小工具。如果 billboard
为 true
,则网格将旋转为始终面向相机。在 redraw 时调用此函数。
- void add_unscaled_billboard ( Material material, float default_scale=1, Color modulate=Color( 1, 1, 1, 1 ) )
添加一个未缩放的广告牌以实现可视化。在redraw时调用此函数。
- void clear ( )
移除小工具中的一切,包括网格、碰撞和句柄。
提交一个正在编辑的句柄(句柄必须是之前通过add_handles添加的)。
如果cancel
参数是true
,则提供了一个将编辑后的值恢复到原始值的选项。
获取已编辑的句柄的名称(句柄必须是之前通过add_handles添加的)。
句柄的名称可以在编辑时被命名作为用户参考。
获取一个句柄的实际值,这个值可以是任何东西,用于在调用commit_handle时最终撤销动作。这个值可以是任何东西,用于在调用commit_handle时最终撤销动作。
- EditorSpatialGizmoPlugin get_plugin ( ) const
返回拥有此小工具的 EditorSpatialGizmoPlugin 。使用 EditorSpatialGizmoPlugin.get_material 检索材质很有用。
- Spatial get_spatial_node ( ) const
返回与此小工具相关联的 Spatial 节点。
如果鼠标悬停索引为 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 )