diff --git a/editor/icons/Camera2D.svg b/editor/icons/Camera2D.svg
index 81e5cc2c8e4..24198a8f068 100644
--- a/editor/icons/Camera2D.svg
+++ b/editor/icons/Camera2D.svg
@@ -1 +1 @@
-
+
diff --git a/editor/icons/Camera3D.svg b/editor/icons/Camera3D.svg
index bf61aa48fcc..69d435ff175 100644
--- a/editor/icons/Camera3D.svg
+++ b/editor/icons/Camera3D.svg
@@ -1 +1 @@
-
+
diff --git a/editor/icons/CameraAttributes.svg b/editor/icons/CameraAttributes.svg
index 459c64e11c6..72d88ace7a9 100644
--- a/editor/icons/CameraAttributes.svg
+++ b/editor/icons/CameraAttributes.svg
@@ -1 +1 @@
-
+
diff --git a/editor/icons/CameraAttributesPhysical.svg b/editor/icons/CameraAttributesPhysical.svg
new file mode 100644
index 00000000000..f75cd0dc442
--- /dev/null
+++ b/editor/icons/CameraAttributesPhysical.svg
@@ -0,0 +1 @@
+
diff --git a/editor/icons/CameraAttributesPractical.svg b/editor/icons/CameraAttributesPractical.svg
new file mode 100644
index 00000000000..0aed99056df
--- /dev/null
+++ b/editor/icons/CameraAttributesPractical.svg
@@ -0,0 +1 @@
+
diff --git a/editor/icons/CameraTexture.svg b/editor/icons/CameraTexture.svg
index 145a817b7ec..5a050b900e9 100644
--- a/editor/icons/CameraTexture.svg
+++ b/editor/icons/CameraTexture.svg
@@ -1 +1 @@
-
+
diff --git a/editor/icons/GizmoCamera3D.svg b/editor/icons/GizmoCamera3D.svg
new file mode 100644
index 00000000000..c22fa18ee43
--- /dev/null
+++ b/editor/icons/GizmoCamera3D.svg
@@ -0,0 +1 @@
+
diff --git a/editor/icons/XRCamera3D.svg b/editor/icons/XRCamera3D.svg
index 501a86a9f78..88e11cfe34b 100644
--- a/editor/icons/XRCamera3D.svg
+++ b/editor/icons/XRCamera3D.svg
@@ -1 +1 @@
-
+
diff --git a/editor/plugins/gizmos/camera_3d_gizmo_plugin.cpp b/editor/plugins/gizmos/camera_3d_gizmo_plugin.cpp
index e4503b9c6fc..2ef2e3a666c 100644
--- a/editor/plugins/gizmos/camera_3d_gizmo_plugin.cpp
+++ b/editor/plugins/gizmos/camera_3d_gizmo_plugin.cpp
@@ -41,6 +41,7 @@ Camera3DGizmoPlugin::Camera3DGizmoPlugin() {
Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/camera", Color(0.8, 0.4, 0.8));
create_material("camera_material", gizmo_color);
+ create_icon_material("camera_icon", Node3DEditor::get_singleton()->get_theme_icon("GizmoCamera3D", "EditorIcons"));
create_handle_material("handles");
}
@@ -159,6 +160,7 @@ void Camera3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
Vector handles;
Ref material = get_material("camera_material", p_gizmo);
+ Ref icon = get_material("camera_icon", p_gizmo);
const Size2i viewport_size = _get_viewport_size(camera);
const real_t viewport_aspect = viewport_size.x > 0 && viewport_size.y > 0 ? viewport_size.aspect() : 1.0;
@@ -256,6 +258,7 @@ void Camera3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
#undef ADD_QUAD
p_gizmo->add_lines(lines, material);
+ p_gizmo->add_unscaled_billboard(icon, 0.05);
p_gizmo->add_collision_segments(lines);
if (!handles.is_empty()) {