@simversus/yjvis / cameras / Camera
Class: Camera
Defined in: cameras/Camera.ts:14
相机
Extends
Transform
Extended by
Constructors
Constructor
new Camera():
Camera
Defined in: cameras/Camera.ts:167
Returns
Camera
Overrides
Transform.constructor
Properties
_visible
_visible:
boolean=true
Defined in: core/Transform.ts:51
是否可见
Inherited from
aspect
aspect:
number=1
Defined in: cameras/Camera.ts:92
透视投影时的视图宽高比
bottom
bottom:
number=-1
Defined in: cameras/Camera.ts:100
正交投影下边界
castShadow
castShadow:
boolean=false
Defined in: core/Transform.ts:27
是否投射阴影
Inherited from
children
children:
Transform[] =[]
Defined in: core/Transform.ts:57
子节点
Inherited from
Transform.children
classHierarchy
classHierarchy:
ClassEnum[]
Defined in: core/baseObject.ts:19
继承链
Inherited from
Transform.classHierarchy
far
far:
number=1000
Defined in: cameras/Camera.ts:82
x轴视锥体远端面
fov
fov:
number=45
Defined in: cameras/Camera.ts:87
透视投影的视角
id
readonlyid:number
Defined in: core/Transform.ts:40
唯一序号
Inherited from
isPerspective
isPerspective:
boolean=true
Defined in: cameras/Camera.ts:110
是否为透视投影
label?
optionallabel:string
Defined in: core/baseObject.ts:27
自定义标识
Inherited from
Transform.label
layerMask
layerMask:
number=0
Defined in: core/Transform.ts:139
层级掩码,用于控制不同层级对象的可见性或交互
Inherited from
left
left:
number=-1
Defined in: cameras/Camera.ts:94
正交投影左边界
matrix
matrix:
Mat4
Defined in: core/Transform.ts:71
本地变换矩阵 (相对于父节点)
Inherited from
Transform.matrix
modelViewMatrix
modelViewMatrix:
Mat4
Defined in: core/Transform.ts:82
模型视图矩阵 (ModelMatrix * ViewMatrix) 用于着色器计算
Inherited from
near
near:
number=0.1
Defined in: cameras/Camera.ts:77
相机视锥体近端面
normalMatrix
normalMatrix:
Mat3
Defined in: core/Transform.ts:88
法线矩阵 (模型视图矩阵的逆转置矩阵的左上3x3部分) 用于变换法向量
Inherited from
occlusionTest
occlusionTest:
boolean=false
Defined in: core/Transform.ts:35
是否进行遮挡查询测试
Inherited from
onAfterRender()?
optionalonAfterRender: (node) =>void
Defined in: core/Transform.ts:134
渲染后的回调
Parameters
node
Transform
Returns
void
Inherited from
Transform.onAfterRender
onBeforeRender()?
optionalonBeforeRender: (node,scene?,camera?,geometry?,material?,group?) =>void
Defined in: core/Transform.ts:122
渲染前的回调
Parameters
node
any
scene?
Scene
camera?
Camera
geometry?
BufferGeometry
material?
NodeMaterial
group?
any
Returns
void
Inherited from
Transform.onBeforeRender
parent?
optionalparent:Transform
Defined in: core/Transform.ts:63
父节点
Inherited from
Transform.parent
position
position:
Vec3
Defined in: core/Transform.ts:100
位置
Inherited from
Transform.position
projectionMatrix
projectionMatrix:
Mat4
Defined in: cameras/Camera.ts:60
投影矩阵
projectionMatrixInverse
projectionMatrixInverse:
Mat4
Defined in: cameras/Camera.ts:64
投影矩阵的逆矩阵
quaternion
quaternion:
Quat
Defined in: core/Transform.ts:112
旋转
Inherited from
Transform.quaternion
receiveShadow
receiveShadow:
boolean=false
Defined in: core/Transform.ts:31
是否接收阴影
Inherited from
renderOrder
renderOrder:
number=0
Defined in: core/Transform.ts:45
渲染顺序
Inherited from
right
right:
number=1
Defined in: cameras/Camera.ts:96
正交投影右边界
rotation
rotation:
Euler
Defined in: core/Transform.ts:117
旋转信息的欧拉表达
Inherited from
Transform.rotation
scaling
scaling:
Vec3
Defined in: core/Transform.ts:106
缩放
Inherited from
Transform.scaling
top
top:
number=1
Defined in: cameras/Camera.ts:98
正交投影上边界
up
up:
Vec3
Defined in: core/Transform.ts:94
上方向
Inherited from
Transform.up
userData
userData:
object={}
Defined in: core/baseObject.ts:23
用户自定义数据
Inherited from
Transform.userData
uuid
uuid:
string
Defined in: core/baseObject.ts:15
唯一标识符
Inherited from
viewMatrix
viewMatrix:
Mat4
Defined in: cameras/Camera.ts:68
视图矩阵
VPmatrix
VPmatrix:
Mat4
Defined in: cameras/Camera.ts:72
投影视图矩阵
worldMatrix
worldMatrix:
Mat4
Defined in: core/Transform.ts:76
世界变换矩阵 (相对于世界坐标系)
Inherited from
Transform.worldMatrix
zoom
zoom:
number=1
Defined in: cameras/Camera.ts:105
平行投影时的缩放系数
Accessors
_renderSize
Get Signature
get _renderSize():
Number2
Defined in: cameras/Camera.ts:162
获取到渲染区域的大小,即偏移量
Returns
Number2
h
Get Signature
get h():
number
Defined in: cameras/Camera.ts:131
获取相机的高度 (正交投影)
Returns
number
Set Signature
set h(
value):void
Defined in: cameras/Camera.ts:138
设置相机的高度 (正交投影),会自动更新 top 和 bottom
Parameters
value
number
Returns
void
mtime
Get Signature
get mtime():
number
Defined in: core/baseObject.ts:56
获取对象的最后修改时间戳
Returns
number
Inherited from
parallelScale
Get Signature
get parallelScale():
number
Defined in: cameras/Camera.ts:147
平行投影下, 世界空间中的长度 / 视图中的长度
Returns
number
Set Signature
set parallelScale(
value):void
Defined in: cameras/Camera.ts:154
设置平行投影下, 世界空间中的长度 / 视图中的长度,会修改相机的zoom
Parameters
value
number
Returns
void
visible
Get Signature
get visible():
boolean
Defined in: core/Transform.ts:170
获取可见性状态
Returns
boolean
Set Signature
set visible(
value):void
Defined in: core/Transform.ts:177
设置可见性状态
Parameters
value
boolean
Returns
void
Inherited from
Transform.visible
w
Get Signature
get w():
number
Defined in: cameras/Camera.ts:115
获取相机的宽度 (正交投影)
Returns
number
Set Signature
set w(
value):void
Defined in: cameras/Camera.ts:122
设置相机的宽度 (正交投影),会自动更新 left 和 right
Parameters
value
number
Returns
void
Methods
add()
add(...
nodes):void
Defined in: core/Transform.ts:358
添加子节点 会自动将子节点从原来的父节点移除
Parameters
nodes
...Transform[]
要添加的子节点列表
Returns
void
Inherited from
Transform.add
addEventListener()
addEventListener(
type,cb):void
Defined in: core/baseObject.ts:105
添加事件监听器
Parameters
type
string
事件类型字符串
cb
Function
事件触发时的回调函数
Returns
void
Inherited from
Transform.addEventListener
changed()
changed():
void
Defined in: core/baseObject.ts:72
标记对象为已修改 更新修改时间戳并触发所有注册的变更回调
Returns
void
Inherited from
Transform.changed
clone()
clone():
this
Defined in: cameras/Camera.ts:288
克隆当前相机实例
Returns
this
返回克隆后的相机实例,类型为this
Overrides
Transform.clone
copy()
copy(
camera):Camera
Defined in: cameras/Camera.ts:268
复制另一个相机的属性
Parameters
camera
Camera
Returns
Camera
Overrides
Transform.copy
dispatchEvent()
dispatchEvent(
event):void
Defined in: core/baseObject.ts:126
分发事件 触发所有注册了该事件类型的监听器
Parameters
event
事件对象,包含 type 和可选的 data
data?
any
type
string
Returns
void
Inherited from
Transform.dispatchEvent
dispose()
dispose():
void
Defined in: core/baseObject.ts:80
销毁该对象 分发 dispose 事件,通知监听者对象即将被销毁
Returns
void
Inherited from
Transform.dispose
getRotation()
getRotation():
Number3
Defined in: core/Transform.ts:208
获取欧拉角旋转信息 (数组形式)
Returns
Number3
[x, y, z] 旋转角度数组
Inherited from
Transform.getRotation
getScalingForAdjustCamera()
getScalingForAdjustCamera(
worldPosition,maxSize,ratio,isMinSide):number
Defined in: cameras/Camera.ts:254
获取一个模型的缩放适应视图的缩放系数, ratio = model / view
Parameters
worldPosition
maxSize
number
ratio
number = 1
isMinSide
boolean = true
Returns
number
getWorldDirection()
getWorldDirection():
Vec3
Defined in: cameras/Camera.ts:176
获取世界空间下的朝向
Returns
Overrides
Transform.getWorldDirection
getZdepthAndZoomWhenMatchViewSize()
getZdepthAndZoomWhenMatchViewSize(
maxSizeOfModel,isMinSide):object
Defined in: cameras/Camera.ts:239
一个物体渲染最大边 等于 视图指定边 时的相机zdepth/zoom
Parameters
maxSizeOfModel
number
模型的最大边(作为宽边)
isMinSide
boolean = true
Returns
object
zdepth
zdepth:
number
zoom
zoom:
number
is()
is(
t):boolean
Defined in: core/baseObject.ts:65
检查对象是否属于指定的类类型
Parameters
t
ClassEnum
类类型枚举值
Returns
boolean
如果对象是该类型或继承自该类型,则返回 true
Inherited from
Transform.is
lookAt()
lookAt(
target):void
Defined in: core/Transform.ts:291
使节点看向指定目标点 (改变朝向)
Parameters
target
Vec3 = ...
目标点坐标 (Vec3)
Returns
void
Inherited from
Transform.lookAt
lookTo()
lookTo(
direction):void
Defined in: core/Transform.ts:304
使节点看向指定方向
Parameters
direction
方向向量 (Vec3)
Returns
void
Inherited from
Transform.lookTo
onChanged()
onChanged(
cb): () =>void
Defined in: core/baseObject.ts:90
注册对象变更回调 当对象发生改变(调用 changed 方法)时触发
Parameters
cb
Function
回调函数
Returns
取消注册该回调的函数
():
void
Returns
void
Inherited from
Transform.onChanged
project()
project(
v):Vec3
Defined in: cameras/Camera.ts:184
投影,世界坐标 -> ndc
Parameters
v
Returns
remove()
remove(...
nodes):void
Defined in: core/Transform.ts:372
移除子节点
Parameters
nodes
...Transform[]
要移除的子节点列表
Returns
void
Inherited from
Transform.remove
removeEventListener()
removeEventListener(
type,cb):void
Defined in: core/baseObject.ts:116
移除事件监听器
Parameters
type
string
事件类型字符串
cb
Function
要移除的回调函数
Returns
void
Inherited from
Transform.removeEventListener
rotate()
rotate(
param0):void
Defined in: core/Transform.ts:270
绕本地坐标系的 X, Y, Z 轴旋转及从欧拉角选择
Parameters
param0
包含 dx, dy, dz 的对象 (弧度)
dx?
number
dy?
number
dz?
number
Returns
void
Inherited from
Transform.rotate
rotateOnAxis()
rotateOnAxis(
axis,radian):void
Defined in: core/Transform.ts:251
绕本地坐标系的指定轴旋转
Parameters
axis
旋转轴 (Vec3)
radian
number
旋转角度 (弧度)
Returns
void
Inherited from
Transform.rotateOnAxis
rotateOnWorldAxis()
rotateOnWorldAxis(
axis,radian):void
Defined in: core/Transform.ts:261
绕世界坐标系的指定轴旋转
Parameters
axis
旋转轴 (Vec3)
radian
number
旋转角度 (弧度)
Returns
void
Inherited from
Transform.rotateOnWorldAxis
scale()
scale(
param0):void
Defined in: core/Transform.ts:280
缩放节点 (在现有缩放基础上累乘)
Parameters
param0
包含 dx, dy, dz 的对象
dx?
number
dy?
number
dz?
number
Returns
void
Inherited from
Transform.scale
setMatrix()
setMatrix(
m):void
Defined in: core/Transform.ts:190
设置节点的本地变换矩阵 会自动分解出 position, quaternion, scaling
Parameters
m
变换矩阵
Returns
void
Inherited from
Transform.setMatrix
setRotation()
setRotation(
x,y,z):void
Defined in: core/Transform.ts:218
设置旋转角度 (欧拉角)
Parameters
x
number
X轴旋转角度 (弧度),也可传入 Vec3
y
number = x
Y轴旋转角度 (弧度)
z
number = x
Z轴旋转角度 (弧度)
Returns
void
Inherited from
Transform.setRotation
toJSON()
toJSON():
object
Defined in: cameras/Camera.ts:292
序列化为 JSON 对象
Returns
object
包含位置、旋转和缩放的 JSON 对象
_parentClass
_parentClass:
any
aspect
aspect:
number
far
far:
number
fov
fov:
number
h
h:
number
isPerspective
isPerspective:
boolean
near
near:
number
up
up:
number[] |TypedArray
w
w:
number
zoom
zoom:
number
Overrides
Transform.toJSON
translate()
translate(
param0):void
Defined in: core/Transform.ts:240
沿本地坐标系的 X, Y, Z 轴平移
Parameters
param0
包含 dx, dy, dz 的对象
dx?
number
dy?
number
dz?
number
Returns
void
Inherited from
Transform.translate
translateOnAxis()
translateOnAxis(
axis,distance):Camera
Defined in: core/Transform.ts:230
沿指定轴平移节点 轴是在本地坐标系下指定的,但移动方向受当前旋转影响
Parameters
axis
移动轴 (Vec3)
distance
number
移动距离
Returns
Camera
this
Inherited from
Transform.translateOnAxis
traverse()
traverse(
cb):void
Defined in: core/Transform.ts:199
遍历场景树,对当前节点及所有后代节点执行回调
Parameters
cb
(node) => void
回调函数,接收当前正在处理的节点作为参数
Returns
void
Inherited from
Transform.traverse
unproject()
unproject(
v):Vec3
Defined in: cameras/Camera.ts:194
逆投影,ndc -> 世界坐标
Parameters
v
Returns
updateMatrix()
updateMatrix():
void
Defined in: core/Transform.ts:313
更新本地矩阵 根据当前的 position, quaternion, scaling 组合计算 matrix
Returns
void
Inherited from
Transform.updateMatrix
updateProjectionMC()
updateProjectionMC(
isPerspective?):void
Defined in: cameras/Camera.ts:213
更新投影矩阵
Parameters
isPerspective?
boolean
是否使用透视投影
Returns
void
updateWorldMatrix()
updateWorldMatrix(
updateParant,updateChildren):void
Defined in: cameras/Camera.ts:203
重载更新矩阵函数
Parameters
updateParant
boolean = false
updateChildren
boolean = true
Returns
void
Overrides
Transform.updateWorldMatrix
createOrthographicCamera()
staticcreateOrthographicCamera(left,right,top,bottom,near,far):Camera
Defined in: cameras/Camera.ts:24
创建正交相机
Parameters
left
number = -1
左边界
right
number = 1
右边界
top
number = 1
上边界
bottom
number = -1
下边界
near
number = 0.1
近裁剪面
far
number = 2000
远裁剪面
Returns
Camera
createPerspectiveCamera()
staticcreatePerspectiveCamera(fov,aspect,near,far):Camera
Defined in: cameras/Camera.ts:47
创建透视相机
Parameters
fov
number = 50
视场角 (Field of View)
aspect
number = 1
宽高比
near
number = 0.1
近裁剪面
far
number = 2000
远裁剪面
Returns
Camera
