Skip to content

@simversus/yjvis


@simversus/yjvis / math / Raycaster

Class: Raycaster ​

Defined in: math/Raycaster.ts:34

射线投射器,用于进行光线投射拾取

Constructors ​

Constructor ​

new Raycaster(origin?, direction?, near?, far?): Raycaster

Defined in: math/Raycaster.ts:45

构造函数

Parameters ​

origin? ​

Vec3

射线起点

direction? ​

Vec3

射线方向

near? ​

number = 0

近裁剪面距离

far? ​

number = Infinity

远裁剪面距离

Returns ​

Raycaster

Properties ​

camera ​

camera: Camera

Defined in: math/Raycaster.ts:35


far ​

far: number = Infinity

Defined in: math/Raycaster.ts:49

远裁剪面距离


near ​

near: number = 0

Defined in: math/Raycaster.ts:48

近裁剪面距离


ray ​

ray: Ray

Defined in: math/Raycaster.ts:36

Accessors ​

_direction ​

Get Signature ​

get _direction(): Vec3

Defined in: math/Raycaster.ts:58

Returns ​

Vec3


_origin ​

Get Signature ​

get _origin(): Vec3

Defined in: math/Raycaster.ts:54

Returns ​

Vec3

Methods ​

intersectBox() ​

intersectBox(box, worldMatrix?): IntersectResult

Defined in: math/Raycaster.ts:158

检测射线与包围盒的相交情况

Parameters ​

box ​

Box

目标包围盒

worldMatrix? ​

Mat4

可选的包围盒世界变换矩阵。如果提供,射线会被变换到包围盒的局部空间进行检测。

Returns ​

IntersectResult

相交结果,如果不相交则返回 undefined


intersectModels() ​

intersectModels(models): IntersectResult[]

Defined in: math/Raycaster.ts:115

检测射线与一组模型的相交情况

Parameters ​

models ​

单个模型或模型数组

Model | Model[]

Returns ​

IntersectResult[]

按距离排序的相交结果数组


intersectPlane() ​

intersectPlane(plane): IntersectResult

Defined in: math/Raycaster.ts:136

检测射线与平面的相交情况

Parameters ​

plane ​

Plane

目标平面

Returns ​

IntersectResult

相交结果,如果不相交则返回 undefined


set() ​

set(origin, direction): void

Defined in: math/Raycaster.ts:67

设置射线起点和方向

Parameters ​

origin ​

Vec3

起点

direction ​

Vec3

方向(应已归一化)

Returns ​

void


setFromCamera() ​

setFromCamera(ndc2D, camera): void

Defined in: math/Raycaster.ts:77

根据相机和屏幕坐标设置射线

Parameters ​

ndc2D ​

number[]

归一化设备坐标 [x, y],范围 [-1, 1]

camera ​

Camera

相机对象

Returns ​

void