射线检测
(待实验功能,补充2D射线)
3D环境中的鼠标到游戏场景的射线检测
func _get_mouse_position_in_world() -> Result:
var mouse_pos = get_viewport().get_mouse_position()
var camera = get_viewport().get_camera_3d()
var from = camera.project_ray_origin(mouse_pos)
var to = from + camera.project_ray_normal(mouse_pos) * 1000
var space_status = get_world_3d().direct_space_state
var intersection = space_status.intersect_ray(PhysicsRayQueryParameters3D.create(from, to))
if intersection:
# 返回成功
pass
else:
# 返回失败
pass