UE5 Advanced VR Framework学习笔记:PDA是什么?
UE5 Advanced VR Framework学习笔记:PDA是什么?
UE5的Advanced VR Framework(AVR)项目包含了许多开发VR项目时常用的功能,使用这个VR模板进行开发或制作个人Demo可以节省大量时间。然而,由于功能丰富,初次接触的用户可能会面临较高的学习成本。本文基于官方YouTube教程,对AVR模板中重要的功能设置和使用方法进行记录,重点介绍了Primary Data Asset(PDA)的相关内容。
Primary Data Asset(PDA)
AVR预设了三种Data Asset模板。PDA在AVR中的作用类似于Data Table,结合官方教程的说明可以直观理解:PDA中存放着用户提前预设好的参数,当我们创建Actor实例时,实例中的部分属性就可以根据预设好的PDA来自动进行初始化。
主要用到的是PDA_ControllerVR与PDA_Level。
PDA_ControllerVR
官方文档中对PDA_ControllerVR的定义如下:
PDA_ControllerVR中的数据主要与VR手柄输入映射相关。AVR项目本身自带了一部分预设好的PDA_ControllerVR数据,我们可以打开其中一个查看细节:
由上图可以看出,PDA_ControllerVR中并没有KeySelect,只有下拉栏对按键进行选择。选择好对应的按钮后还需要在右侧填写按钮对应功能的Button Name,模板已为用户设置好了预设的这些功能。如果用户要自定义功能,其中的流程较为复杂,目前没有梳理清楚,在此暂不做解析。
左边Enum_Key实际上对应的是项目设置中Input映射中对应名称的输入:
模板的输入映射中已经配置好了HP、HTC与Meta的头显按键,若要使用其他品牌的头显,可以自行在对应的映射上添加。如果项目需要使用Pico的头显,可以在对应的映射中添加Pico Touch对应的按键。
PDA_Level
根据官方文档可以得知,项目中所有的关卡都需要包含一个PDA_Level。关卡的预设信息会存放在BP_MapInfo这一蓝图Actor中,从官方演示关卡中我们可以看到这一Actor中存放了PDA_Level:
打开预设的PDA_Level查看参数细节:
可以看到PDA_Level中有三大类参数:
Pawn参数:设置当前关卡在不同平台应该使用哪些对应的Pawn对象作为玩家控制的角色。通常PCVR和一体机版本使用的角色为同一个VRPawn。
Streaming Level:World Map是世界的初始关卡,根据模板预设PDA_Level的设置,我们打开Map_Example_Persistan这个主关卡,可以看到所有实例的关卡都以子关卡的形式放入了世界关卡的Levels中:
Maps to Load代表着当前关卡中需要流送的关卡,每个子关卡中的MapInfo对象中这一栏都应当填写自己本身的关卡名称。
- Transition:由于模板跳转关卡是通过关卡流送的形式进行的,在关卡加载过程中模板内置一个将玩家置入等待界面的功能。Transition中的参数设置都很直观,参考官方文档的解释自行设置即可。如果用户想要自己制作等待的界面,可以以模板的默认BP_Transition为基础进行修改。