While the forums are down, I have spawned an instance in a 3D world and would like to execute a function one the instance when I click it with my mouse. How would I do that?
While the forums are down, I have spawned an instance in a 3D world and would like to execute a function one the instance when I click it with my mouse. How would I do that?
You can use an Input Event like this or if you want a more flexible solution you can shoot a raycast from the camera and check if you hit an object that can be clicked.
I am trying to add this to an Character 3D like this
func _on_input_event(camera, event, position, normal, shape_idx): print(event) if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.pressed == true: print("PRESST")
but it doesn’t print anything, it is Ray pickable and the signal is connected
Are you sure the input event is coming from your staticbody/rigidbody/characterbody? Also double check that you have a collisionshape/collisionpolygon under that so it can detect collisions. I’ve tried your code on my staticbody3D and it worked just fine.
func _on_static_body_3d_input_event(camera, event, position, normal, shape_idx): print(event) if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.pressed == true: print("PRESST")
Yes thank you, the collisionshape was ConvexPolygonShap, changing it to box fixed it.