合成層組件

交互預制件包含一個(gè) Gaze 指針預制件,它利用(yòng)合成層來(lái)渲染内容。

 

Gaze 指針

Gaze 指針由以下(xià)遊戲對(duì)象組成:

 

圖片34.png


XR Gaze Interactor 遊戲對(duì)象有一個(gè) Spaces 合成層組件。這(zhè)個(gè)組件創建了(le)一個(gè)四邊形層,用(yòng)來(lái)顯示視圖鎖定的(de)内容。結合 UI Overlay Camera 遊戲對(duì)象,這(zhè)種方式渲染的(de) Gaze 指針 UI 元素可(kě)以提高(gāo)指針的(de)穩定性和(hé)清晰度,但會犧牲一些性能。


支持的(de)渲染器

Spaces 合成層組件僅在使用(yòng) OpenGLES3 作爲圖形 API 時(shí)受支持,不支持 Vulkan。當前選擇的(de)圖形 API 可(kě)以在Project Settings > Player > Other Settings > Rendering > Graphics APIs中查看。


圖片35.png


圖層渲染

● 層紋理(lǐ):渲染到視圖鎖定四邊形層的(de)渲染紋理(lǐ)。

● 紋理(lǐ)是否動态:紋理(lǐ)會在每一幀更新。

 

層定位

● 使用(yòng)Transform:如果選中,層将使用(yòng)該對(duì)象的(de)變換組件來(lái)确定其位置和(hé)方向。四邊形層會忽略大(dà)小設置,而使用(yòng) Transform.localScale。

● 方向:四邊形層相對(duì)于主相機視圖的(de)方向。四邊形層隻有正面,背對(duì)主相機時(shí)将不可(kě)見。

● 排序順序:四邊形層的(de)渲染順序。數字越小,層越低。參見排序順序。

 

層數據

● 大(dà)小:僅對(duì)四邊形層有效,表示四邊形層渲染的(de)大(dà)小(以米爲單位)。

 

示例配置

在 Snapdragon Spaces SDK 示例中,視圖鎖定 Gaze 指針的(de)配置如下(xià):

 

● Spaces 合成層 由一個(gè) 10 厘米 x 10 厘米的(de)四邊形層組成,放置在距離主相機 2 米的(de)位置。

● 它将 UI Overlay 渲染紋理(lǐ)的(de)内容繪制到該四邊形中。

● 該圖像的(de)内容由 UI Overlay Camera 在其目标紋理(lǐ)字段中捕獲。

● 該相機使用(yòng)剔除掩碼僅捕獲 UI Overlay 層的(de)内容。

● UI Overlay 層中唯一的(de)元素是 Reticle Canvas 遊戲對(duì)象及其子對(duì)象。

● Reticle Canvas 的(de)渲染相機屬性設置爲 UI Overlay Camera。

 

Spaces 合成層 組件可(kě)以根據需要配置爲靜态或動态紋理(lǐ)。啓用(yòng)或禁用(yòng)組件将隐藏或顯示它們渲染的(de)内容。

 

層特定數據

除了(le)層渲染和(hé)層定位字段外,每個(gè)合成層還(hái)有其獨特的(de)層數據。

 

圓柱體


圖片36.png


● 圓柱半徑:層的(de)非負半徑。半徑爲零或 float.PositiveInfinity 被視爲具有無限半徑的(de)層。具有無限半徑的(de)層通(tōng)常需要設置爲負的(de)排序順序,以确保在投影(yǐng)層之前渲染。

● 中央角度:圓柱體的(de)可(kě)見水(shuǐ)平角度,範圍爲 0 到 2。角度在 0 弧度處對(duì)稱增長(cháng)。例如,中央角度爲 的(de)層将投影(yǐng)到半圓柱的(de)内表面,其投影(yǐng)中點從層的(de)位置正前方直接可(kě)見。

 

球面等矩形


● 球體半徑:層的(de)非負半徑。半徑爲零或 float.PositiveInfinity 被視爲具有無限半徑的(de)層。具有無限半徑的(de)層通(tōng)常需要設置爲負的(de)排序順序,以便在投影(yǐng)層之前渲染。

 

● 中央水(shuǐ)平角度:球體的(de)可(kě)見水(shuǐ)平角度,範圍爲 0 到 2□。該角度在 0 弧度處對(duì)稱增長(cháng)。例如,中央水(shuǐ)平角度爲 □ 的(de)層将投影(yǐng)到半球的(de)内表面,其投影(yǐng)中點從層的(de)位置正前方直接可(kě)見。

 

● 下(xià)垂直角度:定義球體可(kě)見部分(fēn)的(de)下(xià)垂直角度,範圍爲 -□/2 到 □/2

● 上垂直角度:定義球體可(kě)見部分(fēn)的(de)上垂直角度,範圍爲 -□/2 到 □/2。