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 文件。