其他
NewtonVR丨基于真实物理学的Vive VR游戏交互革新(下篇+Github)
Tomorrow Today实验室正在致力于在Unity中为HTC Vive开发一款未公布的VR游戏。为了设计和开发一种与物体交互的良好方法,我们花费了大量的时间。使用鼠标在屏幕上移动一个物体是一个非常简单直观的过程,你只需考虑两个维度的输入内容。但是,在虚拟现实之中,有三个方向,外加旋转需要考虑,这就需要一种新的物体交互的方法。
目前为止,还有大量神奇的虚拟现实体验等着被创造,我们非常乐意免费公布我们的交互系统(MIT license)去推动这一过程。
例如,如果你有两个质量相同的盒子,它们可以等量的推动彼此,但一个相对来说质量小得多的气球将无法推动这个盒子。
https://v.qq.com/txp/iframe/player.html?vid=v03032qwpgw&width=500&height=375&auto=0
视频说明:有两个大方块(绿)和一个小方块(红),玩家通过手柄持有小方块,然而即使玩家持手柄穿过大方块,持有的小方块依旧不能穿过大方块,且小方块不能够推动大方块,但是大方块可以用来推动小方块和大方块。
默认情况下,物体被设置为可以从任意角度被抓取,但是,如果你需要在某个固定点抓住物体,它也可被旋转且自我调整到一个预设的方向。这将使你能够在任何角落捡起一个盒子,同时也可以捡起一把枪并使其调整到可抓取的方向。这里,我们仍依据物理学为理论基础来实现重物的抓举,使得物体在调整方向的过程中不会穿出墙壁或者地面。
https://v.qq.com/txp/iframe/player.html?vid=x030305e2f3&width=500&height=375&auto=0
视频说明:视频中有两个方块(绿)和一把手枪,同时存在地板和墙面,玩家通过控制手柄来抓取手枪,在抓取的过程中,手枪无法穿透地板、盒子和墙面,但是可以推动盒子;同时,玩家通过控制手柄可以调节抓取手枪的方向从而以正确的方向握住枪柄。
我们已经创造了一些物理的交互元素来实现基本的布局和菜单式的场景。同时,我们还提供了一种选项,通过按一个按钮动态地让控制器转变为一个物理实体。这可以使你操作手柄控制器就像操作一个物理实体一样,来与虚拟现实世界进行交互操作,这也意味着在这种模式下,它们将不再与你在现实世界中的控制器完全一一对应。也许这目前听起来还只是个粗略的方案,但实际上它非常酷。
https://v.qq.com/txp/iframe/player.html?vid=d0303d0gw4z&width=500&height=375&auto=0
视频说明:玩家手中有一个控制器,通过这个控制器可以开关门,可以转动转盘,调节一个球体光亮,旋转示数,移动物体,按动按钮,打开抽屉,拿出枪并开枪发射。
通过使用手柄按钮手持一个物体,可以让Vive控制器的其他按钮闲置出来,这可以让这些闲置的按钮用来操作那些正在持有的物体(例如,在持有一把枪的同时可以按下“扳机”按键来进行射击操作)。如果你的控制器没有悬停在某个可交互的物体的操作范围内,那么当你按下手柄按钮时,你的控制器将会变成一个物理实体,使得你可以用它和虚拟世界进行交互。这个模式可以用于操作一个控制面板上的按键,或者将你面前一些挡路的物体推离开。
你可以获取桌面版的github客户端:http://desktop.github.com。在windows的系统里,以管理员身份打开命令行并且使用以下命令创建一个链接:mklink /D c:\git\MyProject\Assets\NewtonVR c:\git\NewtonVR\Assets\NewtonVR。第一个参数是你想要放置NewtonVR的文件夹位置,第二个参数是你要放置本地的NewtonVR库的位置。这个参数是推荐设置,并非必须设置。
在获取本项目之后,你也可以查看我们的一些案例场景,在NewtonVR/Example/NVRExampleScene。由于物理引擎PhysX对于大型碰撞体的运算和反馈更加真实,所以我们将所有的物体都放大了十倍。这些案例场景包括以下这些:
我们现在正在我们自己的游戏中大量的运用本系统,并计划在开发过程中随时保持更新。如果对本系统有任何疑问或者建议,请随时在评论区留下您的信息,也可以在Twitter上@TTLabsVR,或者在Github上创建问题。
NewtonVR开发: Keith Bradner, Nick Abel用户体验设计: Adrienne Hunter
经验分享丨项目实践项目孵化丨渠道发行做有梦想的游戏人-GAME AND DREAM-