微信小程序

Camera

xr-frame / Exports / Camera

# Class: Camera

相机组件,一般被代理到XRCamera元素。

# Hierarchy

  • Component<ICameraData>

    Camera

# Table of contents

# Constructors

  • constructor

# Events

  • onAdd
  • onRelease
  • onRemove
  • onTick
  • onUpdate

# Properties

  • priority
  • schema
  • EVENTS

# Accessors

  • allowFeatures
  • background
  • bgStates
  • bgStatesClear
  • cullMask
  • depth
  • el
  • far
  • features
  • hdr
  • near
  • postProcess
  • scene
  • target
  • version

# Methods

  • changeProjectMatrix
  • changeViewMatrix
  • clearBackgroundRenderStates
  • convertClipPositionToWorld
  • convertWorldPositionToClip
  • getData
  • setBackgroundRenderStates
  • setData
  • setDataOne

# Constructors

# constructor

new Camera()

# Inherited from

Component.constructor

# Events

# onAdd

onAdd(parent, data): void

所挂载的element被挂载到场景时触发的回调。

# Parameters
Name Type
parent Element
data ICameraData
# Returns

void

# Inherited from

Component.onAdd

# onRelease

onRelease(data): void

从被挂载的element上被移除,或是element被销毁时,触发的回调。 一般用于释放持有的资源。

# Parameters
Name Type
data ICameraData
# Returns

void

# Inherited from

Component.onRelease

# onRemove

onRemove(parent, data): void

所挂载的element从父节点parent被移除时,或者自己从element上被移除时,触发的回调。 一般用于消除功能的运作。 如果一个组件的元素直接被销毁了,那这个组件就不会经历onRemove而是直接进入onRelease。

# Parameters
Name Type
parent Element
data ICameraData
# Returns

void

# Inherited from

Component.onRemove

# onTick

onTick(deltaTime, data): void

渲染每帧触发的回调。

# Parameters
Name Type Description
deltaTime number 单位为毫秒(ms)。
data ICameraData -
# Returns

void

# Inherited from

Component.onTick

# onUpdate

onUpdate(data, preData): void

数据更新时触发的回调。

# Parameters
Name Type
data ICameraData
preData ICameraData
# Returns

void

# Inherited from

Component.onUpdate

# Properties

# priority

Readonly priority: number = 200

自定义组件的更新优先级。

# Overrides

Component.priority

# schema

Readonly schema: IComponentSchema

详见CameraSchema。

# Overrides

Component.schema

# EVENTS

Static EVENTS: string[] = []

# Inherited from

Component.EVENTS

# Accessors

# allowFeatures

get allowFeatures(): string[]

# Returns

string[]

# background

get background(): TCameraBackground

# Returns

TCameraBackground

# bgStates

get bgStates(): Object

internal。

# Returns

Object

# bgStatesClear

get bgStatesClear(): boolean

internal。

# Returns

boolean

# cullMask

get cullMask(): number

# Returns

number

# depth

get depth(): number

相机深度。

# Returns

number

# el

get el(): Element

挂载的元素。

# Returns

Element

# far

get far(): number

# Returns

number

# features

get features(): Object

当前渲染特性集合。

# Returns

Object

# hdr

get hdr(): boolean

# Returns

boolean

# near

get near(): number

# Returns

number

# postProcess

get postProcess(): PostProcess[]

# Returns

PostProcess[]

# scene

get scene(): Scene

当前场景。

# Returns

Scene

# target

get target(): Transform

# Returns

Transform

# version

get version(): number

当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。

# Returns

number

# Methods

# changeProjectMatrix

changeProjectMatrix(manual, mat4?): void

修改projectMatrix的设置类型。

# Parameters
Name Type Description
manual boolean 是否要设置为手动模式。
mat4? Float32Array | Matrix4 手动模式下,要设置的值。
# Returns

void

# changeViewMatrix

changeViewMatrix(manual, mat4?): void

修改viewMatrix的设置类型。

# Parameters
Name Type Description
manual boolean 是否要设置为手动模式。
mat4? Float32Array | Matrix4 手动模式下,要设置的值。
# Returns

void

# clearBackgroundRenderStates

clearBackgroundRenderStates(): void

清空相机背景渲染状态。

# Returns

void

# convertClipPositionToWorld

convertClipPositionToWorld(clipPos, dst?): Vector3

将齐次裁剪空间转换到世界坐标系位置。

# Parameters
Name Type
clipPos Vector3
dst? Vector3
# Returns

Vector3

# convertWorldPositionToClip

convertWorldPositionToClip(worldPos, dst?): Vector3

将世界坐标系位置转换到齐次裁剪空间。

# Parameters
Name Type
worldPos Vector3
dst? Vector3
# Returns

Vector3

# getData

getData<T>(key): ICameraData[T]

获取一个当前值。

# Type parameters
Name Type
T extends keyof ICameraData
# Parameters
Name Type
key T
# Returns

ICameraData[T]

# Inherited from

Component.getData

# setBackgroundRenderStates

setBackgroundRenderStates(states): void

修改相机背景的渲染状态。

# Parameters
Name Type Description
states Object 同Material.setRenderStates
# Returns

void

# setData

setData(data): void

不通过xml而是直接设置data,注意值的类型需要和schema中一致。

# Parameters
Name Type
data Partial<ICameraData>
# Returns

void

# Inherited from

Component.setData

# setDataOne

setDataOne<T>(key, value): void

设置一个数据。

# Type parameters
Name Type
T extends keyof ICameraData
# Parameters
Name Type
key T
value ICameraData[T]
# Returns

void

# Inherited from

Component.setDataOne