Skip to content

@simversus/yjvisDocs


@simversus/yjvis / Camera

Class: Camera

相机

Extends

Constructors

new Camera()

new Camera(): Camera

Returns

Camera

Overrides

Node.constructor

Defined in

scene/Camera.ts:76

Properties

VPmatrix

VPmatrix: Mat4

投影视图矩阵

Defined in

scene/Camera.ts:37


aspect

aspect: number = 1

透视投影时的视图宽高比

Defined in

scene/Camera.ts:57


children

children: Node[] = []

子节点

Inherited from

Node.children

Defined in

scene/Node.ts:44


classHierarchy

classHierarchy: ClassEnum[]

Deprecated

Inherited from

Node.classHierarchy

Defined in

core/baseObject.ts:96


far

far: number = 1000

x轴视锥体远端面

Defined in

scene/Camera.ts:47


fov

fov: number = 45

透视投影的视角

Defined in

scene/Camera.ts:52


h

h: number = 1

平行投影时的投影高度

Defined in

scene/Camera.ts:67


label

label: string

自定义标识

Inherited from

Node.label

Defined in

core/baseObject.ts:104


layerMask

layerMask: number = 0

层级

Inherited from

Node.layerMask

Defined in

scene/Node.ts:93


matrix

matrix: Mat4

本地矩阵

Inherited from

Node.matrix

Defined in

scene/Node.ts:53


near

near: number = 0.1

相机视锥体近端面

Defined in

scene/Camera.ts:42


onAfterRender()

onAfterRender: (node) => void

渲染后的回调

Parameters

node: Node

Returns

void

Inherited from

Node.onAfterRender

Defined in

scene/Node.ts:89


onBeforeRender()

onBeforeRender: (node) => void

渲染前的回调

Parameters

node: Node

Returns

void

Inherited from

Node.onBeforeRender

Defined in

scene/Node.ts:85


parent?

optional parent: Node

父节点

Inherited from

Node.parent

Defined in

scene/Node.ts:49


position

position: Vec3

位置

Inherited from

Node.position

Defined in

scene/Node.ts:67


projectionMatrix

projectionMatrix: Mat4

投影矩阵

Defined in

scene/Camera.ts:29


quaternion

quaternion: Quat

旋转

Inherited from

Node.quaternion

Defined in

scene/Node.ts:77


scaling

scaling: Vec3

缩放

Inherited from

Node.scaling

Defined in

scene/Node.ts:72


up

up: Vec3

上方向

Inherited from

Node.up

Defined in

scene/Node.ts:62


userData

userData: any

用户自定义数据

Inherited from

Node.userData

Defined in

core/baseObject.ts:100


uuid

uuid: number

唯一标识符

Inherited from

Node.uuid

Defined in

core/baseObject.ts:92


viewMatrix

viewMatrix: Mat4

视图矩阵

Defined in

scene/Camera.ts:33


visible

visible: boolean = true

是否可见

Inherited from

Node.visible

Defined in

scene/Node.ts:39


w

w: number = 1

平行投影时的投影宽度

Defined in

scene/Camera.ts:62


worldMatrix

worldMatrix: Mat4

世界矩阵

Inherited from

Node.worldMatrix

Defined in

scene/Node.ts:57


zoom

zoom: number = 1

平行投影时的缩放系数

Defined in

scene/Camera.ts:72

Accessors

isPerspective

get isPerspective(): boolean

是否使用透视投影

set isPerspective(value): void

是否使用透视投影

Parameters

value: boolean

Returns

boolean

Defined in

scene/Camera.ts:85


minViewSize

set minViewSize(size): void

平行投影下,设置视口的最小边大小,重新计算视图w/h

Parameters

size: number

Defined in

scene/Camera.ts:100


mtime

get mtime(): number

Returns

number

Inherited from

Node.mtime

Defined in

core/baseObject.ts:118


parallelScale

get parallelScale(): number

平行投影下, 世界空间中的长度 / 视图中的长度

set parallelScale(value): void

设置平行投影下, 世界空间中的长度 / 视图中的长度,会修改相机的zoom

Parameters

value: number

Returns

number

Defined in

scene/Camera.ts:114

Methods

add()

add(...nodes): void

添加子节点

Parameters

• ...nodes: Node[]

Returns

void

Inherited from

Node.add

Defined in

scene/Node.ts:276


changed()

changed(): void

标记对象为已修改

Returns

void

Inherited from

Node.changed

Defined in

core/baseObject.ts:128


getRootNode()

getRootNode(): Node

Internal

获取根节点

Returns

Node

Inherited from

Node.getRootNode

Defined in

scene/Node.ts:303


getRotation()

getRotation(): Number3

获取旋转信息

Returns

Number3

Inherited from

Node.getRotation

Defined in

scene/Node.ts:132


getScalingForAdjustCamera()

getScalingForAdjustCamera(worldPosition, maxSize, ratio, isMinSide): number

获取一个模型的缩放适应视图的缩放系数, ratio = model / view

Parameters

worldPosition: Vec3

maxSize: number

ratio: number = 1

isMinSide: boolean = true

Returns

number

Defined in

scene/Camera.ts:251


getWorldDirection()

getWorldDirection(): Vec3

获取世界空间下的朝向

Returns

Vec3

Overrides

Node.getWorldDirection

Defined in

scene/Camera.ts:140


getZdepthAndZoomWhenMatchViewSize()

getZdepthAndZoomWhenMatchViewSize(maxSizeOfModel, isMinSide): object

一个物体渲染最大边 等于 视图指定边 时的相机zdepth/zoom

Parameters

maxSizeOfModel: number

isMinSide: boolean = true

Returns

object

zdepth

zdepth: number

zoom

zoom: number

Defined in

scene/Camera.ts:238


is()

is(t): boolean

Parameters

t: ClassEnum

Returns

boolean

Inherited from

Node.is

Defined in

core/baseObject.ts:122


lookAt()

lookAt(target): void

看向某个点

Parameters

target: Vec3 = ...

Returns

void

Inherited from

Node.lookAt

Defined in

scene/Node.ts:208


lookTo()

lookTo(direction): void

看向某个方向

Parameters

direction: Vec3

Returns

void

Inherited from

Node.lookTo

Defined in

scene/Node.ts:220


pixelToWorld()

pixelToWorld(v): Vec3

像素坐标到世界坐标,ndc的z为0

Parameters

v: Number2

Returns

Vec3

Defined in

scene/Camera.ts:188


project()

project(v): Vec3

投影,世界坐标 -> ndc

Parameters

v: Vec3

Returns

Vec3

Defined in

scene/Camera.ts:148


release()

release(): void

销毁该对象

Returns

void

Inherited from

Node.release

Defined in

core/baseObject.ts:134


remove()

remove(...nodes): void

移除子节点

Parameters

• ...nodes: Node[]

Returns

void

Inherited from

Node.remove

Defined in

scene/Node.ts:290


resize()

resize(w, h): void

窗口变化时,重新设置相机参数,平行投影时,改变相机的w/aspect

Parameters

w: number = ...

渲染窗口宽度

h: number = ...

渲染窗口高度

Returns

void

Defined in

scene/Camera.ts:131


rotate()

rotate(__namedParameters): void

绕自身坐标系xyz轴旋转指定弧度

Parameters

__namedParameters

__namedParameters.dx?: number

__namedParameters.dy?: number

__namedParameters.dz?: number

Returns

void

Inherited from

Node.rotate

Defined in

scene/Node.ts:189


rotateOnAxis()

rotateOnAxis(axis, radian): void

绕指定轴旋转

Parameters

axis: Vec3

radian: number

Returns

void

Inherited from

Node.rotateOnAxis

Defined in

scene/Node.ts:173


rotateOnWorldAxis()

rotateOnWorldAxis(axis, radian): void

绕世界坐标系指定轴旋转

Parameters

axis: Vec3

radian: number

Returns

void

Inherited from

Node.rotateOnWorldAxis

Defined in

scene/Node.ts:181


scale()

scale(__namedParameters): void

缩放节点

Parameters

__namedParameters

__namedParameters.dx?: number

__namedParameters.dy?: number

__namedParameters.dz?: number

Returns

void

Inherited from

Node.scale

Defined in

scene/Node.ts:198


setMatrix()

setMatrix(m): void

设置模型的矩阵

Parameters

m: Mat4

Returns

void

Inherited from

Node.setMatrix

Defined in

scene/Node.ts:114


setRotation()

setRotation(x, y, z): void

设置旋转

Parameters

x: number

y: number = x

z: number = x

Returns

void

Inherited from

Node.setRotation

Defined in

scene/Node.ts:142


translate()

translate(param0): void

延xyz轴移动

Parameters

param0

param0.dx?: number

param0.dy?: number

param0.dz?: number

Returns

void

Inherited from

Node.translate

Defined in

scene/Node.ts:162


translateOnAxis()

translateOnAxis(axis, distance): Camera

延指定轴移动

Parameters

axis: Vec3

distance: number

Returns

Camera

Inherited from

Node.translateOnAxis

Defined in

scene/Node.ts:152


traverse()

traverse(cb): void

遍历执行

Parameters

cb

Returns

void

Inherited from

Node.traverse

Defined in

scene/Node.ts:123


unproject()

unproject(v): Vec3

逆投影,ndc -> 世界坐标

Parameters

v: Vec3

Returns

Vec3

Defined in

scene/Camera.ts:158


updateMatrix()

updateMatrix(): void

更新本地矩阵

Returns

void

Inherited from

Node.updateMatrix

Defined in

scene/Node.ts:228


updateProjectionMC()

updateProjectionMC(isPerspective?): void

更新投影矩阵

Parameters

isPerspective?: boolean

是否使用透视投影

Returns

void

Defined in

scene/Camera.ts:208


updateWorldMatrix()

updateWorldMatrix(updateParant, updateChildren): void

重载更新矩阵函数

Parameters

updateParant: boolean = false

updateChildren: boolean = true

Returns

void

Overrides

Node.updateWorldMatrix

Defined in

scene/Camera.ts:197


worldToPixel()

worldToPixel(v): Number2

世界坐标到像素坐标

Parameters

v: Vec3

Returns

Number2

Defined in

scene/Camera.ts:178


worldToScreen()

worldToScreen(v): object

世界坐标到css坐标,左上角为原点

Parameters

v: Vec3

Returns

object

left

left: number

top

top: number

Defined in

scene/Camera.ts:167