加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 网络游戏 > 网页游戏 > 正文

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

发布时间:2020-03-05 07:23:51 所属栏目:网页游戏 来源:站长网
导读:副标题#e# 玩射击游戏使用键盘和鼠标好一些?还是使用手柄好一些?在面对这种问题时,相信很多人都会毫不犹豫地选择键盘和鼠标,因为这种操作方式相比于手柄操作更加精准。但其实还有一种更加原始、更加直接、更加容易上手的操作方式被大部分玩家所遗忘,那
副标题[/!--empirenews.page--]

  玩射击游戏使用键盘和鼠标好一些?还是使用手柄好一些?在面对这种问题时,相信很多人都会毫不犹豫地选择键盘和鼠标,因为这种操作方式相比于手柄操作更加精准。但其实还有一种更加原始、更加直接、更加容易上手的操作方式被大部分玩家所遗忘,那就是指哪打哪的光枪。不知道有多少朋友好奇过,为什么一把塑料玩具枪冲着屏幕来一枪,就能够击中游戏中的角色?那么今天硬核的AGamer就来与各位聊聊隐藏在光枪背后的秘密吧。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  第一代光枪与《打鸭子》

  早在FC红白机时期,就已经有光枪外设的存在了。与FC同捆发售的光枪外设具有手枪的外观,因此在日本的命名为“光线铳”,而欧美的名称则是“Zapper”。虽然它不是第一款光枪,但却是第一代光枪中名气最大的一款。尽管外形看上去是“枪”,名字里面也包含“枪”,但它并不是真正的“枪”,只不过是一个摄像头罢了。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  Zapper光枪

  那么摄像头是如何当做“枪”来使用的呢?大名鼎鼎的光枪游戏《Duck Hunt》,也就是国内俗称的《打鸭子》,相信绝大多数玩家都比较了解,下面就用《打鸭子》来分析一下第一代光枪的原理。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  经典光枪游戏《打鸭子》

  首先要知道的是,对于游戏来讲,屏幕并不是一整块的大区域,而是会被分为NxN的小区域。当玩家扣动光枪扳机时,屏幕会变成全黑色,这是用来检测光枪是否正对着屏幕。随后屏幕中的鸭子(目标区域)会依次变成白色,除了当前的鸭子是白色外,其他区域都是黑色。同一时刻最多只能有一直鸭子变白色,这是为了保证当前检测鸭子的唯一性。所有鸭子轮流变白一遍后,画面恢复正常,整个过程大约持续0.1秒。在这段时间内,光枪中的摄像头会去检测正对着的物体是否是白色,如果是白色则判断射击命中鸭子,否则就判断射击落空。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  4个状态

  这种检测方式虽然巧妙,但是也存在着弊端:

  1。因为光枪中摄像头只判断正对着的是否是白颜色,无法判断光枪正对着的精确位置,也就是说在检测瞬间对着白纸开枪也是会被系统判定为命中的。

  2。这种游戏的原理注定要利用屏幕闪烁才能实现,因此目标越多,闪烁就越厉害,对眼睛的伤害就越大。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  实际效果

  第二代光枪与阴极射线管

  到了SFC超级任天堂时期,光枪也随之得到了升级。但是第二代光枪Super Scope必须配合采用隔行显示的CRT(阴极射线管)电视(俗称“大脑袋”或者“大屁股”电视)才能使用。这里知识点比较多,让我们一步步来了解。

指哪打哪的游戏是如何实现的? 揭秘光枪背后的原理

  SFC的光枪Super Scope

  CRT电视的图像显示原理

  CRT(Cathode Ray Tube,阴极射线显像管)电视里面有一根真空管,一个或多个电子枪。当电子枪射出的电子束轰击荧光屏上时,就会让屏幕内测的荧光粉发光,众多的发光点按照一定的规则排布就形成了图像。

CRT电视原理CRT电视原理

  荧光粉受到高速电子的轰击时会吸收能量,其中的电子会从低能级跃迁到高能级,但由于高能级非常不稳定,马上又会从高能级回到低能级,并将能量以荧光(光能)的形式释放出来。这就意味着电子束轰击屏幕所能维持的发光时间是很短的,想要让屏幕稳定的发光就必须持续发射电子束。

荧光原理荧光原理

  电子枪并不是同时发出大量电子束同时打在屏幕上的,而是从电视屏幕的左上角开始,由左至右、从上到下以Z字型的轨迹扫过整个屏幕的。由于人眼具有视觉暂留现象(Persistence of vision),即在看到光的作用结束后,视觉影响并不立即消失, 而是暂留时间约为0.1至0.4秒(中等亮度的光刺激),于是便能够将屏幕上的发光点识别为一幅完整的影像。

扫描束扫描束

  隔行显示与逐行显示

  按照正常的思路思考,电子束应该就是一行接着一行地扫描的,但事实并非如此。CRT有PAL和NTSC两种制式(区别见注释1),这里以国内国内使用的PAL制式说明,因为PAL电视垂直方向有625行扫描线,如果电子束一行一行地扫到最后一行最后一个点时,第一行第一个点可能早就熄灭了(带宽不够)。于是人们便想到了一个解决方式,那就是第一次扫描只扫描1,3,5的奇数行,第二次扫描只扫描2,4,6的偶数行,两次叠加就能够拼成完整的画面了。因为这种扫描方式是间隔着扫描的,也就取名为“隔行扫描”(interlaced scan),而一行接着一行扫描的方式就叫做“逐行显示”(progress scan)。

隔行扫描隔行扫描

  常常听到的480p和480i后面的字母就是表示扫描方式是逐行还是隔行。下面用一张动图来直观地表现一下这两种扫描方式的差别,虽然用时相同,但是感觉却是不同。假设显示一张完整的图(一帧画面)需要10秒钟,那么在5秒钟时,逐行扫描只能看到半个屏幕,剩下半个屏幕内容完全未知。但是隔行扫描已经可以大致猜出来要显示的内容了,剩下的靠自己脑补就足够了,无非就是一些细节可能猜不到而已(注释2)。

逐行扫描与隔行扫描逐行扫描与隔行扫描

  注释1:

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读