Class: Camera3D
Camera摄像机组件
Hierarchy
↳
Camera3D
Properties
- object3D
- serializeTag
- fov
- name
- aspect
- near
- far
- viewPort
- frustum
- isShadowCamera
- lookTarget
- type
- mainCamera
- tmp
- sampleIndex
Accessors
- transform
- enable
- viewMatrix
- shadowViewMatrix
- pvMatrix
- pvMatrixInv
- pvMatrix2Inv
- projectionMatrixInv
- jitterFrameIndex
- jitterX
- jitterY
Methods
- onVisible
- cloneTo
- destroy
- onUpdate
- onLateUpdate
- onBeforeUpdate
- perspective
- ortho
- orthoOffCenter
- orthoZo
- object3DToScreenRay
- ScreenRayToObject3D
- unproject
- screenPointToRay
- screenPointToWorld
- worldToScreenPoint
- lookAt
- enableJitterProjection
- getCastShadowLightSpaceMatrix
- getWorldDirection
- serialization
- unSerialization
Constructors
Properties
object3D
• object3D: Object3D
= null
此组件附加到的Object3D对象。
Inherited from
Defined in
src/engine/components/ComponentBase.ts:14
serializeTag
• Optional
serializeTag: SerializeTag
Inherited from
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
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
Name | Type |
---|---|
value | boolean |
Returns
void
Inherited from
ComponentBase.enable
Defined in
src/engine/components/ComponentBase.ts:43
viewMatrix
• get
viewMatrix(): Matrix4
view 空间矩阵
Returns
Defined in
src/engine/core/Camera3D.ts:183
shadowViewMatrix
• get
shadowViewMatrix(): Matrix4
view 空间矩阵
Returns
Defined in
src/engine/core/Camera3D.ts:193
pvMatrix
• get
pvMatrix(): Matrix4
获取project投影矩阵。
Returns
Defined in
src/engine/core/Camera3D.ts:258
pvMatrixInv
• get
pvMatrixInv(): Matrix4
获取project逆向投影矩阵。
Returns
Defined in
src/engine/core/Camera3D.ts:266
pvMatrix2Inv
• get
pvMatrix2Inv(): Matrix4
获取project逆向投影矩阵。
Returns
Defined in
src/engine/core/Camera3D.ts:277
projectionMatrixInv
• get
projectionMatrixInv(): Matrix4
获取投影逆矩阵
Returns
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
Name | Type |
---|---|
value | boolean |
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:66
cloneTo
▸ cloneTo(obj
): void
创建新的组件,复制当前组件的属性,并添加到目标对象上。
Parameters
Name | Type | Description |
---|---|---|
obj | Object3D | 源对象 |
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:114
destroy
▸ destroy(): void
移除组件时候调用
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:119
onUpdate
▸ onUpdate(call
): void
添加更新函数。会在每帧更新时执行。
Parameters
Name | Type | Description |
---|---|---|
call | Function | 回调函数 |
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:135
onLateUpdate
▸ onLateUpdate(call
): void
添加延迟更新函数。
Parameters
Name | Type | Description |
---|---|---|
call | Function | 回调函数 |
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:148
onBeforeUpdate
▸ onBeforeUpdate(call
): void
添加帧更新前执行的函数。
Parameters
Name | Type | Description |
---|---|---|
call | Function | 回调函数 |
Returns
void
Inherited from
Defined in
src/engine/components/ComponentBase.ts:161
perspective
▸ perspective(fov
, aspect
, near
, far
): void
生成一个透视相机
Parameters
Name | Type | Description |
---|---|---|
fov | number | 摄像机视锥体垂直视野角度 |
aspect | number | 摄像机视锥体长宽比 |
near | number | 摄像机视锥体近端面 |
far | number | 摄像机视锥体远端面 |
Returns
void
Defined in
src/engine/core/Camera3D.ts:131
ortho
▸ ortho(width
, height
, znear
, zfar
): void
生成一个透视投影矩阵.
Parameters
Name | Type | Description |
---|---|---|
width | number | 屏幕的宽度。 |
height | number | 屏幕的高度. |
znear | number | 近裁剪面位置Z值. |
zfar | number | 远裁剪面位置Z值. |
Returns
void
Defined in
src/engine/core/Camera3D.ts:148
orthoOffCenter
▸ orthoOffCenter(l
, r
, b
, t
, zn
, zf
): void
生成一个透视投影矩阵.
Parameters
Name | Type | Description |
---|---|---|
l | number | 观察时X轴最小值. |
r | number | 观察时X轴最大值. |
b | number | 观察时Y轴最小值。 |
t | number | 观察时Y轴最大值. |
zn | number | 近裁剪面位置Z值. |
zf | number | 远裁剪面位置Z值. |
Returns
void
Defined in
src/engine/core/Camera3D.ts:165
orthoZo
▸ orthoZo(l
, r
, b
, t
, zn
, zf
): void
Parameters
Name | Type |
---|---|
l | number |
r | number |
b | number |
t | number |
zn | number |
zf | number |
Returns
void
Defined in
src/engine/core/Camera3D.ts:172
object3DToScreenRay
▸ object3DToScreenRay(n
, target?
): Vector3
三维坐标转二维屏幕坐标
Parameters
Name | Type | Default value | Description |
---|---|---|---|
n | Vector3 | undefined | 三维坐标 |
target | Vector3 | null | 二维屏幕坐标 默认为null 为null会返回一个新的对象 |
Returns
Defined in
src/engine/core/Camera3D.ts:215
ScreenRayToObject3D
▸ ScreenRayToObject3D(n
, target?
): Vector3
二维屏幕坐标转三维坐标
Parameters
Name | Type | Default value | Description |
---|---|---|---|
n | Vector3 | undefined | 二维屏幕坐标 |
target | Vector3 | null | 三维坐标 默认为null 为null会返回一个新的对象 |
Returns
Defined in
src/engine/core/Camera3D.ts:236
unproject
▸ unproject(nX
, nY
, sZ
, target?
): Vector3
输入一个3D坐标点,获得投影后的坐标点。
Parameters
Name | Type | Description |
---|---|---|
nX | number | 3D x坐标 |
nY | number | 3D y坐标 |
sZ | number | 3D z坐标 |
target? | Vector3 | 投影后的坐标点,可为空 |
Returns
投影后的坐标
Defined in
src/engine/core/Camera3D.ts:301
screenPointToRay
▸ screenPointToRay(viewPortPosX
, viewPortPosY
): Ray
输入屏幕2D坐标,获取到从相机位置出发,经过该屏幕位置对应的3D位置的一条射线。
Parameters
Name | Type | Description |
---|---|---|
viewPortPosX | number | 屏幕x坐标 |
viewPortPosY | number | 屏幕y坐标 |
Returns
射线
Defined in
src/engine/core/Camera3D.ts:341
screenPointToWorld
▸ screenPointToWorld(viewPortPosX
, viewPortPosY
, z
): Vector3
屏幕坐标转换为世界坐标
Parameters
Name | Type | Description |
---|---|---|
viewPortPosX | number | 屏幕x坐标 |
viewPortPosY | number | 屏幕y坐标 |
z | number | 屏幕z坐标 |
Returns
世界坐标
Defined in
src/engine/core/Camera3D.ts:362
worldToScreenPoint
▸ worldToScreenPoint(point
, target?
): Vector3
世界坐标转换为屏幕坐标
Parameters
Name | Type |
---|---|
point | Vector3 |
target? | Vector3 |
Returns
世界坐标
Defined in
src/engine/core/Camera3D.ts:374
lookAt
▸ lookAt(pos
, target
, up?
): void
当前对象对视位置 (全局) (修改的是自身的全局变换)
Parameters
Name | Type | Default value | Description |
---|---|---|---|
pos | Vector3 | undefined | 自身的位置 (全局) |
target | Vector3 | undefined | 目标的位置 (全局) |
up | Vector3 | Vector3.Y_AXIS | 向上的方向 |
Returns
void
Defined in
src/engine/core/Camera3D.ts:386
enableJitterProjection
▸ enableJitterProjection(value
): void
Parameters
Name | Type |
---|---|
value | boolean |
Returns
void
Defined in
src/engine/core/Camera3D.ts:432
getCastShadowLightSpaceMatrix
▸ getCastShadowLightSpaceMatrix(shadowCamera
, lightDir
): void
Parameters
Name | Type |
---|---|
shadowCamera | Camera3D |
lightDir | Vector3 |
Returns
void
Defined in
src/engine/core/Camera3D.ts:489
getWorldDirection
▸ getWorldDirection(target?
): Vector3
Parameters
Name | Type |
---|---|
target? | Vector3 |
Returns
Defined in
src/engine/core/Camera3D.ts:551
serialization
▸ serialization(assets
): SerializeComponentBase
Parameters
Name | Type |
---|---|
assets | ISerializeAssetsCollect |
Returns
Overrides
Defined in
src/engine/core/Camera3D.ts:558
unSerialization
▸ unSerialization(componentData
, data
): void
Parameters
Name | Type |
---|---|
componentData | SerializeComponentBase |
data | UnSerializeData |
Returns
void
Overrides
Defined in
src/engine/core/Camera3D.ts:576
Constructors
constructor
• new Camera3D()