Appearance
Camera (JavaScript)
Camera
Scripting Name:Insight.Camera
摄像机。
- _在 Web _SDK__中无效
Properties
aspect
type : number
(只读)透视投影的长宽比。
cameraToWorldMatrix
type : Insight.Matrix4x4
(只读)相机空间到世界空间的变换矩阵。
cullingMask
type :number
可见性掩码。
对于一个 GameObject,必须所有 mask 为 1 的位在 cullingMask 中也为 1 才是可见的。
例 1,mask=1111,cullingMask=1111,这个 GameObject 可见
例 2,mask=1111,cullingMask=1110,这个 GameObject 不可见
例 3,mask=0001,cullingMask=0011,这个 GameObject 可见
depth
type :number
(只读)该 Camera 组件的优先级信息。
渲染时所有的 Camera 按照 depth 值从小到大排序,depth 小的 Camera 将被优先渲染。
estimationSHIntensity
type :number
(只读,AR 独有)真实相机(手机摄像头)中环境球谐光照强度的估算值。调用一次 Tracking 类中的 EstimateIllumination()方法可使 estimationSHIntensity 更新。
farClipPlane
type :number
(只读)透视投影的远平面。
fieldOfView
type :number
(只读)透视投影的 Y 方向视场角。
nearClipPlane
type :number
(只读)透视投影的近平面。
orthographic
type :number
(只读)是否为正交投影(总是返回 false)。
pixelHeight
type :number
(只读)该 Camera 组件的视口高度,以像素为单位。
pixelRect
type :Insight.Vector4
(只读)该 Camera 组件的视口矩形,以像素为单位。其中坐标系以左下角为(0,0)点。
pixelWidth
type :number
(只读)该 Camera 组件的视口宽度,以像素为单位。
projectionMatrix
type :Insight.Matrix4x4
(只读)投影矩阵。
rect
type :Insight.Vector4
(只读)该 Camera 组件的视口矩形。视口坐标系左下角为(0,0),右上角为(1,1)。
worldToCameraMatrix
type :Insight.Matrix4x4
(只读)世界空间到相机空间的变换矩阵。
Methods
toString
public string toString();
将 camera 内容以一定格式转为 string 类型。
// sample:
var camera = Insight.GameObject.Find("Main Camera").getComponent("Camera", 0);Insight.Debug.Log(camera.toString());
getPostEffectMaterial
public Insight.Material getPostEffectMaterial( number index );
获得 PostEffect 的 Material 对象。
Parameters index : number 材质索引
screenPointToRay
public Insight.Ray screenPointToRay( Insight.Vector3 position );
返回一条从摄像机位置发出通过屏幕上一点的射线。
这条射线在世界空间中,起始于摄像机的近平面,通过屏幕上一点 position,像素坐标为(x, y),position 的 z 是被忽略的。
屏幕坐标系以左下角为(0,0),右上角为(pixelWidth-1,pixelHeight-1)。
Parameters position : Insight.Vector3 屏幕上点的坐标
screenToViewportPoint
public Insight.Vector3 screenToViewportPoint( Insight.Vector3 position );
将屏幕空间中一点转换到视口空间。
屏幕坐标系以左下角为(0,0),右上角为(pixelWidth-1,pixelHeight-1)。 视口坐标系左下角为(0,0),右上角为(1,1)。
Parameters position : Insight.Vector3 屏幕上点的坐标
screenToWorldPoint
public Insight.Vector3 screenToWorldPoint( Insight.Vector3 position );
将屏幕空间中一点转换到世界空间。
Parameters position : Insight.Vector3 屏幕上点的坐标,z 为世界空间中点到相机平面的距离。
viewportPointToRay
public Insight.Ray viewportPointToRay( Insight.Vector3 position );
返回一条从摄像机位置发出通过视口坐标系中一点的射线。
视口坐标系左下角为(0,0),右上角为(1,1)。
Parameters position : Insight.Vector3 视口坐标系中点的坐标
viewportToScreenPoint
public Insight.Vector3 viewportToScreenPoint( Insight.Vector3 position );
将视口空间中一点转换到屏幕空间。
屏幕坐标系以左下角为(0,0),右上角为(pixelWidth-1,pixelHeight-1)。 视口坐标系左下角为(0,0),右上角为(1,1)。
Parameters position : Insight.Vector3 视口坐标系中点的坐标
viewportToWorldPoint
public Insight.Vector3 viewportToWorldPoint( Insight.Vector3 position );
将视口空间中一点转换到世界空间。
视口坐标系左下角为(0,0),右上角为(1,1)。
Parameters position : Insight.Vector3 视口坐标系中点的坐标
worldToScreenPoint
public Insight.Vector3 worldToScreenPoint( Insight.Vector3 position );
将世界空间中一点转换到屏幕空间。
屏幕坐标系以左下角为(0,0),右上角为(pixelWidth-1,pixelHeight-1)。
Parameters position : Insight.Vector3 世界空间中点的坐标
save
public void save( string filename, int x, int y, int w, int h );
保存为图片。(SDK 专用)
图片不会立即保存,而是在 Render 之后保存,需要在下一帧才能拿到渲染完成的图片
如果在同一帧中多次调用,则只会保存一次,保存用到的参数为最后一次调用的参数
Parameters filename : 保存图片到名称 x : int 要截取的保存图片的左上角起始 x 坐标 y : int 要截取的保存图片的左上角起始 y 坐标 w : int 要保存图片的宽 h : int 要保存图片的高
calculateObliqueMatrix
public Insight.Matrix4x4 calculateObliqueMatrix( Insight.Vector4 plane );
计算斜近平面的投影矩阵
给定一个裁剪平面向量,此函数返回相机的投影矩阵,该投影矩阵将此裁剪平面设置为其近平面
Parameters plan : Insight.Vector4 裁剪平面
Inherited Properties(继承自 Component)
enabled
type : boolean
该组件是否是可用的。
gameObject
type : Insight.GameObject
(只读)该组件所依附的 GameObject。
isActiveAndEnabled
type : boolean
(只读)该组件是否可用,且其依附的 GameObject 是否是活跃状态。
name
type : string
(只读)所依附的 GameObject 的名称。
tag
type : string
(只读)所依附的 GameObject 的 Tag。
⚠️ 暂时未启用
transform
type : Insight.Transform
(只读)所依附的 GameObject 的 transform。