关于vr开发中的穿墙问题随想

流星与蝴蝶 流星与蝴蝶     2022-08-24     622

关键词:

  在VR开发中,用户将以第一人称的视角进入虚拟世界,即用户同时身处两个坐标系:1. 现实世界坐标系(如房间的坐标系),用户的身体处于这个坐标系 2. VR世界坐标系,用户的感官处于这个坐标系,即用户觉得我处于这里。

  而如何同步这两个坐标系HTC VIVE已经帮我们解决了。由HTC VIVE开发的应用,在应用刚初始运行阶段,将用户所处的现实世界的位置和VR世界里的位置进行一次匹配,然后以此为基准来同步两者的关系,将现实中的移动通过空间定位映射到VR空间里的移动。

  但是这也产生了一个问题。在传统的二维屏幕的游戏中,一旦游戏角色走到墙体,可以用碰撞体挡住,不让其继续穿墙运动。而VR应用却不能阻挡用户的穿墙行动,原因是VR空间里的移动是根据人在现实世界里的走动来同步,只要我的房间够大,我就可以一直朝着一个方向走下去,而VR世界里的摄像机也将一直朝一个方向运动,这样势不可免将造成穿墙等问题,这并不是我们想要的结果。

 

那么要如何解决这个问题呢?

这里有两个想法:

一、软硬件结合。现实也造一堵和虚拟世界对应的墙,但这基本不符合实际(Haha~),Pass掉。

二、强行阻止VR虚拟角色继续前行。

而第二种方法又有两种解决方式:

1. 位移补偿: 虚拟角色在碰撞到墙时还继续往前走时控制其进行反向位移补偿或者将整个场景都往其运动方向进行移动补偿。

2. 碰撞体。和传统的游戏一样采用碰撞体阻止其继续前行,但碰撞体的强行插入将可能造成抖动。

这两个办法其实就是强行让两个世界坐标的位移映射失效。虽然可以达到不穿墙的效果,但是又会带来新的问题。

1. 用户的感受:什么鬼?为什么我在原地踏步?周围的东西为什么有种轻飘飘的感觉?看来我一定是要升天了~

2. 两个世界坐标系的原点产生偏移。

那么为什么会产生偏移呢?

下面用一张图来解释:

  这个问题在一般情况下可能不大,但当处于一个较小的房间而又频繁撞墙时,由于误差的积累,问题就产生了。我人已经在墙边了,需要交互的物体却还在离墙更远的地方,这可叫我如何是好?

 

综上:如何不让用户穿墙又可以规避缺陷:

1. 在有穿墙限制的同时提供手柄的瞬移功能,就不存在坐标系偏移造成的无法交互的后果。但仍然难以解决用户原地踏步感觉不良的问题。

2. 没有穿墙限制,在接近墙继续向前走时,通过UI或其他方式对用户进行提示:禁止继续往前走。在墙外布置一些空的场景,若用户执意要穿墙,走出去看不到什么新鲜的东西,也不会再尝试了,应该不会有人这么无聊吧,haha~

其实我是比较倾向使用第二种的,毕竟用户体验更自然、连贯性更好!具体采用哪种就要根据实际项目需求了。

 

  换个思路想,阻止不了穿墙也未必是件坏事,因为我们可以利用它来放置一些彩蛋,比如在一个无法打开的木桶里放置一些意外的惊喜,说不定用户感觉会更好~如果我把头探出墙外突然看到一个鬼脸对我说:"Catch you!"”那我一定会很“惊喜”的。

            

为什么你的游戏角色总是能穿墙

...。嗨!大家好,我是小蚂蚁。在微信小游戏制作工具中,关于物理行为和固体行为的使用,很多人都遇到过问题。其中一个最常见的问题就是“为什么我的角色能穿墙呢?”(或许是因为你的角色具备特异功能?),今天这篇文... 查看详情

关于语言的随想

语言是解决问题的工具---Bryanz没有银弹老板不用天天想着用简单的招人好招,应该想想什么是好的合适的,你招人的目的不就是做好产品吗?招廉价的(我只信便宜没好货)能给你做出个啥?虽然我也廉价-。-尴尬快过年了我有... 查看详情

随想录:开发一流androidsdk(代码片段)

...开发,极少数的开发者才有机会从事SDK开发工作,而市面上关于SDK开发介绍的文章少之又 查看详情

什么是vr中的locomotion?

...anipulation操纵物体,Locomotion移位),其中,前两个操作是关于物体的,而Locomotion是关于玩家自己的-几乎所有的VR应用都避不开这三个操作,而这三个操纵几乎涵盖了所有的VR操作。今天就来解释一下,VR中的Locomotion指的是什么,... 查看详情

随想关于图灵机

【随想】关于图灵机 图灵机由四个部分组成,输入集合I,输出集合O,内部状态M,固定的程序f,O=f(I,M),即根据输入和内部状态在固定程序的指导得到输出那么人能不能也被这样抽象呢?显然,输入状态集合就是你所处的环境... 查看详情

一个初学者关于vr游戏开发的优化总结

最近在做一个关于vr游戏的项目,作为一个刚刚毕业并且刚刚进入这一行业的新手,有太多太多的东西需要学了。经过这个三个月的时间,在整个团队的合作下,算是基本完成了游戏吧,平台是三星的gearvr࿰... 查看详情

vr开发教程汇总

1.下面是关于VR开发相关的教程进行汇总,包含主流VR开发教程,并在不断的更新中…欢迎大家关注。2.HTCVIVE开发教程1.HTCVIVE开发教程(一)2.HTCVIVE开发教程(二)3.HTCVIVE开发教程(三)3.VR开发教程... 查看详情

关于路由器的选择问题

浏览了知乎各路大神之后,对路由器的基本性能有了一个大概的了解。信号穿墙只限于2.4G信号,蓝牙、手机信号、无线键鼠、无人机、遥控都是用的2.4G信号。5G信号在同一房间内连接更稳定,速度更快,带宽更足,不容易被其... 查看详情

关于主动性的随想

有时候无论是在学习还是工作,做着做着就进入了一种“忘我”的境界,忘记了自己做事的目的是为了什么,也不会去思考如何才能做的更好,而行动变成了只是完成早已经习惯的任务和事情,假如事情突然峰转,或者是难度突... 查看详情

关于栈和队列随想

1在算法中栈和队列的地位在算法中,栈和队列就是一个缓存,缓存那些对自己还有用的元素,还不用扔掉的元素。比如对图的深度优先搜索,搜到某一层时,还只是访问了该元素的一个邻接节点时,是不能随便扔出栈的,因为... 查看详情

Google VR 启动中 Google Play 开发者控制台中的“发布前报告”失败

】GoogleVR启动中GooglePlay开发者控制台中的“发布前报告”失败【英文标题】:Failuresin"Pre-Launchreport"inGooglePlayDeveloperConsoleinGoogleVRstartup【发布时间】:2017-10-2719:00:44【问题描述】:我一直在Unity3d中使用GoogleVR开发游戏,最... 查看详情

vr开发教程

VR开发课程大纲VR开发课程大纲哪里有?2016年,VR虚拟现实元年推动VR产业的爆发,中国的VR产业有了很大的进展。与此同时,VR产业相关人才短缺的问题愈发凸显。千锋教育把握市场需求,开设VR课程,致力于为学员提供最优质的... 查看详情

vr开发课程大纲

VR开发课程大纲VR开发课程大纲哪里有?2016年,VR虚拟现实元年推动VR产业的爆发,中国的VR产业有了很大的进展。与此同时,VR产业相关人才短缺的问题愈发凸显。千锋教育把握市场需求,开设VR课程,致力于为学员提供最优质的... 查看详情

vr开发视频教程

VR开发课程大纲VR开发课程大纲哪里有?2016年,VR虚拟现实元年推动VR产业的爆发,中国的VR产业有了很大的进展。与此同时,VR产业相关人才短缺的问题愈发凸显。千锋教育把握市场需求,开设VR课程,致力于为学员提供最优质的... 查看详情

unity2017开发vr环境

2018.5.26由于Unity在5.6的时候就已经内置了GoogleVR的SDK,所以开发起来非常方便。 增强现实中国 <VR与AR开发实战>书中的学习视频 查看详情

一个初学者关于vr游戏开发的优化总结

最近在做一个关于vr游戏的项目,作为一个刚刚毕业并且刚刚进入这一行业的新手,有太多太多的东西需要学了。经过这个三个月的时间,在整个团队的合作下,算是基本完成了游戏吧,平台是三星的gearvr࿰... 查看详情

vr入门系列教程

VR开发课程大纲VR开发课程大纲哪里有?2016年,VR虚拟现实元年推动VR产业的爆发,中国的VR产业有了很大的进展。与此同时,VR产业相关人才短缺的问题愈发凸显。千锋教育把握市场需求,开设VR课程,致力于为学员提供最优质的... 查看详情

vr入门系列视频

VR开发课程大纲VR开发课程大纲哪里有?2016年,VR虚拟现实元年推动VR产业的爆发,中国的VR产业有了很大的进展。与此同时,VR产业相关人才短缺的问题愈发凸显。千锋教育把握市场需求,开设VR课程,致力于为学员提供最优质的... 查看详情