初面网初面网

射线检测

(待实验功能,补充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

更新于 2026/7/27