VR恐怖游戏开发项目 DMT314

25 年 10 月 7 日 星期二
1594 字
8 分钟

交互设计

组件或交互描述与设计截图
可抓取物体可被玩家拾取,基于物体的碰撞体。图片
手电筒握持时,按下对应手柄的主按钮可点亮手电;具有手柄震动与声音反馈。手电开启时电量会随时间消耗;将电池拿在手中并装入手电把手可重置电量。图片
监控系统(CCTV)按按钮切换监控摄像头;自动初始化场景中的摄像头并按顺序编号;在画面上叠加 Canvas,显示摄像头编号等信息;为摄像画面设置后处理效果。图片
抽屉 / 柜门抽屉可滑动,柜门可按真实物理开合;抽屉有滑动范围限制,柜门有最大开启角度。图片
可移动的床一张可以被推动、拉动、移动和位移的床。图片
触发式拉杆开关位于配电箱旁的拉杆开关。切换后将配电箱上的红色指示灯变为绿色。激活三个开关以满足进入第二关的条件。图片
书架谜题用于解密的书架。书本堆叠可以水平移动。当所有书堆都移动到右侧时,谜题被认为完成。柜子旋转到指定角度以露出背面的屏障。图片
保险箱谜题允许自定义4位数密码的保险箱。按钮基于物理交互;它们可以被按下并会反弹。总共有十二个按键,包括数字0到9、取消键和确认键。当密码错误时,指示灯会亮起并等待下一次输入。当密码正确时,保险箱门会打开。不同的音效或指示灯提示按键输入、正确密码和错误密码。图片

开发过程

开发过程图片

我们在Unity中使用Autohand插件来加速开发过程。该插件完全支持OpenXR SDK,为基于物理的交互提供便捷的组件。它使用IK动画处理手部碰撞形状,包含一系列带有预定义UnityEvents的组件脚本,以及完整的文档。

可抓取物体

可抓取物体图片

为物体附加适当的碰撞器和刚体组件,然后简单添加Autohand的Grabbable组件即可启用基本抓取功能。您可以调整各种属性来实现不同的抓取类型,并使用内置的UnityEngine触发音效播放等效果。

手电筒

手电筒图片

在设置基本抓取配置后,FlashlightController.cs脚本提供公共方法来开关手电筒,而FlashlightBattery.cs处理电量消耗和电池更换。为确保手电筒只响应当前抓取手的操作,每只手的主按钮分别映射,只允许识别对应手的输入。

CCTV监控系统

CCTV系统图片

监控系统由两个预制体组成:监控站和监控摄像头。监控站使用渲染纹理显示摄像头画面,通过基础颜色和发光通道将纹理映射到电视模型的屏幕上。所有摄像头都输入到这个单一的渲染纹理中,监控站的Canvas(覆盖模式)显示UI界面。

在运行时,CCTVManager.cs扫描摄像头预制体的父对象,将它们存储在整数数组中并分配ID。一次只有一个摄像头处于活动状态;切换摄像头涉及停用当前摄像头并激活目标摄像头,然后更新Canvas的渲染摄像头和显示摄像头索引的TMP文本。提供了两个公共方法SwitchCameraForward()和SwitchCameraBackward(),便于通过UnityEvents调用。

抽屉 / 柜门 / 可移动床

抽屉柜门床图片

同样,附加Autohand的基本抓取组件,然后使用Unity的关节组件来限制物体移动:

  • 抽屉使用可配置关节限制沿一个轴的平移,同时锁定其他轴,设置适当的限制来控制可拉出的距离。
  • 柜门使用铰链关节限制在一个轴上的旋转,控制门能打开多远。
  • 可移动床使用可配置关节只允许在XZ平面上移动,锁定X和Z轴旋转以及Y轴位置。

可触发拉杆开关

在使用可配置关节限制拉杆的移动范围后,脚本读取关节移动数据来触发UnityEvents,更新指示灯的颜色和GameManager的进度以检查关卡完成情况。

书架谜题

书架谜题图片

对于书本堆叠,附加基本抓取组件并锁定所有旋转以及Y和Z轴上的位置,使堆叠只能沿X轴移动。在每个书架列的左侧,三个盒子碰撞器使用OnTriggerEnter()来计算该区域内有多少书本堆叠。如果剩余为零,谜题被认为已解决,触发调用RotateShelf()的UnityEngine将书架旋转90度到指定位置。

保险箱谜题

保险箱谜题图片

每个按钮都包含类似抽屉的刚体和可配置关节,但添加了弹簧和阻尼让它快速反弹。按下按钮会调用SafeCasePuzzle.cs中的PressNumButton(int buttonNum),向当前代码添加新数字。确认和取消按钮同样触发其对应的方法。

对于指示灯,SafeCasePuzzleVisual.cs处理切换灯泡材质以反映状态变化。SafeCasePuzzle.cs引用这个视觉脚本并调用其方法,将这些效果与保险箱的整体逻辑联系起来。

结论

本报告简要回顾了VR交互理论和实时反馈研究的关键发展,并展示了我们专注于开发恐怖VR游戏的项目。虽然只是初步探索,但该项目说明了VR技术如何增强用户沉浸感并引入新颖的人机交互方法。通过集成用户定义手势、物理动力学和高效渲染等技术,VR应用程序可以提高交互效率、沉浸感和可访问性。展望未来,对多通道交互、动态反馈机制和物理环境充分利用的持续研究可能有助于培养更具交互性和吸引力的VR应用程序,潜在地为研究和创新开辟新途径。

文章标题:VR恐怖游戏开发项目 DMT314

文章作者:DWHITE

文章链接:https://dr9k69ai79.github.io/MyBlog/posts/vr恐怖游戏开发项目_dmt314[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。