指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理

遊資網發表於2020-03-04
玩射擊遊戲使用鍵盤和滑鼠好一些?還是使用手柄好一些?在面對這種問題時,相信很多人都會毫不猶豫地選擇鍵盤和滑鼠,因為這種操作方式相比於手柄操作更加精準。但其實還有一種更加原始、更加直接、更加容易上手的操作方式被大部分玩家所遺忘,那就是指哪打哪的光槍。不知道有多少朋友好奇過,為什麼一把塑料玩具槍衝著螢幕來一槍,就能夠擊中游戲中的角色?那麼今天硬核的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電視原理

熒光粉受到高速電子的轟擊時會吸收能量,其中的電子會從低能級躍遷到高能級,但由於高能級非常不穩定,馬上又會從高能級回到低能級,並將能量以熒光(光能)的形式釋放出來。這就意味著電子束轟擊螢幕所能維持的發光時間是很短的,想要讓螢幕穩定的發光就必須持續發射電子束。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
熒光原理

電子槍並不是同時發出大量電子束同時打在螢幕上的,而是從電視螢幕的左上角開始,由左至右、從上到下以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:

PAL電視標準是:每秒25幀,電視掃描線為625線,奇場在前,偶場在後,標準的數字化PAL電視標準解析度為720*576, 24位元的色彩位深,畫面的寬高比為4:3, PAL電視標準用於中國、歐洲等國家和地區。

NTSC電視標準是:每秒29.97幀(簡化為30幀),電視掃描線為525線,偶場在前,奇場在後,標準的數字化NTSC電視標準解析度為720X486, 24位元的色彩位深,畫面的寬高比為4:3。NTSC電視標準用於美、日等國家和地區。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
遊戲外包裝標明制式

註釋2:

隔行掃描上可能會使得二維碼顯示不完全,用手機掃描CRT電視上的二維碼無法識別就是這個原因。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
隔行掃描無法識別二維碼

  • 第二代光槍原理


雖然光槍槍口看上去較大,但是真正感受光的元件接收範圍還是很小的,光槍對準螢幕的範圍略大於兩行掃描線距離,因此隔行掃描時可以認定為對準的就是一個“點”。當玩家按下光槍扳機時,電視會先按照隔行掃描的方式繪製一個全白色的幀,當光槍收到白色訊號時,遊戲就可以計算出光槍對準的位置了。例如一行有10點,每個點掃描1秒,那麼當光槍在第25秒收到白色訊號時,就可以推算出它在第3行第5列。當然這只是為了便於理解的簡化模型,實際上還要考慮消隱時間、掃描線迴歸時間等等。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
紅色代表白色訊號的掃描方式(簡化)

如果遊戲判斷光槍位置與遊戲目標位置相同,那麼就判定為命中了。這種光槍的優點就在於精確度更高,而且不會出現第一代光槍那種作弊漏洞。而採用這種方式製作的遊戲,也不用頻繁重新整理畫面,也不那麼累眼睛。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
SFC光槍遊戲

第三代光槍與紅外線

隨著科技的進步,CRT電視逐漸被背投電視、等離子電視和液晶電視所取代,第二代光槍就很難有用武之地了。這時任天堂又推出了不依靠CRT電視就可以遊玩的第三代光槍,也就是2006年誕生的,以體感為賣點的Wii。與之前的主機與光槍配件的搭配形式不同,這次手柄與光槍合二為一,既可以當做控制器,又可以當做光槍。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
任天堂Wii

Wii主機上的黑色條狀部件叫做感應條(sensor bar),裡面左右分別裝有一個紅外線LED。當用Wii手柄的前方對準螢幕時,手柄前方的紅外攝像頭會根據感應條中的兩個LED光源的位置進行計算,從而得出手柄前方正對著的位置。需要說明的是,平時Wii手柄與Wii主機是通過藍芽連結,而非紅外線,所以玩非光槍類遊戲沒有必要將手柄正對著螢幕。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
Wii手柄配合支架

如果Wii的感應條失靈了的話,也有一些奇葩方式來修復,其中一種就是使用兩個蠟燭來代替感應條中的紅外線LED。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
蠟燭代替紅外光源

在一些大型電玩廣場裡經常能夠看到光槍遊戲,《VR特警》和《死亡之屋》就是兩款非常流行的遊戲。其實街機光槍遊戲也有CRT顯示器和液晶兩種,前者的原理同前兩代光槍,後者的原理類似於Wii。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
街機光槍遊戲

擴充知識

索尼在PS3和PS4平臺都推出了相應的體感外設控制器PS Move,配合槍托可以當做光槍來使用,但是原理卻與前面提到的有所不同。PS Move前端配備會發出不同顏色光線的圓球,配套的PS Eye攝像頭會以2D影像辨識方式追蹤圓球位置。也就是說這種是通過攝像頭來進行捕捉,與微軟的Kinect的原理頗為類似。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
PS Move

光槍遊戲興起與衰落

光槍遊戲曾經風靡世界,但現在已經比較小眾了,這都是其玩法機制導致的。常見的光槍遊戲有兩種,一種是類似於《打鴨子》,場景固定,只能守候目標出現。這種機制註定了遊戲內容不會太深,放到一些娛樂場所供大眾遊玩或者比賽效果還是不錯的,但是長時間玩容易感到單調。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
固定背景

另一種類似於《VR特警》,玩家雖然也只能等候目標出現,但是遊戲場景是變化的。玩家不能控制鏡頭畫面,只能根據遊戲自身進度進行前進、後退、轉身等等,因此這類也叫作“軌道式射擊”。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
軌道式射擊

軌道式射擊可以根據玩家的操作來決定接下來的行走路線,大大豐富了遊戲的內容。很多大型遊戲中心都會置備幾臺這種遊戲,早年的《死亡之屋》和《VR特警》非常普及,之後也出現了螢幕更大,效果更好的《第一滴血》,近幾年還出現了可以坐在車上的《叢林冒險》和《海盜大冒險》,更有支援4人聯機、帶有駕駛艙的《光環:渡鴉小隊》。一些玩家會因好奇心而體驗一下,但很少見到反覆遊玩的。

指哪打哪的遊戲是如何實現的? 揭祕光槍背後的原理
《光環:渡鴉小隊》大型駕駛艙

光槍遊戲可以說是時代的產物,在電子遊戲還處於早期階段時,使用手柄遊玩射擊遊戲是比較困難的。光槍外設的出現讓玩家可以憑藉身體本能進行遊玩,指哪打哪的體驗非常好。但隨著電子遊戲不斷髮展,遊戲的操作越來越複雜,單憑光槍一個扳機鍵已經無法滿足遊戲的需要了,加上鍵盤與滑鼠的出現,可以實現更加快速精準的打擊,光槍遊戲逐漸邊緣化,更加偏向體驗和休閒。感謝光槍遊戲在那個時代帶給我們的快樂,期待光槍遊戲在未來能夠有所突破。

來源:AGamer
原地址:https://www.toutiao.com/a6799169452416958988/

相關文章