对FC(红白机或8位)射击游戏的疑惑?
问题描述:
我小时候有个带枪的FC。在附带的卡带里,有一个射击易拉罐和瓶子的游戏,就是我拿着枪对着电视屏幕射击。这样一个游戏的原理是什么?里面有传感器吗~ ~?它是如何判断我的枪是否瞄准目标的?~ ~奇怪
分析:
呵呵,我也是Fc游戏玩家,记得第一次打通超级马里奥的时候,很爽。。
这里有更详细的解释,可以参考这位热心网友写的原理介绍。希望对感兴趣的朋友有帮助。
这是一个八位时代,但是很多人不知道它是怎么运作的。那就是“光枪”。
自从VR COP上市以来,光枪就吸引了大家的目光。很多人会问一个问题:电视机没有传感器,怎么接收光枪的信号?
这个问题曾经困扰过我,但是感谢VR COP的发布,我从一本日本杂志上看到了枪的原理,恍然大悟。原来接收信号的是枪,而不是电视,所以玩光枪游戏的时候不需要在电视上安装传感器。所以,我想写这篇文章为玩家服务。
这里有三点来说明光枪的原理:
一、电视的成像原理。
你可能会惊讶,有人说传感器不是电视而是枪,那为什么还要谈电视的定向原理呢?这是一个很大的原因,因为光枪可以知道要射击的目标的坐标,这取决于现在电视的特点(错屏)。
众所周知,电视信号是由扫描线组成的。以现在的三站为例。三站信号为512扫描线。那这条512线是怎么来的?也就是电台一个一个的发送信号(因为手握微波不可能发送整张图片,即使其带宽很宽也只能增加数据量),512是由512行组成的图片。电视每秒发出30个画面,也就是说电视的电子枪频率是512*30/秒(这是三台的信号),但一般电视都大于这个数。如下图所示:
╭——————————————╮
│→→→→→→→→→→→→→→│
│→→→→→ │
│ │
│ │
│ │
│ │
│ │
╰——————————————╯
它是由电子枪从左到右、从上到下发射出去的。黑白电视只需要发送亮度数据,彩色电视也需要发送三原色的数据。屏幕为什么会亮是因为电子枪发出的信号打在营地后面的荧光物质上,荧光物质受到辐射照射就会发光!
从上面可以看出为什么宽屏大尺寸电视更贵。因为电子枪的振动幅度比较大。高清电视之所以更贵,是因为振动数远高于普通电视。利用这个特性,光枪就可以知道我们射击的目标的坐标值。
第二,光枪怎么知道我们在拍哪里?
这才是重点。光枪里有一个传感器,只接收特定频率的光(肉眼看不到),当乐器向电视发送信号时,它会在每个圆点后为光枪添加一个信号。光枪里有定时器。当每张图片第一个点的信号发出时(这个信号是游戏仪器提供的),计时器开始计时。当传感器接收到信号时,计时器得到被信任的时间,然后可以从这个时间计算出坐标。(有点难!)如下图所示:
╭——————————————╮
│→→→→→→→→→→→→→→│
│→→→→→→→→→→→→→→│
│→→→→→→→→→→→→→→│
│→→→→→⊙ │
│ │
│ │
│ │
╰——————————————╯
当信号从左到右、从上到下发出时,需要时间(虽然很短)。当枪瞄准⊙时,特殊频率的光从左上角开始。当达到⊙时,传感器接收信号,计时器记录时间,这样乐器就可以知道坐标了。所以只要枪对准屏幕,电脑就会知道坐标。
而有些人可能会疑惑,屏幕大小不影响吗?节目会因为屏幕的原因被修正吗?答案是否定的,因为程序是按照扫描频率计算的。所以屏幕的大小只涉及点与点之间的间距,与频率无关。以上动作计算到VRCOP每秒30次。因此,枪内计时器越精确(最小时间单位越小),枪的精度就越高。所以VR枪的精度极差(在屏幕前也会有偏差)是因为定时器的IC不好。这就是为什么原装VR枪不便宜的原因。
为什么当我们扣动扳机的时候枪知道该打哪里?那很简单。枪的扳机本身就是一个开关。当按下它时,游戏仪器会发出另一个信号(枪也可以关闭,我们会发现屏幕会闪烁)。坐标算法还是和上面一样(其实对程序来说更简单,因为只需要计算这个时刻的数据)。
从上面的介绍,你应该对光枪有所了解!
第三,关于光枪的问题。
?为什么光枪不能用在投影电视和液晶电视上?
因为投影电视和液晶电视的成像原理和一般电视不一样。它们不是通过扫描线成像的,所以光枪无法计算坐标,所以无法使用。反正只要不用显像管,就不能用电视!)
?为什么小于20寸的屏幕不行?
因为当屏幕小于20寸时,点与点的距离太近,小于光枪的误差值,虽然都可以用,但误差会很大。(反正大家也不会用14寸电视玩VR COP来折磨自己。)
bbs.emumax/simple/index.php? t 23620
===============
================
FC光枪的原理
资料来源:levelup
和我们想象的不一样,光枪只能接收光,不能发光。光枪收到光后会把枪瞄准点的信号发回游戏机,相应的软件会告诉主机枪瞄准的位置。
那么软件如何测量位置呢?如果你仔细观察,当扣动扳机时,无论枪是否对准屏幕,屏幕上总会有一个闪光,而这个由软件控制的白色边框就是光枪定位的关键。在此之前,我们有必要看一下隔行扫描电视的成像方式:
在PAL\NTSC的CRT电视中,扫描线是图像产生的方式。以NTSC为例。每次扫描一幅图像,不是在六十分之一秒内从头到尾连续扫描525条扫描线,而是只扫描一半,即262.5条线,剩下的一半再用六十分之一秒扫描。第一次扫描只从上到下水平扫描奇数行,第二次扫描扫描偶数行。由二次扫描产生的场被组合成一个完整的图像帧。因为扫描是奇数和偶数扫描线交替交错进行的,所以称为隔行扫描。
按下触发器后,游戏软件控制主机发送全白帧。如前所述,电视显示需要从上到下从左到右扫描这一帧,所以从扫描这一帧的第一点开始,枪口就接收到了白光(注:虽然枪口看起来很大,但真正能接受光线的感光机构的可接受范围很小,所以只会瞄准屏幕上的一个小范围,这个范围比两条扫描线的距离稍大。可以认为是瞄准了一个“点”),可以通过时间差T(pos)计算出坐标位置,假设光从屏幕到光枪的传播时间为0。在NTSC的情况下,隔行扫描帧的显示时间是:0.0167秒(60Hz)。这里为了方便大家理解计算过程,暂定理想情况:扫描线无消隐时间,帧无消隐时间,扫描线回扫时间为0,扫描线为***480线(实际有525条扫描线,但真正有成像能力的只有480线左右)。
所以每条扫描线所需的扫描时间为T(scanline)=0.0167/480,所以我们可以计算
垂直位置:
Y=Trunc(T(位置)/T(扫描线))
水平位置:
X=(T(位置)-Y×T(扫描线))/T(扫描线)×640
如果所有情况下(扫描线消隐,回扫,有效扫描线等。)都考虑到了,计算过程要复杂得多,但原理仍是建立在上述de“理想情况”的基础上。
其实在发送全白边框之前,游戏机还会发送全黑边框,可以去除游戏屏幕上高亮颜色的干扰。
简单来说,光枪的工作原理是:
扣动扳机——电缆将信号发送给主机——软件命令电视发出白色帧——枪口将接收到的光信号传回主机——软件计算时差计算位置——命令电视发出命中点——如果正好在目标上,恭喜你,你击中了!
基于以上分析,我们可以得出这样的结论:
1,光枪对电视没有伤害,因为它只接受光而不发射光。
2、光枪不能用于逐行电视,因为逐行电视的成像原理与隔行电视完全不同。它从第一条扫描线连续扫描到屏幕图像的最后一条,而不是先扫描奇数行再扫描偶数行。当然不能应用在带电视卡和液晶设备的显示器上。事实上,SEGA和NAMCO都开发了与先进设备相对应的射线枪系统,但由于其成本高昂,目前不太可能出现在家用电脑上。
3、其他注意问题。a .光枪不能在14寸以下的电视机上使用;b对于一些老电视机,可能需要调低亮度,避开荧光灯,以提高定位精度;c .对于一些过扫描比例过大的电视机,可能拍不到边缘是正常的,不是原装光枪。
注意:什么是过扫描?一般来说,电视机会有5%左右的过扫描,以免出现呼吸效应时(内部电压变化较大时)露出难看的黑边和曲边。在很多CRT中,低档显示器的边缘几何失真比索尼Teletron等高档显示器严重得多,因为控制几何失真需要精湛的制造技术,即使索尼也无法做到100%垂直,这是CRT本身的短板。电视机也是如此,甚至比显示器更明显。有些厂商为了掩盖自身技术的缺陷和变形过大的印象,故意过扫描到10%的上限,使得显示面积和清晰度下降,甚至可能影响光枪的边缘定位。
geminight/BBS/dispbbs.asp?boardID = 6 & ampID=1959