Members
-
origin : Vector3
-
原点
-
direction : Vector3
-
方向
-
射线长度
Methods
创建一条新射线
Name | Type | Description |
---|---|---|
origin |
Vector3 | 原点 |
direction |
Vector3 | 方向 |
length |
number | optional射线的长度 |
检查射线是否与长方体相交
Name | Type | Description |
---|---|---|
minimum |
DeepImmutable<Vector3> | 框的最小界限 |
maximum |
DeepImmutable<Vector3> | 框的最大界限 |
intersectionTreshold |
number | optional在所有方向上向长方体添加额外的延伸 |
检查射线是否与长方体相交
Name | Type | Description |
---|---|---|
box |
DeepImmutable<BoundingBox> | 要检查的包围盒 |
intersectionTreshold |
number | optional在所有方向上向包围盒添加额外的延伸 |
intersectsTriangle(vertex0,vertex1,vertex2) → Nullable<IntersectionInfo>
如果射线击中三角形
Name | Type | Description |
---|---|---|
vertex0 |
DeepImmutable<Vector3> | 三角形顶点 |
vertex1 |
DeepImmutable<Vector3> | 三角形顶点 |
vertex2 |
DeepImmutable<Vector3> | 三角形顶点 |
intersectsPlane(plane) → Nullable<number>
检查射线是否与平面相交
Name | Type | Description |
---|---|---|
plane |
DeepImmutable<Plane> | 要检查的平面 |
射线与给定段(具有给定公差)之间的相交测试(阈值)
Name | Type | Description |
---|---|---|
sega |
DeepImmutable<Vector3> | 测试交叉点的线段的第一个点 |
segb |
DeepImmutable<Vector3> | 用于测试交叉点的线段的第二个点 |
threshold |
number | 公差范围。如果射线未与线段相交,但接近给定阈值,则相交成功 |
update(x,y,viewportWidth,viewportHeight,world,view,projection) → Ray
从视口位置更新射线
Name | Type | Description |
---|---|---|
x |
number | x位置 |
y |
number | y位置 |
viewportWidth |
number | 视口宽度 |
world |
DeepImmutable<Matrix> | 世界矩阵 |
view |
DeepImmutable<Matrix> | 视图矩阵 |
projection |
DeepImmutable<Matrix> | 投影矩阵 |
staticZero() → Ray
创建原点和方向为0,0,0的射线@returns 返回新的射线
staticCreateNew(x,y,viewportWidth,viewportHeight,world,view,projection) → Ray
从屏幕空间和视口创建新射线
Name | Type | Description |
---|---|---|
x |
number | x位置 |
y |
number | y位置 |
viewportWidth |
number | 视口宽度 |
world |
DeepImmutable<Matrix> | 世界矩阵 |
view |
DeepImmutable<Matrix> | 视图矩阵 |
projection |
DeepImmutable<Matrix> | 投影矩阵 |
staticCreateNewFromTo(origin,end,world) → Ray
函数将创建一条从原点开始到终点的新变换射线。将设置射线的长度,射线将转换为给定的世界矩阵。
Name | Type | Description |
---|---|---|
origin |
DeepImmutable<Vector3> | 原点 |
end |
DeepImmutable<Vector3> | 结束端点 |
world |
DeepImmutable<Matrix> | optional将射线转换为矩阵,默认值是单位矩阵 |
staticTransform(ray,matrix) → Ray
通过矩阵变换射线
Name | Type | Description |
---|---|---|
ray |
DeepImmutable<Ray> | 射线 |
matrix |
DeepImmutable<Matrix> | 矩阵 |
通过矩阵变换射线
Name | Type | Description |
---|---|---|
ray |
DeepImmutable<Ray> | 射线 |
matrix |
DeepImmutable<Matrix> | 矩阵 |
result |
Ray | 用于存储结果 |
将射线从屏幕空间投影到对象空间
Name | Type | Description |
---|---|---|
sourceX |
float | 屏幕空间x坐标 |
sourceY |
float | 屏幕空间y坐标 |
viewportWidth |
number | 视口的当前宽度 |
viewportHeight |
number | 视口的当前高度 |
world |
DeepImmutable<Matrix> | 世界矩阵(可以设置为Identity以进入世界空间) |
view |
DeepImmutable<Matrix> | 视图矩阵 |
projection |
DeepImmutable<Matrix> | 投影矩阵 |