场景设置

警告!

本指南假设您已具备 XR 开发的基础知识。有关更详细的内容,请访问入门文档页面


Snapdragon Spaces示例包含了针对常见 AR 用例的现成蓝图。

 

核心蓝图

这些蓝图已准备好在 AR 环境中使用,是示例项目的基础。

 

BP_GameMode(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)定义了体验的规则。目前,它仅将默认的 Pawn 类设置为自定义的 BP_Pawn。为了避免在每个地图中都进行自定义,请前往 Project Settings > Maps & Modes,并覆盖 Default GameMode

 

图片8.png


在 Unreal Engine 中,Pawn 是用户的物理表现,定义了用户如何与世界进行交互,自定义的 BP_Pawn(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)可以与注视控制器或 3DoF 控制器一起使用进行交互。此外,它还包括了这些交互控制器的实现,方便在编辑器中进行测试。


图片9.png


D_ARSessionConfig(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)定义了 AR 会话中使用的功能。有关此资产的基本信息,请参阅 Unreal 文档,目前,BP_Pawn 定义了示例中使用的会话配置。

 

透视模式(仅适用于混合现实设备)

透视模式指的是将物理环境以图像的形式呈现给 VR 设备的功能,可以通过主菜单上的一个新小部件来启用或禁用透视模式,该小部件包含一个“透视模式”复选框,只有当设备支持透视模式时,用户才能看到这个小部件。在 BP_MainMenuWidget 蓝图中的 BeginPlay 函数会使用新函数 IsPassthroughSupported() 检查设备是否支持透视模式,该函数会返回一个布尔值,指示 SpacesEngineSubsystem 是否支持透视模式。

 

WBP_Passthrough 上的复选框会调用 SpacesEngineSubsystem 中的 SetPassthroughEnabled(bool) 函数,设置 bPassthroughEnabled 的新值,从而使用户能够显示或隐藏物理环境图像。另一种调用 SetPassthroughEnabled(bool) 的方法是使用绑定到 XRController(L) X 和 XRController(R) A 的 SwitchPassthrough 输入。

 

bPassthroughEnabled 的值可以随时通过 GetPassthroughEnabled() 访问,或者通过委托 OnChangePassthrough 绑定,在值发生变化时获取通知。


图片10.png