Skip to content
本页内容

Class: Camera3D

Camera摄像机组件

Hierarchy

Properties

Accessors

Methods

Constructors

Properties

object3D

object3D: Object3D = null

此组件附加到的Object3D对象。

Inherited from

ComponentBase.object3D

Defined in

src/engine/components/ComponentBase.ts:14


serializeTag

Optional serializeTag: SerializeTag

Inherited from

ComponentBase.serializeTag

Defined in

src/engine/components/ComponentBase.ts:30


fov

fov: number = 1

透视度

Defined in

src/engine/core/Camera3D.ts:24


name

name: string

组件名称

Defined in

src/engine/core/Camera3D.ts:29


aspect

aspect: number = 1

视口比例

Defined in

src/engine/core/Camera3D.ts:34


near

near: number = 1

近截面

Defined in

src/engine/core/Camera3D.ts:39


far

far: number = 5000

远截面

Defined in

src/engine/core/Camera3D.ts:44


viewPort

viewPort: Rect

视口矩形

Defined in

src/engine/core/Camera3D.ts:48


frustum

frustum: Frustum

视锥体

Defined in

src/engine/core/Camera3D.ts:53


isShadowCamera

isShadowCamera: boolean = false

是否为 Shadow 渲染相机

Defined in

src/engine/core/Camera3D.ts:58


lookTarget

lookTarget: Vector3

相机朝向

Defined in

src/engine/core/Camera3D.ts:82


type

type: CameraType = CameraType.perspective

相机类型

Defined in

src/engine/core/Camera3D.ts:87


mainCamera

Static mainCamera: Camera3D

场景上的主相机

Defined in

src/engine/core/Camera3D.ts:96


tmp

tmp: Matrix4

Defined in

src/engine/core/Camera3D.ts:272


sampleIndex

sampleIndex: number = 0

Defined in

src/engine/core/Camera3D.ts:416

Accessors

transform

get transform(): Transform

附加到此 Object3D对象 的 Transform组件。

Returns

Transform

Inherited from

ComponentBase.transform

Defined in

src/engine/components/ComponentBase.ts:39


enable

get enable(): boolean

启用/禁用 组件。启用的组件可更新,禁用的组件不可更新。

Returns

boolean

Inherited from

ComponentBase.enable

Defined in

src/engine/components/ComponentBase.ts:62

set enable(value): void

Parameters

NameType
valueboolean

Returns

void

Inherited from

ComponentBase.enable

Defined in

src/engine/components/ComponentBase.ts:43


viewMatrix

get viewMatrix(): Matrix4

view 空间矩阵

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:183


shadowViewMatrix

get shadowViewMatrix(): Matrix4

view 空间矩阵

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:193


pvMatrix

get pvMatrix(): Matrix4

获取project投影矩阵。

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:258


pvMatrixInv

get pvMatrixInv(): Matrix4

获取project逆向投影矩阵。

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:266


pvMatrix2Inv

get pvMatrix2Inv(): Matrix4

获取project逆向投影矩阵。

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:277


projectionMatrixInv

get projectionMatrixInv(): Matrix4

获取投影逆矩阵

Returns

Matrix4

Defined in

src/engine/core/Camera3D.ts:287


jitterFrameIndex

get jitterFrameIndex(): number

Returns

number

Defined in

src/engine/core/Camera3D.ts:420


jitterX

get jitterX(): number

Returns

number

Defined in

src/engine/core/Camera3D.ts:424


jitterY

get jitterY(): number

Returns

number

Defined in

src/engine/core/Camera3D.ts:428

Methods

onVisible

onVisible(value): void

Parameters

NameType
valueboolean

Returns

void

Inherited from

ComponentBase.onVisible

Defined in

src/engine/components/ComponentBase.ts:66


cloneTo

cloneTo(obj): void

创建新的组件,复制当前组件的属性,并添加到目标对象上。

Parameters

NameTypeDescription
objObject3D源对象

Returns

void

Inherited from

ComponentBase.cloneTo

Defined in

src/engine/components/ComponentBase.ts:114


destroy

destroy(): void

移除组件时候调用

Returns

void

Inherited from

ComponentBase.destroy

Defined in

src/engine/components/ComponentBase.ts:119


onUpdate

onUpdate(call): void

添加更新函数。会在每帧更新时执行。

Parameters

NameTypeDescription
callFunction回调函数

Returns

void

Inherited from

ComponentBase.onUpdate

Defined in

src/engine/components/ComponentBase.ts:135


onLateUpdate

onLateUpdate(call): void

添加延迟更新函数。

Parameters

NameTypeDescription
callFunction回调函数

Returns

void

Inherited from

ComponentBase.onLateUpdate

Defined in

src/engine/components/ComponentBase.ts:148


onBeforeUpdate

onBeforeUpdate(call): void

添加帧更新前执行的函数。

Parameters

NameTypeDescription
callFunction回调函数

Returns

void

Inherited from

ComponentBase.onBeforeUpdate

Defined in

src/engine/components/ComponentBase.ts:161


perspective

perspective(fov, aspect, near, far): void

生成一个透视相机

Parameters

NameTypeDescription
fovnumber摄像机视锥体垂直视野角度
aspectnumber摄像机视锥体长宽比
nearnumber摄像机视锥体近端面
farnumber摄像机视锥体远端面

Returns

void

Defined in

src/engine/core/Camera3D.ts:131


ortho

ortho(width, height, znear, zfar): void

生成一个透视投影矩阵.

Parameters

NameTypeDescription
widthnumber屏幕的宽度。
heightnumber屏幕的高度.
znearnumber近裁剪面位置Z值.
zfarnumber远裁剪面位置Z值.

Returns

void

Defined in

src/engine/core/Camera3D.ts:148


orthoOffCenter

orthoOffCenter(l, r, b, t, zn, zf): void

生成一个透视投影矩阵.

Parameters

NameTypeDescription
lnumber观察时X轴最小值.
rnumber观察时X轴最大值.
bnumber观察时Y轴最小值。
tnumber观察时Y轴最大值.
znnumber近裁剪面位置Z值.
zfnumber远裁剪面位置Z值.

Returns

void

Defined in

src/engine/core/Camera3D.ts:165


orthoZo

orthoZo(l, r, b, t, zn, zf): void

Parameters

NameType
lnumber
rnumber
bnumber
tnumber
znnumber
zfnumber

Returns

void

Defined in

src/engine/core/Camera3D.ts:172


object3DToScreenRay

object3DToScreenRay(n, target?): Vector3

三维坐标转二维屏幕坐标

Parameters

NameTypeDefault valueDescription
nVector3undefined三维坐标
targetVector3null二维屏幕坐标 默认为null 为null会返回一个新的对象

Returns

Vector3

Defined in

src/engine/core/Camera3D.ts:215


ScreenRayToObject3D

ScreenRayToObject3D(n, target?): Vector3

二维屏幕坐标转三维坐标

Parameters

NameTypeDefault valueDescription
nVector3undefined二维屏幕坐标
targetVector3null三维坐标 默认为null 为null会返回一个新的对象

Returns

Vector3

Defined in

src/engine/core/Camera3D.ts:236


unproject

unproject(nX, nY, sZ, target?): Vector3

输入一个3D坐标点,获得投影后的坐标点。

Parameters

NameTypeDescription
nXnumber3D x坐标
nYnumber3D y坐标
sZnumber3D z坐标
target?Vector3投影后的坐标点,可为空

Returns

Vector3

投影后的坐标

Defined in

src/engine/core/Camera3D.ts:301


screenPointToRay

screenPointToRay(viewPortPosX, viewPortPosY): Ray

输入屏幕2D坐标,获取到从相机位置出发,经过该屏幕位置对应的3D位置的一条射线。

Parameters

NameTypeDescription
viewPortPosXnumber屏幕x坐标
viewPortPosYnumber屏幕y坐标

Returns

Ray

射线

Defined in

src/engine/core/Camera3D.ts:341


screenPointToWorld

screenPointToWorld(viewPortPosX, viewPortPosY, z): Vector3

屏幕坐标转换为世界坐标

Parameters

NameTypeDescription
viewPortPosXnumber屏幕x坐标
viewPortPosYnumber屏幕y坐标
znumber屏幕z坐标

Returns

Vector3

世界坐标

Defined in

src/engine/core/Camera3D.ts:362


worldToScreenPoint

worldToScreenPoint(point, target?): Vector3

世界坐标转换为屏幕坐标

Parameters

NameType
pointVector3
target?Vector3

Returns

Vector3

世界坐标

Defined in

src/engine/core/Camera3D.ts:374


lookAt

lookAt(pos, target, up?): void

当前对象对视位置 (全局) (修改的是自身的全局变换)

Parameters

NameTypeDefault valueDescription
posVector3undefined自身的位置 (全局)
targetVector3undefined目标的位置 (全局)
upVector3Vector3.Y_AXIS向上的方向

Returns

void

Defined in

src/engine/core/Camera3D.ts:386


enableJitterProjection

enableJitterProjection(value): void

Parameters

NameType
valueboolean

Returns

void

Defined in

src/engine/core/Camera3D.ts:432


getCastShadowLightSpaceMatrix

getCastShadowLightSpaceMatrix(shadowCamera, lightDir): void

Parameters

NameType
shadowCameraCamera3D
lightDirVector3

Returns

void

Defined in

src/engine/core/Camera3D.ts:489


getWorldDirection

getWorldDirection(target?): Vector3

Parameters

NameType
target?Vector3

Returns

Vector3

Defined in

src/engine/core/Camera3D.ts:551


serialization

serialization(assets): SerializeComponentBase

Parameters

NameType
assetsISerializeAssetsCollect

Returns

SerializeComponentBase

Overrides

ComponentBase.serialization

Defined in

src/engine/core/Camera3D.ts:558


unSerialization

unSerialization(componentData, data): void

Parameters

NameType
componentDataSerializeComponentBase
dataUnSerializeData

Returns

void

Overrides

ComponentBase.unSerialization

Defined in

src/engine/core/Camera3D.ts:576

Constructors

constructor

new Camera3D()

Overrides

ComponentBase.constructor

Defined in

src/engine/core/Camera3D.ts:98