欧美日韩精品一区二区在线线,一级无码在线收看,精品国产高清91,久久精品欧美电影

# 相機

相機Camera是渲染系統(tǒng)最核心的組件之一,和幾乎所有的渲染引擎一樣,它真正驅(qū)動著整個渲染管線的運作。相機組件一般被代理到相機元素XRCamera中使用,其派生自XRNode,對應在xml中的標簽為xr-camera

相機組件也承載了一部分AR系統(tǒng)相關的能力,同時我們還提供了配套的相機控制器組件CameraOrbitControl來方便開發(fā)者進行相機控制。

# 相機元素

相機元素的一個典型使用方式如下:

<xr-node node-id="target" position="1 1 1" />
<xr-camera
  position="0 1 4" clear-color="0.4 0.6 0.7 1"
  background="skybox" target="target"
  camera-orbit-control=""
/>

這里面只列出了部分屬性,實際上屬性要多得多,下面就給大家一一舉例。

以下屬性均已組件數(shù)據(jù)駝峰命名給出,在元素中按照框架約定均轉成**小寫加-**的形式。

# 投影方式

首先是投影方式以及其相關的參數(shù),投影方式由isPerspective決定,聲明是否使用透視投影,目前默認即為透視投影,關于這兩者的區(qū)分開發(fā)者可以自行查閱。

無論是對于哪種投影類型,以下參數(shù)都是通用的:

  1. near:近裁剪平面,決定相機最近能看到多遠的物體。
  2. far:遠裁剪平面,決定相機最遠能看到多遠的物體。

在選擇了透視投影的模式下,有以下參數(shù)可供調(diào)整:

  1. fov:視場角,角度,默認為60。

在選擇了正交投影的情況下則有以下參數(shù):

  1. orthSize:相機可視范圍大小,是橫向的尺寸,縱向會根據(jù)aspect換算。

# 自定義矩陣

本質(zhì)上來講,投影方式和參數(shù)方式?jīng)Q定了投影矩陣,而相機所在元素掛載的transform組件則決定了視圖矩陣,這里不再贅述這種基本概念,一般來講都是框架自動計算的。但在某些高級需求,比如水面折射投影的渲染需求中,確實有可能要自己定制投影方式、甚至是定制視圖矩陣的計算。為了解決這種需求,框架提供了方案。

// 修改投影矩陣
camera.changeProjectMatrix(manual, matrix);

// 修改視圖矩陣
camera.changeViewMatrix(manual, matrix);

這兩個方法可以用于修改投影或者視圖矩陣,第一個參數(shù)manual用于控制開啟或者關閉手動模式,第二個參數(shù)即為要設置的矩陣值。

# 渲染目標和視圖

知道了要花那些物體、以及如何講這些物體投影到平面上,還需要知道將這些東西最終畫在什么上面,這就是渲染目標renderTarget

renderTarget可選值為空或者渲染紋理資源,如果為空則會渲染到主屏上,渲染紋理詳見對應的章節(jié)。

在渲染目標渲染前,我們需要先視情況將其清空,這主要由幾個參數(shù)決定:

  1. isClearColor/clearColor:設置是否要在繪制前清除渲染目標的顏色,以及要清除為怎樣的顏色。
  2. isClearDepth/clearDepth:設置是否要在繪制前清除渲染目標的深度,以及要清除為怎樣的深度。
  3. isClearStencil/clearStencil:設置是否要在繪制前清除渲染目標的模板值,以及要清除為怎樣的模板值。

# 背景

在清屏后我們可能需要為整個場景繪制一個背景,這時候便可以使用background數(shù)據(jù),其可選以下幾種類型:

  1. default:默認行為,只清屏,不繪制背景。
  2. skybox:繪制天空盒,依賴于環(huán)境數(shù)據(jù)Env。
  3. ar:當開啟了AR系統(tǒng)后,將會繪制設備攝像頭的內(nèi)容,詳見AR相關。

# 跟隨目標

框架默認集成了基本的了相機跟隨控制能力,只需要設置target即可,在xml中這是一個節(jié)點的node-id,本質(zhì)上就是一個transform組件。

指定了它之后,相機在移動時,的前向?qū)⑹冀K朝向target。

# 深度和掩碼

除了通過平截體剔除確定哪些物體要被渲染之外,還需要一種直接精確的剔除方案,這就是掩碼(cullMask)。這個實際上已經(jīng)在可見性與圖層中論述過。

除了單相機的渲染,很多時候會有很多個相機,它們之間也可能會有一定的順序,這時候就可以使用depth來調(diào)整這個順序,越大渲染順序越靠后。在同一depth下,以標簽編寫的前后順序為準。

# AR相關

在開啟了AR系統(tǒng)后,相機便可以使用AR相關的能力。

其一就是background指定為ar后,場景背景會繪制當前設備攝像機的畫面。

第二是isARCamera數(shù)據(jù),將其開啟后在某些AR系統(tǒng)的模式下將會自動設置視圖和透視矩陣,來匹配現(xiàn)實中設備攝像機的位置和視角。

非常需要注意,當開啟isARCamera并且AR系統(tǒng)為Plane或者Marker模式時,不能同時設置target數(shù)據(jù)?。。?/span>

# 后處理

數(shù)據(jù)postProcess用于指定相機需要用到的后處理資源數(shù)組,詳見后處理。

# 相機控制器

相機控制器組件提供了一個簡單的繞著相機target旋轉的控制方式,一般而言只需要在元素上添加camera-orbit-control屬性即可。當然相機控制器也提供了豐富的配置參數(shù),如果想要調(diào)節(jié)可見API文檔CameraOrbitControl。