VR开发的烦恼——范围限制
本文章由cartzhang编写,转载请注明出处。 所有权利保留。
文章链接:http://blog.csdn.net/cartzhang/article/details/52230865
作者:cartzhang
VR中的范围限制
一、问题
在VR的开发中,特别是需要通过玩家真实移动来进行游戏的游戏。目前遇到了一个恼人的问题,
就是玩家的移动和物体碰撞。
一个是要求开放,自由自在;一个要求要在范围内,不要出圈啊!!
这样就造成,要是添加碰撞,玩家遇到墙,游戏中的墙就会在物理的作用下,迅速的抖动。你们都知道,抖动是VR的死敌。(说到这里,多说两句,策划居然要求在游戏中开枪的时候,要求抖动镜头——被反驳回了,我们为了让镜头静止付出的各种努力你居然无视,还要添加认为抖动。最后妥协了一个其他方法,没有那么晕,但是还是不要尝试,所以就不写出来了)
二、怎么办?
那还要有碰撞,还要有自由。怎么办呢?
在玩家定位的过程中,游戏中有墙体,实际中的墙体也存在。玩家容易撞墙,但是还容易卡在墙的中间。玩家若强制被复位,这时候在物理位置就会造成偏移。要是玩家在一个场景中,肯定会造成在开始的时候还可以玩,一旦时间久了或数据准确性下降,就会产生玩家根本到达不了虚拟的指定地点,完不成游戏!!
太尴尬了!!
那怎么办呢?
就跟Steam的游戏一样,使用虚拟的网格作为类似墙体,来提示玩家的你已经出了识别区域或活动区域。
这个的好处是就是相对容易实现,添加代码,在代码里面做做判断玩家位置或相对起始点的移动距离,来显示虚拟网格。
不足能就是打断游戏的连贯性,这个容易打破VR的沉浸感,正爽呢,出来个玩意吓人,出戏。真是惹人恼啊!!
还有那就是不要碰撞了。
没有碰撞,玩家穿墙明显,体验诡异。能不能就是可以穿墙的游戏,作为乐趣呢?这个就是游戏设计的意义了。要是设计一个躲猫猫的游戏,那用这个穿墙术也可能会点意思啊!!
再有就是现在大多数的处理方式,不要设计这种实体的墙体之类的碰撞包围盒子,用一个平台或限制活动范围来处理,这当然也需要根据游戏和实际需求来做。
目前就想到了这几个,想法就这样。
————THE—————-END————————
若有问题,请随时联系!!!
只是看起来没有了路!!
VR开发的烦恼——范围限制的更多相关文章
- VR开发中性能问题—OculusWaitForGPU
http://blog.csdn.net/cartzhang/article/details/50788894 VR开发中性能问题-OculusWaitForGPU 本文章由cartzhang编写,转 ...
- 优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件
欢迎来到优分享VR开源项目 优分享VR 开源中国Git地址: http://git.oschina.net/xumingwang/youkes_vr 优分享VR是 优分享安卓APP VR视频播放开源部 ...
- 关于VR开发中的穿墙问题随想
在VR开发中,用户将以第一人称的视角进入虚拟世界,即用户同时身处两个坐标系:1. 现实世界坐标系(如房间的坐标系),用户的身体处于这个坐标系 2. VR世界坐标系,用户的感官处于这个坐标系,即用户觉得 ...
- VR开发 VR development
VR开发 VR development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com Ho ...
- 使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)
随着Unity5.1的发布,之前的Oculus Rift和Gear VR 开发流程发生了巨大的变化,这也算是小白鼠们必须付出的代价了~ 那么Unity5.1和Oculus的整合究竟发生了哪些变化,对开 ...
- VR开发2015年终总结
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50617605 作者:car ...
- Gear VR开发
下载安装Unity开发工具,要求Unity 5.3.0 或更高版本 下载Oculus签名,做Gear VR交互功能模块.关于输入交互,可以下载VR Samples(地址:https:/ ...
- Unity3D学习笔记(三十八):VR开发
设备安装:HTC View 驱动安装:Steam - SteamVR 设备激活 Unity开发 下载安装开发包 Asset Store - SteamVR Plugin SteamVRDemo1- ...
- Unity 的OCulus VR开发遇到的坑---OC版本差异
我作为Unity新人,没有用过Unity5之前的任何版本,不熟悉任何操作.所以,就根据官方推荐,使用了5.1.1版本,然后根据官方版本对应推荐,果断选择下载了PC端的OC的0.6.0.1版本,对应的U ...
随机推荐
- ArrayList 练习题
1点名器 import java.util.ArrayList; import java.util.Random; import java.util.Scanner; class CallName3 ...
- html学习笔记-DOM
html学习笔记-DOM Table of Contents 1. 什么是 DOM? 2. DOM 节点 3. DOM 方法 4. DOM 属性 5. DOM 访问 6. DOM 修改 7. DOM ...
- 关于ajax中return并不能作为方法的返回值
接下来关于ajax中的return值最后没有办法是方法的最终返回值问题 login(username,password) { console.log("进入方法"); $.ajax ...
- Ubuntu 11.04 安装 cuda5.0
由于实验需要,于2016年10月15日再Ubuntu11.04安装cuda5.0,但是从网上查找Ubuntu11.04 只有对应的支持的cuda4 版本,cuda 5.0前面版本不支持IDE nisg ...
- wireshark使用教程及TCP三次握手实例
安装后,选择对应访问网络的网卡,即可看到下面的主界面 具体说下封包详细信息 (Packet Details Pane) 这个面板是我们最重要的,用来查看协议中的每一个字段. 各行信息分别为 Frame ...
- epoll使用总结
epoll的使用总结 使用epoll来实现一个tcp server,中间碰到了不少使用细节上的问题,总结一下. man epoll里推荐的使用方法 epoll使用代码 #define MAX_EVEN ...
- windows系统下Eclipse启动界面更改
前段日子看到有人修改了linux系统下Eclipse的启动界面,因此自己试着修改了一下windows平台的启动界面.本文总结一下修改Eclipse 4.5(代号Mars)启动界面的方法. 方法一:修改 ...
- Java Object Model(一)
Java作为OOP语言,抽象性不言而喻.如果需要深入了解Java语言的实现机制,则不得不对Java语言中基础的概念有清晰的了解.今天是我在cnblog上写博客的第一天,希望今天的博客可以是我成为未来& ...
- (转)VC得到可用的串口列表
//枚举串口 //参数:bEnablePort,哪个串口有效,bEnablePort[0]表示COM1,bEnablePort[n-1]表示COMn //返回值:有效的串口个数 int EnumAll ...
- SGU 258 Almost Lucky Numbers 接近幸运数(数位DP)
题意: 定义一个具有2n位的正整数,其前n位之和与后n位之和相等,则为lucky数.给定一个区间,问有多少个正数可以通过修改某一位数从而变成lucky数?注意不能含前导0. 思路: 我的想法是记录那些 ...