Самый простой способ сделать 3D-объект кликабельным - дать ему CollisionObject
(например, StaticBody
) и подключиться к сигналу input_event
. Например, чтобы обнаружить щелчок левой кнопкой мыши:
extends StaticBody
func _ready():
connect("input_event", self, "on_input_event")
func on_input_event(camera, event, click_position, click_normal, shape_idx):
var mouse_click = event as InputEventMouseButton
if mouse_click and mouse_click.button_index == 1 and mouse_click.pressed:
print("clicked")
В документах упоминается, что события касания аналогичны событиям щелчка.
Обратите внимание, что input_ray_pickable
должно бытьtrue
на CollisionObject
(по умолчанию).