合肥网站建设市场分析那种导航网站
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 文件。
