4.參考文檔
4.1 支持的功能和組件
4.1.1 支持的 Unity 功能和組件
大多數 Unity 組件無需修改即可在此平臺上運行 - 包括大多數自定義 MonoBehaviours、動畫邏輯、物理、輸入處理、資產管理、AI 等。然而,需要渲染的組件需要特殊的支持。因此,一些組件在此平臺上提供的功能集有所減少;其他目前不支持。下表總結了該平臺上各種渲染組件支持的當前狀態。
有關轉換舊項目的更多信息,另請參閱將 Unity 項目移植到 PolySpatial XR
4.1.2 Unity 仿真組件/系統
在此頁面中不可能列出 Unity 公開的所有系統和軟件包,但下表列出了對一系列 Unity 核心功能的支持狀態:
成分 | 地位 |
轉換 | 支持的 |
聲音的 | 不支持空間音頻 |
網狀過濾器 | 支持的 |
動畫/動畫師 | 支持的 |
二維物理 | 支持的 |
3D 物理 | 支持的 |
腳本 | 支持的 |
人工智能和導航網格 | 支持的 |
地形 | 實驗支持 |
MonoBehaviours
預計可以工作,但它們將取決于具體情況,具體取決于您的腳本與哪些其他組件交互。
4.1.3 渲染組件/系統
成分 | 地位 |
網格渲染器 | 不支持“Lighting”(陰影、GI) 不支持“Probes” 立即模式下不支持此組件 不支持“Additional Settings”(動態遮擋、渲染層) |
蒙皮網格渲染器 | 僅未優化的動畫(如果模型導入檢查器的“裝備”選項卡上的“優化游戲對象”選項出現,則必須將其勾選。) |
粒子系統 | 部分支持;看粒子系統以下 |
光 | 不支持 |
相機 | 不支持 |
光環 | 不支持 |
鏡頭光暈 | 不支持 |
線條渲染 | 不支持 |
投影儀 | 不支持 |
軌跡渲染器 | 不支持 |
視覺效果 | 不支持 |
鏡頭光暈 | 不支持 |
細節層次 (LoD) | 不支持 |
遮擋區域 | 不支持 |
閉塞門戶 | 不支持 |
天空盒 | 不支持 |
URP 貼花投影儀 | 不支持 |
瓷磚地圖渲染器 | 不支持 |
視頻播放器 | 支持有限 |
圖形光線投射器 | 不支持 |
Shaderlab 著色器 | 不支持 |
后處理器 | 不支持 |
光照貼圖 | 需要手動支持 |
烘焙照明 | 不支持 |
開導 | 不支持 |
光探頭 | 需要手動支持 |
反射探頭 | 不支持 |
樹木 | 不支持 |
多霧路段 | 不支持 |
其中一些功能由于平臺限制而不受支持(例如,全屏圖形后處理器與共享渲染系統的想法不兼容),而其他功能則屬于正在進行或計劃開發的領域。
4.1.4 粒子系統
PolySpatial XR 中對粒子的支持是一項正在進行的工作。下表顯示了 Unity粒子系統當前支持的特定模塊和設置的支持狀態:
模塊 | 地位 |
排放 | 部分支持 |
形狀 | 部分支持 |
生命周期內的速度 | 部分支持 |
生命周期內的極限速度 | 部分支持 |
繼承速度 | 部分支持 |
整個生命周期內的力 | 部分支持 |
整個生命周期的顏色 | 部分支持 |
按速度著色 | 不支持 |
使用壽命期間的尺寸 | 部分支持 |
尺寸按速度 | 不支持 |
整個生命周期內的輪換 | 部分支持 |
按速度旋轉 | 不支持 |
外力 | 不支持 |
噪音 | 部分支持 |
碰撞 | 部分支持 |
觸發器 | 不支持 |
子發射器 | 部分支持 |
紋理片動畫 | 部分支持 |
燈 | 不支持 |
步道 | 不支持 |
自定義數據 | 不支持 |
渲染器 | 部分支持 |
4.1.4 用戶界面(UI)
Unity UI在世界空間中工作,但屏幕空間 UI 和高級視覺功能(如遮罩、陰影等)當前無法工作。下表總結了其他 UI 功能的支持狀態:
成分 | 地位 |
文本網格 | 支持的 |
畫布渲染器 | 部分支持 |
精靈渲染器 | 支持的 |
文本網格專業版 | ? 部分支持 |
矩形變換 | 沒有對尺寸的具體支持 |
4.1.5 最后的想法
Unity 有更多組件,但本節涵蓋了普通 XR 應用程序的主要部分。一般來說,您現有的 Unity 項目可能需要移植到 PolySpatial XR。
您將需要通過編寫自己的 PolySpatial XR 兼容系統或找到這些限制的解決方法來實驗、研究和適應 PolySpatial XR 要求和約束,以支持您現有的功能。
4.2 PolySpatial資產支持
1.網格
RealityKit 提供了一組有限的預定義頂點格式。網格可以提供位置、法線、切線、顏色、混合權重和混合索引。Unity 將為 RealityKit 提供最多 8 個紋理坐標,但請注意,在其 MaterialX 實現中只有前兩個 UV 通道可用,從而限制了額外幾何數據的實用性。
由于Unity和RealityKit使用不同的坐標系,因此在系統之間傳遞時,一些頂點屬性會被修改。針對位置、法線和切線執行慣用手交換。所有 UV 通道的 UV 都會翻轉。
2.材質
有關 VisionOS 上材質和著色器支持的詳細信息,請參閱PolySpatial 材質支持。
Unity ShaderGraphs
請參閱Shader Graph 支持,了解有關如何將通過 Unity ShaderGraph 定義的自定義著色器轉換為 MaterialX 以與 RealityKit 互操作的詳細信息。
3.紋理
Unity 在 VisionOS 上提供對 2D 紋理的支持,并利用本機紋理壓縮選項。
VisionOS 的 RealityKit 不支持 3D 紋理或立方體貼圖,因此用戶必須根據 2D 紋理重新實現這些紋理資源。
4.渲染紋理
Unity 會將渲染目標實時復制到 RealityKit,但目前只能按速度進行有限數量的提交。引入額外的渲染目標可能會與 Unity 自己的圖形緩沖區提交相沖突,從而影響整體性能。
另請注意,修改 RenderTextures 后必須手動將其標記為臟;目前,不會自動發生此類臟污,并且如果紋理未臟污,則不會將其復制到 RealityKit。
5.字體
VisionOS 支持光柵化字體和 SDF 字體,但我們強烈建議使用 SDF 字體,以確保所有觀看距離下的清晰度。
4.3 材質
每個管道的幾個重要標準著色器已映射到最接近的可用 RealityKit 模擬。目前的支持包括:
- 標準 URP 著色器:Lit、Simple Lit、Unlit(+TBD - 更多即將推出)
- 標準內置著色器:標準,(+待定 - 更多即將推出)
4.3.1 自定義著色器
可以通過 Unity ShaderGraph 為 VisionOS 創作著色器和材質。在幕后,這些著色器圖被轉換為 MaterialX。雖然 MaterialX 非常具有表現力,但某些 ShaderGraph 節點在 MaterialX 中沒有類似物。在 ShaderGraph 編輯器中,不支持的節點將通過符號來指示#
,但另請參閱ShaderGraph 支持。支持點亮和未點亮根節點。
ShaderLab、Metal 和其他基于代碼的著色器不可用,因為 VisionOS 的 RealityKit 目前不公開低級著色語言。
4.3.2 無光照材質
4.3.2.1 通用渲染管線/無光照
對于 URP 未光照材質,PolySpatial 支持Base Map
顏色和紋理屬性以及 和Opaque
(Transparent
使用混合模式Alpha
)曲面類型。?Alpha Clipping
可能已啟用;如果Threshold
大于零,則不會執行混合(僅進行 alpha 測試)。
4.3.2.2 無光照/彩色
對于內置渲染器管道未點亮的顏色材質,Main Color
支持該屬性。
4.3.2.3 無光照/紋理
對于內置渲染器管線未點亮的紋理材質,Base (RGB)
支持該紋理。
4.3.2.4 無光照/透明
對于內置渲染器管道未點亮的透明材質,Base (RGBA)
支持紋理。
4.3.3 光照材質
4.3.3.1 通用渲染管線/光照
對于 URP 光照材質,顏色和紋理受到尊重,選項和屬性Base Map
也是如此。Render FaceSurface Inputs
?TilingOffset
在Specular
工作流程中并Specular Highlights
啟用時,PolySpatial 支持Specular Map
關聯顏色的紋理或(灰度)強度。在Metallic
工作流程中,PolySpatial 支持Metallic Map
紋理或強度并遵循Specular Highlights
切換。
對于這兩個工作流程,Smoothness
都會考慮強度,但Metallic Alpha
不支持紋理通道(例如,來自 )的平滑度。?Normal Map
支持 [^1],但不支持正常比例。同樣,Occlusion Map
支持,但不支持遮擋強度。?可以指定Emission
顏色或紋理;如果兩者都給定,則顏色會降低為灰度并充當乘數。
支持 和 (使用混合模式)曲面Opaque
類型Transparent
。Alpha
在Transparent
模式下,該Preserve Specular
標志受到尊重。?Alpha Clipping
可能已啟用;如果Threshold
大于零,則不會執行混合(僅進行 alpha 測試)。
4.3.3.2 通用渲染管線/簡單光照
對于 URP 簡單光照材質,支持的選項與光照材質相同,只是沒有Metallic
屬性且沒有Occlusion Map
。
4.3.3.3 通用渲染管線/復雜光照
對于 URP 復雜光照材質,支持的選項與光照材質相同,只是添加了選項Clear Coat
及其Mask
屬性Smoothness
。
4.3.3.4 標準材質
內置標準光照材質的支持方式與Metallic
工作流程中 URP 光照材質的支持方式大致相同。紋理Albedo
和顏色同樣受到尊重,Metallic
貼圖或強度和Smoothness
強度(但不包括平滑度Source
)也是如此。?支持Normal Map
[^1] 和(但不支持其相應的強度),顏色或紋理、和以及標志也是如此。支持所有渲染模式:、、和。OcclusionEmissionMain Maps
?TilingOffsetSpecular HighlightsOpaqueTransparentFadeCutout
4.3.3.5 標準材質(鏡面設置)
內置光照鏡面材質的支持方式與Specular
工作流程中 URP 光照材質的支持方式相同。紋理Albedo
和顏色也受到類似的尊重,Specular
地圖或(灰度)強度和Smoothness
強度(但不是平滑度Source
)也是如此。?支持Normal Map
[^1] 和(但不支持其相應的強度),顏色或紋理、和以及標志也是如此。支持所有渲染模式:、、和。OcclusionEmissionMain Maps
?TilingOffsetSpecular HighlightsOpaqueTransparentFadeCutout
[^1]:目前,非著色器圖形材質中使用的法線貼圖必須作為紋理Default
類型(即,而不是類型Normal map
)導入,并且sRGB (Color Texture)
未選中該選項。
4.3.4 特殊用途材質
4.3.4.1 TextMeshPro/距離場
4.3.4.2 TextMeshPro/Mobile/距離場
TMP 距離場材質將轉換為僅遵循Face Color
和Face Texture
屬性的著色器圖形材質。
4.3.4.3 用戶界面/默認
UI 默認材質將轉換為尊重色調和紋理屬性的無光照材質。
4.3.4.4 通用渲染管線/粒子/無光照
URP 未光照粒子材質將轉換為尊重Base Map
紋理和顏色的未光照材質以及Surface Type
.
4.3.4.5 AR/基本遮擋
4.3.4.6 AR/遮擋
遮擋材質轉換為基本等效材質。
4.3.5 著色器圖形材質
著色器圖可以使用內置或 URP 目標以及 Unlit 或 Lit 材質。支持所有輸出塊。有關著色器圖支持的更多信息,請參閱著色器圖轉換說明。
4.4 ShaderGraph支持
您可以使用 Unity ShaderGraph 為visionOS 創建自定義材質。這些將在 Unity 中以其編譯形式進行預覽,但會轉換為 MaterialX 以在模擬器和設備上顯示。雖然 MaterialX 非常具有表現力,但某些 ShaderGraph 節點在 MaterialX 中沒有類似物。在 ShaderGraph 編輯器中,不支持的節點將通過#
符號的存在來指示。
出于技術、安全和隱私原因,visionOS 不允許在使用 AR 直通時運行基于 Metal 的著色器或其他低級著色語言。
4.4.1 VisionOS 中的 Shader Graph 限制
下表顯示了VisionOS 的 PolySpatial 中Shader Graph 節點的當前支持狀態,包括支持的節點列表及其各種注意事項。
如果此處未出現節點,則表示當前不支持該節點。請注意,隨著我們繼續添加對更多節點的支持,此列表將會更新。
4.4.2 美術
部分 | 節點 | 筆記 |
調整 | 對比 | 顏色可能不一致。 |
色調 | 顏色可能不一致。 | |
飽和 | 顏色可能不一致。 | |
混合 | 混合 | 支持差值、減法、加深、減淡、線性減淡、疊加、濾色、覆蓋、求反、乘法 |
篩選 | 抖動 | - 需要模擬屏幕空間位置。 |
普通的 | 正常混合 | ? 支持 |
從高度看正常 | ? 支持 | |
正常重建 Z | ? 支持 | |
正常強度 | ? 支持 | |
正常拆包 | ? 支持 | |
公用事業 | 色彩空間轉換 | 不一致 - 未實現線性轉換。 |
4.4.3 通道
部分 | 節點 | 筆記 |
渠道 | 結合 | ? 支持 |
分裂 | ? 支持 | |
調配 | ? 支持 |
4.4.4 輸入
Custom Interpolators
僅限于此特定/名稱類型:
Color
:矢量4UV0
:矢量2UV1
:矢量2UserAttribute
:矢量4
部分 | 節點 | 筆記 |
基本的 | 布爾值 | ? 支持 |
顏色 | ? 支持 | |
持續的 | ? 支持 | |
整數 | ? 支持 | |
滑塊 | ? 支持 | |
時間 | ? 支持 | |
漂浮 | ? 支持 | |
向量2 | ? 支持 | |
矢量3 | ? 支持 | |
矢量4 | ? 支持 | |
幾何學 | 雙切向量 | 切線和視圖空間選項不是標準的。 |
法向量 | 切線和視圖空間選項不是標準的。 | |
位置 | 切線和視圖空間選項不是標準的。 | |
屏幕位置 | ? 支持 | |
切向量 | 切線和視圖空間選項不是標準的。 | |
紫外線 | ? 支持 | |
頂點顏色 | ? 支持 | |
頂點ID | ? 支持 | |
坡度 | 坡度 | ? 支持 |
樣本梯度 | ? 支持 | |
燈光 | 主光方向 | ? 支持 |
矩陣 | 不起作用(由于常量矩陣節點定義中的錯誤) | |
不起作用(由于常量矩陣節點定義中的錯誤) | ||
矩陣構建 | ? 支持 | |
變換矩陣 | 切線和視圖空間選項不是標準的。 | |
場景 | 相機 |
|
目的 | ? 支持 | |
場景深度 | 平臺不允許訪問深度緩沖區,這只是剪輯或視圖空間中的相機距離。 | |
屏幕 | ? 支持 | |
質地 | 2D 紋理示例 | ? 支持 |
示例紋理 2D LOD | ? 支持 | |
采樣器狀態 |
| |
紋理 2D 資源 | ? 支持 | |
紋理尺寸 | ? 支持 |
4.4.5 數學
部分 | 節點 | 筆記 |
先進的 | 絕對 | ? 支持 |
指數 | ? 支持 | |
長度 | ? 支持 | |
日志 | ? 支持 | |
模塊 | ? 支持 | |
否定 | ? 支持 | |
標準化 | ? 支持 | |
基本的 | 添加 | ? 支持 |
劃分 | ? 支持 | |
乘 | ? 支持 | |
力量 | ? 支持 | |
平方根 | ? 支持 | |
減去 | ? 支持 | |
插值法 | 逆向線性化 | ? 支持 |
萊普 | ? 支持 | |
平滑步 | ? 支持 | |
矩陣 | 矩陣行列式 | 如果使用 Matrix2,將標記為不受支持。 |
矩陣轉置 | 如果使用 Matrix2,將標記為不受支持。 | |
范圍 | 夾鉗 | ? 支持 |
分數 | ? 支持 | |
最大限度 | ? 支持 | |
最低限度 | ? 支持 | |
一減 | ? 支持 | |
隨機范圍 | ? 支持 | |
重新映射 | ? 支持 | |
飽和 | ? 支持 | |
圓形的 | 天花板 | ? 支持 |
地面 | ? 支持 | |
圓形的 | ? 支持 | |
符號 | ? 支持 | |
步 | ? 支持 | |
三角學 | 反余弦 | ? 支持 |
反正弦 | ? 支持 | |
反正切 | ? 支持 | |
反正切2 | ? 支持 | |
余弦 | ? 支持 | |
他的 | ? 支持 | |
切線 | ? 支持 | |
向量 | 叉積 | ? 支持 |
距離 | ? 支持 | |
點積 | ? 支持 | |
菲涅耳效應 | ? 支持 | |
反射 | ? 支持 | |
繞軸旋轉 | ? 支持 | |
轉換 | 有些空間是模擬的,未在測試中涵蓋。 | |
海浪 | 三角波 | ? 支持 |
4.4.6 程序
部分 | 節點 | 筆記 |
噪音 | 梯度噪聲 | - 無法確定目標平臺噪聲函數的行為是否相同。 |
沃羅諾伊 | - 無法確定目標平臺噪聲函數的行為是否相同。 | |
形狀 | 橢圓 | ? 支持 |
4.4.7 Utility
部分 | 節點 | 筆記 |
Utility | 預覽 | ? 支持 |
分體式左輪 | 特定于 PolySpatial 的非標準著色器圖形節點。實現 splitlr 函數,如中所述材質X規格. | |
邏輯 | 分支 | ? 支持 |
比較 | ? 支持 | |
或者 | ? 支持 |
4.4.8 UV
部分 | 節點 | 筆記 |
紫外線 | 翻頁書 | ? 支持 |
旋轉 | 僅支持度數。 | |
平鋪和偏移 | ? 支持 | |
三平面 | ? 支持 |
4.5 輸入
在 VisionOS 上有兩種捕獲用戶意圖的方法:3D 觸摸和骨骼手跟蹤。在獨占模式下,開發人員還可以訪問頭部跟蹤數據。
4.5.1 3D Touch 和 TouchSpace
在有界和無界體積中,當用戶使用輸入碰撞器查看對象并執行“捏”(拇指和食指一起觸摸以“點擊”或“拖動”)手勢時,就會提供3D觸摸輸入。PolySpatialTouchSpace輸入設備向開發人員提供該信息。如果用戶按住捏合手勢,則會啟動拖動,并向應用程序提供相對于原始起點的“移動”更新。如果對象在觸手可及的范圍內(無需特定注視),用戶還可以直接在對象上執行捏合手勢。
3D觸摸事件通過PolySpatialTouchSpace 輸入設備公開,該設備構建在封裝之上com.unity.inputsystem
,也稱為新輸入系統。綁定到觸摸屏設備的現有操作應該適用于 2D 輸入。對于 3D 輸入,用戶可以將操作綁定到特定的PolySpatialTouchSpace設備以獲得 3D 位置向量。
任何可以接收 3D 觸摸事件的對象都需要將碰撞遮罩設置為 PolySpatial 輸入層的碰撞器。僅報告對這些事件的接觸。目前,平臺不會在點擊手勢開始時提供凝視光線。
4.5.2 骨骼手追蹤
骨骼手部跟蹤由XR Hands 包中的手部子系統提供。使用場景中的手部可視化器組件,用戶可以顯示玩家手部的蒙皮網格或每關節幾何體,以及基于手部物理交互的物理對象。用戶可以直接針對手子系統編寫 C# 腳本來推斷骨骼之間的距離和關節角度。Hand Visualizer組件的代碼可在XR Hands Package中找到,并且可以作為利用Hand Subsystem 的代碼的良好起點。
4.5.3 頭部追蹤
ARKit 通過VisionOS Package提供頭部跟蹤。這可以使用移動 AR 的創建菜單在場景中進行設置:創建 > XR > XR Origin (Mobile AR)。位姿數據來自devicePosition [HandheldARInputDevice]和deviceRotation [HandheldARInputDevice]的新輸入系統。
4.6 自定義 PolySpatial 組件
4.6.1 體積相機
PolySpatial 提供了一個名為 的新 Unity 組件,用于Volume Camera
與visionOS 環境提供的模式和體積進行交互。體積相機與常規 Unity 相機類似,因為它們指示用戶應該看到哪些內容,但不同之處在于它們捕獲 3D 內容而不是 2D 圖像。
將 VolumeCamera 組件添加到場景中的對象,以指定向用戶呈現的內容以及內容的呈現方式。保存 VolumeCamera 的 GameObject 的變換(例如比例)會影響向用戶顯示的體積大小。VolumeCamera 的編輯器內預覽范圍可以幫助可視化應渲染的內容。
通常,然后通過相應的“體積渲染器”將該規范體積映射到主機體積渲染器自己的不同OBB,將該內容顯示在主機平臺上。效果是體積相機邊界內的 3D 內容被變換、旋轉、拉伸和/或擠壓以填充體積渲染器的邊界。
當Mode
設置為 時Unbounded
,一切都與典型的 Unity 相機類似,只是體積相機和體積渲染器各自定義了無界 3 空間而不是有界
VolumeCamera組件公開以下屬性:
財產 | 描述 |
模式 | 指定音量的模式。 |
????有界 | 體積相機具有由其尺寸定義的有限邊界。任意數量的體積相機都可以處于“有界”模式。 |
????無界 | 體積相機捕獲所有內容,無論位置如何,并且尺寸字段被禁用和忽略。對于給定應用程序,在給定時間只能有一臺卷相機處于無界模式。將體積相機的模式設置為無界相當于請求您的應用程序切換到“獨占”模式。 |
方面 | 定義相機邊界框的(未縮放)大小,該邊界框以 VolumeCamera變換的位置為中心。世界空間維度是通過維度和變換比例的元素相乘來計算的。 |
剔除掩碼 | 定義 Unity 圖層的位掩碼。體積相機只會顯示屬于指定圖層的對象。對于典型的 Unity 相機和 CullingMask 工作流程,這可用于指定每個單獨的體積相機可見的對象。例如,庫存體積相機可用于通過定義“庫存”圖層來渲染一個體積內的 3D 庫存,而“小地圖”圖層可用于渲染第二體積內整個場景的鳥瞰圖。 |
4.6.2 PolySpatial視頻組件
為了支持 VisionOS 上的視頻內容,PolySpatial 目前包含一個自定義的PolySpatialVideoComponent
.?我們預計最終會支持股票視visionOS提供關鍵視頻功能。要使用它,請將 設置Target Material Renderer
為頻組件,但該組件在此期間為GameObject
要MeshRenderer
顯示視頻的資源,并設置Clip
為指向要播放的視頻資源,例如.mp4
當前系統的一個限制是,必須手動將剪輯復制到../StreamingAssets/PolySpatialVideoClips/
文件夾中才能在 VisionOS 上實現完整功能。如果該文件夾不存在,則創建該文件夾。確保剪輯不僅移入此文件夾,而且復制到其中,以便有它的兩個實例。
該PolySpatialVideoComponent
組件公開以下屬性:
財產 | 描述 |
目標材質渲染器 | 引用應在其上渲染視頻的 MeshRenderer。視頻將覆蓋該 MeshRenderer 上的當前材質。 |
夾子 | 要播放的視頻資源。 |
正在循環 | 當播放到達剪輯末尾時視頻是否應重復。 |
醒著玩 | 視頻是否應在 |
沉默的 | 當 true 時,音頻播放被抑制;如果為 false,則遵循體積值。 |
體積 | 剪輯的當前音頻播放音量,范圍在 0 到 1 之間。 |
4.6.3 PolySpatial懸停效果
向平臺提供提示,以在用戶將鼠標懸停在此對象上時應用系統懸停效果。這通常用于向用戶提供該對象是交互式的視覺提示。這種效果可以通過凝視或用手戳來觸發。該效果應用于正在懸停的對象,而不是正在懸停的對象。
出于隱私原因,visionOS 不允許應用程序直接訪問用戶的視線。然而,在視覺上突出顯示用戶正在注視的對象通常是有幫助的,以便暗示如果用戶執行捏合手勢,哪個對象將接收輸入。為此,Unity PolySpatialPolySpatialHoverEffect
為visionOS 提供了一個組件,可以將其添加到可能通過注視接收輸入的游戲對象中。該組件的存在指示主機平臺 (RealityKit) 在用戶的凝視光線與其相應的碰撞體相交時向GameObject
'應用著色效果。MeshRenderer
必須存在所有三個組件才能實現效果: 指示PolySpatialHoverEffect
應GameObject
顯示懸停,Collider
組件定義凝視光線投射的碰撞形狀,提供MeshRenderer
將應用著色效果的網格和幾何體。
4.7 PolySpatial Tooling
4.7.1 日志
PolySpatial 日志記錄消息按類別和級別進行標記,以便于更有針對性的調試。從 Unity 編輯器的主菜單中,選擇“窗口”>“PolySpatial”>“日志記錄”以打開“PolySpatial 日志記錄”窗口。從這里,您可以切換啟用哪些類別,是否應生成堆棧跟蹤,以及對于啟用堆棧跟蹤的類別,哪些級別將生成跟蹤。
4.7.2 多空間統計
首先,通過啟用項目設置 > PolySpatial > 啟用統計來啟用 PolySpatial 統計跟蹤。然后可以在 Unity Editor 主菜單中的Window > PolySpatial > PolySpatial Statistics下找到該編輯器。在播放模式下,此編輯器顯示時間的直方圖跟蹤、跟蹤的對象以及已復制到 PolySpatial 主機的資源。
4.7.3 調試鏈接
為了便于在播放模式下進行調試,PolySpatial 運行時添加了DebugPolySpatialGameObjectLinks組件,以將每個模擬游戲對象連接到Unity SceneGraph 中其相應的支持游戲對象。
4.7.4 資產查找器
在播放模式下,AssetFinder 會跟蹤已復制到主機渲染器的所有資源。這對于追蹤資產鏈接非常有用。該編輯器可以在 Unity Editor 主菜單中的PolySpatial > Asset Finder下找到。
4.7.5 錄音與回放
要錄制 PolySpatial 播放模式會話,請轉至Windows > PolySpatial > 錄制和播放。按Record
進入播放模式并開始錄音。正常進行交互并提供輸入,然后退出播放模式以停止錄制。新文件將添加到列表中;您可以通過選擇該錄音然后按Play
按鈕來重播該錄音。新輸入不會被處理,但原始錄音中編碼的輸入將重播。
錄音保存在Library/PolySpatialRecordings
任何使用相同版本 PolySpatial 軟件包的機器上,并且可以在任何機器上播放。除此之外,這些文件可以提交給 Unity 支持,使我們能夠調試許多特定于項目的問題,而無需項目的完整 zip 文件。