# Ray 3D 射线结构体,用于光线投射和拾取。 **头文件:** `#include ` **命名空间:** `XCEngine::Math` ## 结构体定义 ```cpp struct Ray { Vector3 origin; // 射线起点 Vector3 direction; // 归一化方向 Ray() = default; Ray(const Vector3& origin, const Vector3& direction); Vector3 GetPoint(float t) const; bool Intersects(const Sphere& sphere, float& t) const; bool Intersects(const Box& box, float& t) const; bool Intersects(const Plane& plane, float& t) const; }; ``` ## 构造函数 | 方法 | 描述 | |------|------| | `Ray()` | 默认构造 | | `Ray(origin, direction)` | 从起点和方向构造 | ## 实例方法 | 方法 | 返回值 | 描述 | |------|--------|------| | [GetPoint(t)](getpoint.md) | `Vector3` | 获取射线上 t 距离处的点 | | [Intersects(sphere, t)](intersects-sphere.md) | `bool` | 与球体相交,输出距离 t | | [Intersects(box, t)](intersects-box.md) | `bool` | 与 OBB 相交,输出距离 t | | [Intersects(plane, t)](intersects-plane.md) | `bool` | 与平面相交,输出距离 t | ## 相关文档 - [Math 模块总览](../math.md) - 返回 Math 模块总览