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