Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
EditorNode3DGizmo¶
Inherits: Node3DGizmo < RefCounted < Object
Gizmo for editing Node3D objects.
Description¶
Gizmo that is used for providing custom visualization and editing (handles and subgizmos) for Node3D objects. Can be overridden to create custom gizmos, but for simple gizmos creating a EditorNode3DGizmoPlugin is usually recommended.
Methods¶
void |
_commit_handle ( int id, bool secondary, Variant restore, bool cancel ) virtual |
void |
_commit_subgizmos ( PackedInt32Array ids, Transform3D[] restores, bool cancel ) virtual |
_get_handle_name ( int id, bool secondary ) virtual const |
|
_get_handle_value ( int id, bool secondary ) virtual const |
|
_get_subgizmo_transform ( int id ) virtual const |
|
_is_handle_highlighted ( int id, bool secondary ) virtual const |
|
void |
_redraw ( ) virtual |
void |
_set_handle ( int id, bool secondary, Camera3D camera, Vector2 point ) virtual |
void |
_set_subgizmo_transform ( int id, Transform3D transform ) virtual |
_subgizmos_intersect_frustum ( Camera3D camera, Plane[] frustum ) virtual const |
|
_subgizmos_intersect_ray ( Camera3D camera, Vector2 point ) virtual const |
|
void |
add_collision_segments ( PackedVector3Array segments ) |
void |
add_collision_triangles ( TriangleMesh triangles ) |
void |
add_handles ( PackedVector3Array handles, Material material, PackedInt32Array ids, bool billboard=false, bool secondary=false ) |
void |
add_lines ( PackedVector3Array lines, Material material, bool billboard=false, Color modulate=Color(1, 1, 1, 1) ) |
void |
add_mesh ( Mesh mesh, Material material=null, Transform3D transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), SkinReference skeleton=null ) |
void |
add_unscaled_billboard ( Material material, float default_scale=1, Color modulate=Color(1, 1, 1, 1) ) |
void |
clear ( ) |
get_node_3d ( ) const |
|
get_plugin ( ) const |
|
get_subgizmo_selection ( ) const |
|
is_subgizmo_selected ( int id ) const |
|
void |
set_hidden ( bool hidden ) |
void |
set_node_3d ( Node node ) |
Method Descriptions¶
void _commit_handle ( int id, bool secondary, Variant restore, bool cancel ) virtual
Override this method to commit a handle being edited (handles must have been previously added by add_handles). This usually means creating an UndoRedo action for the change, using the current handle value as "do" and the restore
argument as "undo".
If the cancel
argument is true
, the restore
value should be directly set, without any UndoRedo action.
The secondary
argument is true
when the committed handle is secondary (see add_handles for more information).
void _commit_subgizmos ( PackedInt32Array ids, Transform3D[] restores, bool cancel ) virtual
Override this method to commit a group of subgizmos being edited (see _subgizmos_intersect_ray and _subgizmos_intersect_frustum). This usually means creating an UndoRedo action for the change, using the current transforms as "do" and the restores
transforms as "undo".
If the cancel
argument is true
, the restores
transforms should be directly set, without any UndoRedo action.
String _get_handle_name ( int id, bool secondary ) virtual const
Override this method to return the name of an edited handle (handles must have been previously added by add_handles). Handles can be named for reference to the user when editing.
The secondary
argument is true
when the requested handle is secondary (see add_handles for more information).
Variant _get_handle_value ( int id, bool secondary ) virtual const
Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the restore
argument in _commit_handle.
The secondary
argument is true
when the requested handle is secondary (see add_handles for more information).
Transform3D _get_subgizmo_transform ( int id ) virtual const
Override this method to return the current transform of a subgizmo. This transform will be requested at the start of an edit and used as the restore
argument in _commit_subgizmos.
bool _is_handle_highlighted ( int id, bool secondary ) virtual const
Override this method to return true
whenever the given handle should be highlighted in the editor.
The secondary
argument is true
when the requested handle is secondary (see add_handles for more information).
void _redraw ( ) virtual
Override this method to add all the gizmo elements whenever a gizmo update is requested. It's common to call clear at the beginning of this method and then add visual elements depending on the node's properties.
void _set_handle