【GAD翻译馆】虚拟现实教程分解:辐射(Fallout)游戏中的辅助瞄准系统
译者:刘鸿(lewis2012,251423807) 审校:王玥亭(玥亭)
教程概述:辐射(Fallout)游戏中的辅助瞄准系统(Vault-Tec Assisted Targeting System)直播教程
虚拟现实游戏辐射是VR最大的AAA游戏公告之一,随着游戏即将推出,FusedVR团队决定建立一个辅助瞄准系统原型。
实现
在深入了解细节之前,让我们先阐明一下我们原型的方法。
1)我们的原型会减慢时间,突出身体部位,发射子弹。
2)我们的原型跳过了VATS百分比制度。要了解更多,请查看Future Improvements部分。
3)我们的原型Bloody Mess技能点没有血。
减速时间可以通过改变 Time.timeScale值来实现。我们按压touchpad触摸板并调用了ToggleVats,发现当timeScale 的值在0.05f - 0.1f时,对VATS来说效果最好。
下一个挑战是在游戏中突出身体的部位。这就是VRTK,一个由Stone Fox开发的Unity VR交互工具包,确实是个亮点。总而言之,我们所要做的就是将VRTK_InteractableObject组件添加到一个GameObject中,并在正确的时间调用ToggleHighlight。看看我们的视频教程一步一步的学习。
射击子弹需要增加一个力量并产生一个GameObject。为了让Bloody Mess工作,我们创建了一个 basic rig,然后在子弹击中的时候随机施加一个爆炸力。对于一个完整的VATS实现来说,只有针对目标物体的碰撞才应该受到爆炸的影响。
我们使用默认的代码来添加爆炸力,你可以在Unity的在线文档中找到它。配置爆炸力取决于你使用的rig 和rigidbodies ,一旦你设置好了,结果看起来会很好。
未来的改进
如果我们继续研究我们的原型,我们会考虑爆炸,子弹轨迹,以及更多的物理调整。我们也会尝试这个百分比系统。最初,我们相信这个比例系统会消除调整射击的喜悦。为什么瞄准失误?
仔细考虑后,这个百分比系统无疑增加了悬念。如果你想尝试一个百分比系统,这里有一个简单的方法:
1)在VatsHandler脚本中添加一个float类型的hitProbability变量,初始值设置为1f。
2)在VATS模式下,每一次连续射击,hitProbability变量都会减去一个常量值。
3)在0f和1f之间随机生成一个数字。如果这个数字大于hitProbability,关闭子弹的碰撞校测。
4)当你离开VATS模式时,将hitProbability重置为1f。
5)特别注意:使用raycast来检查子弹的主体部分,并相应地修改hitProbability。
结论
我们的原型进一步证明了我们一再反思过的一个教训。在VR中物理和时间是创造有趣体验的一种非常简单的方式。我们不知道为什么,但我们有一些猜测:
1)在虚拟世界中,快乐是为用户设定期望,并实现这些期望。当世界按你所期望的方式工作时,你就会感到兴奋,当这个世界不存在时,你就会感到悲伤。这样的话,第一次尝试你的虚拟现实体验的人就像一个宝宝学习现实世界。物理模拟是最简单的方法,可以让任何人探索一个真实的或虚拟的世界。
2)在VR中玩耍时,你可以体验到在现实生活中从未见过但一直想象的东西。这是梦想。
看看我们的教程,分享你的对VATS如何在VR中工作的看法,并让我们知道,如果你进行了任何扩展,请告诉我们,以便我们可以展示你的工作。
【版权声明】
原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。