开发

Unreal 示例

更新时间: 2026年4月17日
这些 Unreal 示例说明如何在您的应用中实现基本的 VR 概念和 Meta Quest 功能。

Oculus 示例 GitHub

最新示例请参阅 oculus-samples GitHub

手势追踪

Unreal-HandGameplay GitHub 存储库中包含两个示例,用于演示 Unreal Engine 中的 Meta Quest 手势追踪功能。
  • 打开 HandTrackingSample 或 HandTrackingCustomSample 贴图(位于 Content/HandGameplay/Maps/ 文件夹),查看如何实现手势追踪。
  • 另一个手势追踪示例演示了与虚拟模型列车互动时的手势追踪。请在 Unreal-HandsTrainSample GitHub 存储库中查找示例。如需了解更多信息,请参阅列车手势追踪示例

合成图层

该示例提供使用 VR 合成图层显示小工具 Blueprint 用户界面的 Blueprints。您可在 Unreal-LayerSample GitHub 存储库查找示例。
该应用会显示两个以 VR 合成图层方式渲染的 UMG 小工具,并支持将其中一个小工具在合成层与主渲染通道之间切换显示。
Actor_Blueprint 演示将小工具渲染到立体图层中的过程。其 Menu 小组件的渲染目标会被设置为立体图层的纹理。
打开 MenuMenu_CompositorLayer,在 UMG 编辑器中打开 UMG 小工具。
LayerGameModeVRCharacter 用于初始化场景,并让场景以正确的高度显示。

移动和互动

该示例演示了多种 VR 移动和互动类型。您可在 Unreal-Locomotion GitHub 存储库中查找示例。

移动

下表列出移动类型和相关的玩家控制选项:
  • 指向和瞬移:将摇杆从任一控制器上的中立位置移开,并指向您想去的地方。地面上的弧线和指示符将显示您将瞬移到的目的地和方向。旋转摇杆来更改您的目标方向。摇杆回到中立位置,您就会瞬移到目的地。
  • 指向和瞬移(使用第三人虚拟形象):对于步行前往目的地的第三人虚拟形象来说,此操作方法与“指向和瞬移”相同。
  • 阶梯式平移和旋转:向前或向后推左摇杆,可调整跳跃高度。向左或向右推右摇杆,可以 35 度的间隔旋转。
  • 抓住并拖动:按住动作按钮或触发器,在地面上移动控制器,将自己拖向某个方向。
  • 手臂摆动:按住动作按钮或触发按钮,摆动手臂,朝着控制器指向的方向前进。
  • 双摇杆步行:左摇杆控制平移,右摇杆控制旋转,就像标准的第一人称非 VR 游戏一样。这类动作在 VR 中会让人感觉不舒服,所以我们建议您只短暂地试一试,或在习惯前不要让头戴设备完全遮住您的眼睛。
这些移动方法在 MotionControllerPawn Blueprint 中实现。

互动

该示例应用聚焦于用双手操纵对象,这可能会非常棘手。因此,该示例只提供了几个可互动对象供您研究。
  • 蓝色方块:可以使用任一控制器上的抓取按钮拿起这些方块并扔出。我们已经在 BP_PickupCube Blueprint 中实现了这种互动。
  • :拿起武器,单手抓住。让另一只手靠近枪管然后抓住,控制目标。枪支会根据您双手之间的距离进行伸展。我们已经在 BP_PickupTwoHandedAim Blueprint 中实现了这种互动。
  • 蓝杆:拿起杆子,单手抓住。这只手将控制杆子的位置和方向。用另一只手抓住杆子,激活双手模式。如果让杆子在双手之间呈一条直线,则您的第一只手将保持在这个位置。我们已经在 BP_PickupTwoHandedCylinder Blueprint 中实现了这种互动。
  • :拿起弓,单手抓住。用另一只手抓住它,然后开始拉箭。放手射箭。我们已经在 BP_Bow Blueprint 中实现了这种互动。
所有互动均使用 PickupActorInterface Blueprint,并通过 BP_MotionController Blueprint 和 MotionControllerPawn Blueprint 进行协调。

渲染技术

该示例包含几张演示阴影、门户和文本渲染技术的贴图,可在 Unreal-RenderingTechniques GitHub 存储库中找到。
您将在下方找到提供的贴图信息。欲知更多信息,请参阅示例的 Readme。

Cascaded Shadows Map(级联阴影贴图)

该贴图使用级联阴影贴图 (CSM) 演示动态阴影。
运行示例时,使用 Touch 控制器上的触发器拖动贴图中的滑块。附加在灯上的 Blueprint 可以控制它的旋转。

颜色分级 (Color Grade) 贴图

该贴图演示如何使用查找表 (LUT) 来调整场景的外观。
颜色分级贴图需要在 ColorGradingLUTPatch 子目录中应用补丁。应用补丁后,您即可使用颜色分级的查找表。欲详细了解颜色分级的查找表,请参阅使用查找表 (LUT) 进行颜色分级

距离场烘焙阴影贴图 (Distance Field Baked Shadows Map)

该贴图演示距离场阴影。运行距离场阴影,需要将光源类型设置为“静止”,并按如下所示启用编辑 > 项目设置 > 引擎 > 渲染 > 减少移动着色器组合 > 支持预烘焙的距离场阴影
Distance Field Shadows

传送门贴图

该贴图演示了在 VR 中渲染传送门的两种方法。
第一种使用在您查看的传送门处捕捉到的静态视差校正立方体贴图。该贴图可以预烘焙,性能成本相对较低,但查看时可能出现扭曲等问题。
第二种方法使用立体渲染目标,渲染每只眼睛能看到的场景,以及通过传送门能看到的场景。效果非常逼真,但性能成本更高。该示例将功能拆分到 PortalCaptureActorBP Blueprint、MF_ScreenAlignedUV_VR 素材功能、PortalSampleMaterial 素材中。PortalCaptureActor 类中还包含一些辅助性 C++ 方法。

文本渲染贴图

该贴图演示不同过滤设置结合高对比度纹理(如文本)所产生的效果。它还展示如何使用 VR 立体涂层来渲染高质量的文本或纹理。

混合现实工具箱

Unreal-MRUtilityKitSample GitHub 存储库提供了使用混合现实工具箱 (MRUK) 在 Meta Quest 上构建混合现实体验的示例。如需了解更多信息,请参阅混合现实工具箱示例

平台解决方案

该示例提供初始化平台 SDK、进行权限检查以及实现各种平台功能的示例。如果您尚未进行这些操作,请下载并解压缩平台 SDK。请在 SDK 解压缩目录下的 \Samples\UnrealSample\ 内查找示例。
如需设置说明,请参阅示例的 Readme。如需更多信息,请前往平台解决方案版块下的示例应用