Packagelaya.d3.core
Classpublic class Camera
InheritanceCamera Inheritance BaseCamera Inheritance Sprite3D Inheritance ComponentNode Inheritance Node Inheritance EventDispatcher Inheritance Object

Camera 类用于创建摄像机。



Public Properties
 PropertyDefined By
 Inheritedactive : Boolean
获取自身是否激活。
Sprite3D
 InheritedactiveInHierarchy : Boolean
[read-only] 获取在场景中是否激活。
Sprite3D
  aspectRatio : Number
获取横纵比。
Camera
  boundFrustum : BoundFrustum
[read-only] 获取摄像机视锥。
Camera
 InheritedclearColor : Vector4
摄像机的清除颜色。
BaseCamera
 InheritedclearFlag : int
清楚标记。
BaseCamera
 InheritedcomponentsCount : int
[read-only] 获得组件的数量。
Sprite3D
 InheritedcullingMask : int
可视遮罩图层。
BaseCamera
 Inheriteddestroyed : Boolean
[只读]是否已经销毁。对象销毁后不能再使用。
Node
 InheriteddisplayedInStage : Boolean
[read-only] 表示是否在显示列表中显示。
Node
 InheritedfarPlane : Number
获取远裁面。
BaseCamera
 InheritedfieldOfView : Number
获取视野。
BaseCamera
 Inheritedforward : Vector3
[read-only] 获取前向量。
BaseCamera
 Inheritedid : int
[read-only] 获取唯一标识ID。
Sprite3D
 InheritedisStatic : Boolean
是否静态,静态包含一系列的静态处理。
Sprite3D
 Inheritedlayer : Layer
获取蒙版。
Sprite3D
 Inheritedloaded : Boolean
[read-only] 获取是否已加载完成。
Sprite3D
 Inheritedname : String
节点名称。
Node
 InheritednearPlane : Number
获取近裁面。
BaseCamera
  needViewport : Boolean
[read-only]
Camera
  normalizedViewport : Viewport
获取裁剪空间的视口。
Camera
 InheritednumChildren : int
[read-only] 子对象数量。
Node
 Inheritedorthographic : Boolean
获取是否正交投影矩阵。
BaseCamera
 InheritedorthographicVerticalSize : Number
获取正交投影垂直矩阵尺寸。
BaseCamera
 Inheritedparent : Node
父节点。
Node
 Inheritedposition : Vector3
[read-only] 获取位置。
BaseCamera
  projectionMatrix : Matrix4x4
获取投影矩阵。
Camera
  projectionViewMatrix : Matrix4x4
[read-only] 获取视图投影矩阵。
Camera
 InheritedrenderingOrder : int
BaseCamera
 InheritedrenderTarget : RenderTexture
获取渲染场景的渲染目标。
BaseCamera
 InheritedrenderTargetSize : Size
获取渲染目标的尺寸
BaseCamera
 Inheritedright : Vector3
[read-only] 获取右向量。
BaseCamera
 Inheritedscene : Scene
[read-only] 获得所属场景。
Sprite3D
 Inheritedsky : Sky
获取天空。
BaseCamera
 Inheritedtimer : Timer
时间控制器,默认为Laya.timer。
Node
 Inheritedtransform : Transform3D
[read-only] 获取精灵变换。
Sprite3D
 Inheritedup : Vector3
[read-only] 获取上向量。
BaseCamera
 Inheritedurl : String
获取资源的URL地址。
Sprite3D
 InheriteduseOcclusionCulling : Boolean
渲染时是否用遮挡剔除。
BaseCamera
  viewMatrix : Matrix4x4
[read-only] 获取视图矩阵。
Camera
  viewport : Viewport
获取屏幕空间的视口。
Camera
Public Methods
 MethodDefined By
  
Camera(aspectRatio:Number = 0, nearPlane:Number = 0.3, farPlane:Number = 1000)
创建一个 Camera 实例。
Camera
 Inherited
_getSortID(renderElement:IRenderable, material:BaseMaterial):int
排序函数。
Sprite3D
  
[override]
Camera
 Inherited
通过RenderingOrder属性对摄像机机型排序。
BaseCamera
  
_update(state:RenderState):void
[override] 更新
Camera
 Inherited
更新
Sprite3D
 Inherited
增加所有图层。
BaseCamera
 Inherited
[override] 添加子节点。
Sprite3D
 Inherited
addChildAt(node:Node, index:int):Node
[override] 添加子节点到指定的索引位置。
Sprite3D
 Inherited
addChildren(... args):void
批量增加子节点
Node
 Inherited
添加指定类型组件。
Sprite3D
 Inherited
addLayer(layer:Layer):void
增加可视图层。
BaseCamera
 Inherited
clearTimer(caller:*, method:Function):void
清理定时器。功能同Laya.timer.clearTimer()。
Node
 Inherited
clone():*
克隆。
Sprite3D
 Inherited
cloneTo(destObject:*):void
克隆。
Sprite3D
 Inherited
contains(node:Node):Boolean
当前容器是否包含指定的 Node 节点对象 。
Node
  
转换2D屏幕坐标系统到3D正交投影下的坐标系统,注:只有正交模型下有效。
Camera
 Inherited
[override]
BaseCamera
 Inherited
destroy(destroyChild:Boolean = true):void
[override]
BaseCamera
 Inherited
销毁所有子对象,不销毁自己本身。
Node
 Inherited
event(type:String, data:* = null):Boolean
派发事件。
EventDispatcher
 Inherited
frameLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时重复执行某函数(基于帧率)。功能同Laya.timer.frameLoop()。
Node
 Inherited
frameOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行一次某函数(基于帧率)。功能同Laya.timer.frameOnce()。
Node
 Inherited
getChildAt(index:int):Node
根据子节点的索引位置,获取子节点对象。
Node
 Inherited
getChildByName(name:String):Node
根据子节点的名字,获取子节点对象。
Node
 Inherited
根据子节点对象,获取子节点的索引位置。
Node
 Inherited
通过指定索引获得组件。
Sprite3D
 Inherited
getComponentByType(type:*, typeIndex:int = 0):Component3D
通过指定类型和类型索引获得组件。
Sprite3D
 Inherited
getComponentsByType(type:*, components:Vector.<Component3D>):void
通过指定类型获得所有组件。
Sprite3D
 Inherited
获取投影视图世界矩阵。
Sprite3D
 Inherited
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
instantiate(original:Sprite3D, parent:Node = null, worldPositionStays:Boolean = true, position:Vector3 = null, rotation:Quaternion = null):Sprite3D
[static] 创建精灵的克隆实例。
Sprite3D
 Inherited
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
EventDispatcher
 Inherited
load(url:String):Sprite3D
[static] 加载网格模板,注意:不缓存。
Sprite3D
 Inherited
loadHierarchy(url:String):void
加载层级文件,并作为该节点的子节点。
Sprite3D
 Inherited
moveForward(distance:Number):void
向前移动。
BaseCamera
 Inherited
moveRight(distance:Number):void
向右移动。
BaseCamera
 Inherited
moveVertical(distance:Number):void
向上移动。
BaseCamera
  
计算从裁切空间生成的射线。
Camera
 Inherited
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
EventDispatcher
 Inherited
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
[override] 增加事件侦听器,以使侦听器能够接收事件通知。 如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
Node
 Inherited
onAsynLoaded(url:String, data:*, params:Array):void
private
Sprite3D
 Inherited
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
[override] 增加事件侦听器,以使侦听器能够接收事件通知,此侦听事件响应一次后则自动移除侦听。 如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
Node
 Inherited
移除全部组件。
Sprite3D
 Inherited
移除所有图层。
BaseCamera
 Inherited
删除子节点。
Node
 Inherited
removeChildAt(index:int):Node
[override] 根据子节点索引位置,删除对应的子节点对象。
Sprite3D
 Inherited
removeChildByName(name:String):Node
根据子节点名字删除对应的子节点对象,如果找不到不会抛出异常。
Node
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):Node
[override] 删除指定索引区间的所有子对象。
Sprite3D
 Inherited
removeComponentByType(type:*, typeIndex:int = 0):void
通过指定类型和类型索引移除组件。
Sprite3D
 Inherited
通过指定类型移除所有组件。
Sprite3D
 Inherited
removeLayer(layer:Layer):void
移除可视图层。
BaseCamera
 Inherited
从父容器删除自己,如已经被删除不会抛出异常。
Node
 Inherited
replaceChild(newNode:Node, oldNode:Node):Node
替换子节点。
Node
 Inherited
BaseCamera
 Inherited
setChildIndex(node:Node, index:int):Node
设置子节点的索引位置。
Node
 Inherited
timerLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true, jumpFrame:Boolean = false):void
定时重复执行某函数。功能同Laya.timer.timerLoop()。
Node
 Inherited
timerOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行某函数一次。功能同Laya.timer.timerOnce()。
Node
  
viewportPointToRay(point:Vector2, out:Ray):void
计算从屏幕空间生成的射线。
Camera
  
计算从世界空间准换三维坐标到裁切空间。
Camera
  
计算从世界空间准换三维坐标到屏幕空间。
Camera
Protected Methods
 MethodDefined By
 Inherited
[override]
BaseCamera
  
[override]
Camera
 Inherited
[override]
BaseCamera
  
_parseCustomProps(rootNode:ComponentNode, innerResouMap:Object, customProps:Object, json:Object):void
[override] private
Camera
 Inherited
更新子节点。
Sprite3D
 Inherited
更新子节点。
Sprite3D
Events
 Event Summary Defined By
 Inherited添加到父对象后调度。Node
 Inherited加入节点树时调度。Node
 Inherited被父对象移除后调度。Node
 Inherited从节点树移除时调度。Node
Public Constants
 ConstantDefined By
 InheritedCAMERADIRECTION : int = 5
[static]
BaseCamera
 InheritedCAMERAPOS : int = 0
[static]
BaseCamera
 InheritedCAMERAUP : int = 6
[static]
BaseCamera
 InheritedCLEARFLAG_DEPTHONLY : int = 2
[static] 清除标记,仅深度。
BaseCamera
 InheritedCLEARFLAG_NONE : int = 3
[static] 清除标记,不清除。
BaseCamera
 InheritedCLEARFLAG_SKY : int = 1
[static] 清除标记,天空。
BaseCamera
 InheritedCLEARFLAG_SOLIDCOLOR : int = 0
[static] 清除标记,固定颜色。
BaseCamera
 InheritedDIFFUSEIRRADMATB : int = 12
[static]
BaseCamera
 InheritedDIFFUSEIRRADMATG : int = 11
[static]
BaseCamera
 InheritedDIFFUSEIRRADMATR : int = 10
[static]
BaseCamera
 InheritedENVIRONMENTDIFFUSE : int = 7
[static]
BaseCamera
 InheritedENVIRONMENTSPECULAR : int = 8
[static]
BaseCamera
 InheritedHDREXPOSURE : int = 13
[static]
BaseCamera
 InheritedPROJECTMATRIX : int = 2
[static]
BaseCamera
 InheritedRENDERINGTYPE_DEFERREDLIGHTING : String = DEFERREDLIGHTING
[static] 渲染模式,延迟光照渲染,暂未开放。
BaseCamera
 InheritedRENDERINGTYPE_FORWARDRENDERING : String = FORWARDRENDERING
[static] 渲染模式,前向渲染。
BaseCamera
 InheritedSIMLODINFO : int = 9
[static]
BaseCamera
 InheritedVIEWMATRIX : int = 1
[static]
BaseCamera
 InheritedVPMATRIX : int = 3
[static]
BaseCamera
 InheritedVPMATRIX_NO_TRANSLATE : int = 4
[static]
BaseCamera
Property Detail
aspectRatioproperty
aspectRatio:Number

获取横纵比。


Implementation
    public function get aspectRatio():Number
    public function set aspectRatio(value:Number):void
boundFrustumproperty 
boundFrustum:BoundFrustum  [read-only]

获取摄像机视锥。


Implementation
    public function get boundFrustum():BoundFrustum
needViewportproperty 
needViewport:Boolean  [read-only]


Implementation
    public function get needViewport():Boolean
normalizedViewportproperty 
normalizedViewport:Viewport

获取裁剪空间的视口。


Implementation
    public function get normalizedViewport():Viewport
    public function set normalizedViewport(value:Viewport):void
projectionMatrixproperty 
projectionMatrix:Matrix4x4

获取投影矩阵。


Implementation
    public function get projectionMatrix():Matrix4x4
    public function set projectionMatrix(value:Matrix4x4):void
projectionViewMatrixproperty 
projectionViewMatrix:Matrix4x4  [read-only]

获取视图投影矩阵。


Implementation
    public function get projectionViewMatrix():Matrix4x4
viewMatrixproperty 
viewMatrix:Matrix4x4  [read-only]

获取视图矩阵。


Implementation
    public function get viewMatrix():Matrix4x4
viewportproperty 
viewport:Viewport

获取屏幕空间的视口。


Implementation
    public function get viewport():Viewport
    public function set viewport(value:Viewport):void
Constructor Detail
Camera()Constructor
public function Camera(aspectRatio:Number = 0, nearPlane:Number = 0.3, farPlane:Number = 1000)

创建一个 Camera 实例。

Parameters
aspectRatio:Number (default = 0) — 横纵比。
 
nearPlane:Number (default = 0.3) — 近裁面。
 
farPlane:Number (default = 1000) — 远裁面。
Method Detail
_calculateProjectionMatrix()method
override protected function _calculateProjectionMatrix():void

_parseCustomProps()method 
override protected function _parseCustomProps(rootNode:ComponentNode, innerResouMap:Object, customProps:Object, json:Object):void

private

Parameters

rootNode:ComponentNode
 
innerResouMap:Object
 
customProps:Object
 
json:Object

_renderCamera()method 
override public function _renderCamera(gl:WebGLContext, state:RenderState, scene:Scene):void

Parameters

gl:WebGLContext
 
state:RenderState
 
scene:Scene

_update()method 
override public function _update(state:RenderState):void

更新

Parameters

state:RenderState — 渲染相关状态

convertScreenCoordToOrthographicCoord()method 
public function convertScreenCoordToOrthographicCoord(source:Vector3, out:Vector3):Boolean

转换2D屏幕坐标系统到3D正交投影下的坐标系统,注:只有正交模型下有效。

Parameters

source:Vector3 — 源坐标。
 
out:Vector3 — 输出坐标。

Returns
Boolean — 是否转换成功。
normalizedViewportPointToRay()method 
public function normalizedViewportPointToRay(point:Vector2, out:Ray):void

计算从裁切空间生成的射线。

Parameters

point:Vector2 — 裁切空间的位置。。
 
out:Ray

viewportPointToRay()method 
public function viewportPointToRay(point:Vector2, out:Ray):void

计算从屏幕空间生成的射线。

Parameters

point:Vector2 — 屏幕空间的位置位置。
 
out:Ray

worldToNormalizedViewportPoint()method 
public function worldToNormalizedViewportPoint(position:Vector3, out:Vector3):void

计算从世界空间准换三维坐标到裁切空间。

Parameters

position:Vector3 — 世界空间的位置。
 
out:Vector3

worldToViewportPoint()method 
public function worldToViewportPoint(position:Vector3, out:Vector3):void

计算从世界空间准换三维坐标到屏幕空间。

Parameters

position:Vector3 — 世界空间的位置。
 
out:Vector3