当前位置: 首页 > news >正文

[体感游戏]关于体感游戏的一些思考(二) --- POV和基本场景

POV       

 

        从口语和故事讲述中借用术语来比喻游戏的观察点(Point of View)很常见。第一人称射击类使得你可以以游戏角色的视觉看到屏幕下方自己虚拟的手和武器。第三人称则让你从后面观察你的avatar。我通常使用“第二人称体验”这个名词来表示从正面观察游戏角色,就像对着镜子的视觉。

        刚开始,使用第三人称来开发我们的体感游戏看起来是个比较容易的方向(尤其是当你考虑上一篇博客提及的“随身物件”这个点子的时候)。但是,如果你的交互包含侧面交互,第三人称POV会带来我起初未意料到的根本性难题。

        如果你假定骨架跟踪系统是基于前置摄像头(比如Kinect和PrimeSense的摄像头的常用安装方式)的数据采集,这意味着被跟踪得最好的将是那些离电视(译注:当然,也可以是显示器)最近的四肢。远离电视的手臂和腿更容易被遮挡所困。很自然地,对被遮挡的四肢的追踪,其精确度会下降,而且严重依赖于统计姿势模型。

        让我们回到POV问题 --- 第三人称给玩家呈现的是avatar的背面。当面向侧面的时候,被挡住的四肢是最容易被玩家看见,同时也最吸引玩家注意的。有时候这种根本性的效应会强烈到让玩家认为跟踪算法本身出了问题。

         在第二人称(镜像视觉)的情况下,未被遮挡的四肢更容易被玩家看见。而被遮挡住的四肢,其不精确性更容易被玩家忽略,因为在渲染avatar的时候,它们也是被挡着的。

        我不是主张完全避免使用第三人称,只是在指出其所带来的挑战,以及在游戏设计阶段应该意识到的一些注意事项。


以下是第一和第三人称视角的一些示例回顾:


                                              第一人称:3D Monster Maze(1981)



                                            第一人称射击:Wolfenstein 3D(1982)



                    第三人称:Tomb Raider 1996



简单游戏场景


        当人们问到在体感游戏中怎么自然地行走的时候,我通常会提醒玩家,他可能会碰到电视。导航是3D游戏(不只是体感游戏)中最大的挑战之一。抛开已经选定的模式不谈,在3D虚拟世界中行走,并在我们的2D显示器上呈现,这可能是个非常令人沮丧的体验:你很难体会到渲染物体的深度已经在场景中行走的感觉。这也是为什么那么多的3D平台游戏那么烂的原因。想跳到一个更高的平台,而当你掉到熔岩湖的时候才意识到那平台太远了跳不上去,这并不是一个值得享受的体验。最终,只有极其高水平的编辑才设法创造出了有趣的3D平台。在本博客里,让我们这次偷下懒吧,把导航的挑战推迟到后续章节里再谈...



                                                                                                                                                                                                                                      轨道游戏



实际上,即使不去面对导航问题,你也可以创造出很多有趣的体验:

  • 静态照相机射击游戏 --- 敌人从隐藏处冲出,或者走近avatar施展一些武术。
  • 轨道射击游戏 --- 照相机的运动已经预先定义好。当遇到敌人或者avatar碰到阻挡的时候,照相机可以停止,通关的时候,照相机又可以继续运动。
  • 第二人称武术和格斗游戏
  • 第二人称跳舞游戏
下面是一些静态场景和轨道游戏的回顾示例:


          静态照相机射击:Prohibition(1987)


      静态照相机射击: Operation Wolf(1987)


                                                         轨道游戏:Operation Thunderbolt(1988)


            轨道游戏:House Of The Dead


在AngryBotsNI中,我们尝试使用不同的POV:

  • 你从第二人称开始熟悉你的avatar
  • 当你学会怎么传送的时候,你可以跳到不同的场景或关卡
  • 每一关的POV都是不同的,所以你也有机会体验第三人称视角



----------------------------------------------------------------------------------------------------------------------------------

译注:这是原作者最近在blogspot上的系列文章《Beyond casual: thoughts about gesture gaming》的译文,为方便中文读者而转过来的。可能的话请尽量阅读原文,原文写得比较诙谐。有翻译不当或错误的地方欢迎大家指正,谢谢阅读。

原文链接:http://michagalor.blogspot.com/2012/01/part-2-pov-and-basic-scenes.html


关于译者:曾供职于PrimeSense公司,作为应用工程师在Micha的领导下工作。是AngryBotsNI的主要开发者,熟悉体感交互的各种应用。目前在深圳,有时候在广州。

-----------------------------------------------------------------------------------------------------------------------------------

关于作者 Micha Galor

“当被问到怎么定义我自己的时候,我总是很困惑。我的工作包括软件工程,研究,设计和管理创新的投入。某一天我会简单地回答:一个发明家”

Micha Galor是PrimeSense公司(Kinect的3D传感技术提供商)应用和用户体验组的经理。他的团队专注于自然交互研究,包括对一些可实际运行的概念和展示的原型化,定义未来的人机交互语言等令人兴奋的工作。在PrimeSense之前,Micha领导Zoran(多媒体芯片商)的数码摄影团队,开发了应用在几款热销的拍照手机中的数字图像技术。Micha和他的太太以及两个小孩一起生活在以色列的特拉维夫。














本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366228,如需转载请自行联系原作者

相关文章:

  • Java炸弹人实现及源码
  • 开发帮助文档Api
  • System.Windows.Forms.TabControl控件有关
  • Verilog 状态机写法 ( 转载,先看看到底好不好)
  • 轻量级的网页Rank算法,365Rss.cn的Rank技术解释以及算法讨论(一)
  • netapp学习(十三)---Snapshot基础知识(上)
  • 关于css浏览器的兼容问题
  • 关于静态方法和实例方法的一些误区。
  • DES加密解密
  • Synchronized及其实现原理
  • 唯一索引与主键索引的比较
  • Apache Commons Beanutils 三 (BeanUtils、ConvertUtils、CollectionUtils...)
  • LG电子Cinema 3D,在乐天世界5万观看者的赞叹
  • CONTENT: ''在CSS样式中的作用
  • CentOS6.8及7最小化安装后无法直接安装vmtools问题
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【笔记】你不知道的JS读书笔记——Promise
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • java正则表式的使用
  • jdbc就是这么简单
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS数组方法汇总
  • nodejs实现webservice问题总结
  • php ci框架整合银盛支付
  • Redis在Web项目中的应用与实践
  • Spring框架之我见(三)——IOC、AOP
  • text-decoration与color属性
  • 记录:CentOS7.2配置LNMP环境记录
  • 王永庆:技术创新改变教育未来
  • 找一份好的前端工作,起点很重要
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #define用法
  • (1)Android开发优化---------UI优化
  • (70min)字节暑假实习二面(已挂)
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (七)Knockout 创建自定义绑定
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十六)一篇文章学会Java的常用API
  • (四) 虚拟摄像头vivi体验
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (五)Python 垃圾回收机制
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)C#调用WebService 基础
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • ***检测工具之RKHunter AIDE
  • .gitignore文件_Git:.gitignore
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .Net Web窗口页属性
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序