Ray 射线

它被 Raycaster 用来检测鼠标是否选中了物体.

Attributes

origin : Vector3

Default value : new Vector3()
Description : 原点

direction : Vector3

Default value : new Vector3()
Description : 方向

Methods

set( origin, direction ) : this
origin Vector3 原点
direction Vector3 方向

设置射线的原点和方向.

at( t, target ) : target
t Float 射线中的一段距离
target Vector3 返回的计算结果

返回射线中的跟原点的距离为t的点.

lookAt( v ) : this
v Vector3 矢量

?调整光线的方向以指向世界坐标中的矢量.

recast( t ) : this
t Float 插值距离

将射线的原点沿其方向移动距离t.

closestPointToPoint( point, target ) : target
point Vector3
target Vector3 返回的计算结果

返回射线上与 point 距离的最近点.

distanceToPoint( point ) : Float
point Vector3

获取射线与点 point 的距离.

distanceSqToPoint( point ) : Float
point Vector3

获取射线与点 point 的距离的平方.

distanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) : Float
v0 Vector3 线段的起点
v1 Vector3 线段的终点
optionalPointOnRay Vector3 在射线上与线段最接近的点
optionalPointOnSegment Vector3 在线段中与射线最接近的点

获取射线与线段距离的平方.

intersectSphere( sphere, target ) : target
sphere Sphere 球体
target Vector3 返回的计算结果

返回射线与球体 sphere 的交点, 如果没有交点则返回null.

intersectsSphere( sphere ) : Boolean
sphere Sphere 球体

检测射线是否与球体 sphere 相交.

distanceToPlane( plane ) : Float
plane Plane 平面

返回从射线原点到平面 plane 的距离, 如果射线与平面不相交, 则返回 null.

intersectPlane( plane, target ) : target
plane Plane 平面
target Vector3 返回的计算结果

返回射线与平面 plane 的交点, 如果没有交点则返回null.

intersectsPlane( plane ) : Boolean
plane Plane 平面

检测射线是否与平面 Plane 相交.

intersectBox( box, target ) : target
box Box3 盒子
target Vector3 返回的计算结果

返回射线与盒子 box 的交点, 如果没有交点则返回null.

intersectsBox( box ) : Boolean
box Box3 盒子

检测射线是否与盒子 box 相交.

intersectTriangle( a, b, c, backfaceCulling, target ) : target
a, b, c Vector3 三角形的三个端点
backfaceCulling Boolean 是否使用背面剔除
target Vector3 返回的计算结果

返回射线与三角形的交点, 如果没有交点则返回null.

applyMatrix4( m ) : this
m Matrix4 四维矩阵

将矩阵变换应用于射线.

equals( ray ) : Boolean
ray Ray 射线

检验自身是否与 ray 相等.

clone( ) : Ray

复制自身.

copy( ray ) : this
ray Ray 射线

把一条射线赋值到自身.