讓我們身臨其境地體驗(yàn)游戲中的各種效果
力反饋技術(shù)本來(lái)是應(yīng)用于軍事領(lǐng)域的一種虛擬現(xiàn)實(shí)技術(shù),主要用于飛行員、宇航員的模擬訓(xùn)練。隨著計(jì)算機(jī)技術(shù)的發(fā)展,大型街機(jī)游戲廠商開(kāi)始將這一技術(shù)引入電子娛樂(lè)領(lǐng)域,而隨著技術(shù)的不斷進(jìn)步,專(zhuān)注于PC游戲控制器的廠商,也開(kāi)始將力反饋技術(shù)應(yīng)用到他們的產(chǎn)品上,從而讓PC用戶(hù)也能享受到力反饋帶來(lái)的樂(lè)趣。
關(guān)于力反饋
所謂力反饋(Force Feedback),是一種機(jī)械表現(xiàn)出的反作用力,將游戲數(shù)據(jù)通過(guò)力反饋設(shè)備表現(xiàn)出來(lái)能讓我們身臨其境地體驗(yàn)游戲中的各種效果。力反饋技術(shù)能將游戲中的數(shù)據(jù)轉(zhuǎn)化成用戶(hù)可以感覺(jué)到的效果,例如顛簸效果或者推動(dòng)操縱桿時(shí)感受到的反作用力,這些效果都是力反饋控制芯片“播放”出來(lái)的。
由于最常見(jiàn)的力反饋效果都是以振動(dòng)的形式表現(xiàn)出來(lái)的,因此人們經(jīng)常會(huì)將游戲控制器的力反饋功能與振動(dòng)功能相混淆,其實(shí)這是完全不同的兩種技術(shù)。最為常見(jiàn)的帶有振動(dòng)功能的游戲控制器是SONY PS游戲機(jī)的Dual Shock手柄,Dual Shock手柄中包括兩個(gè)電動(dòng)機(jī)以及兩個(gè)大小不同的轉(zhuǎn)子,只能模擬出簡(jiǎn)單的或大或小的振動(dòng)。而力反饋技術(shù)則比較復(fù)雜,以飛行模擬搖桿為例,搖桿的X軸和Y軸分別通過(guò)齒輪或者鋼線(xiàn)連接到電動(dòng)機(jī),而電機(jī)則根據(jù)專(zhuān)用力反饋芯片發(fā)送的信號(hào)來(lái)工作。根據(jù)游戲中的實(shí)際情況,力反饋芯片可以模擬出真實(shí)的操縱感,而不是簡(jiǎn)單的振動(dòng)。比如,在控制飛機(jī)爬升時(shí),力反饋芯片會(huì)根據(jù)游戲中提供的數(shù)據(jù)模擬出飛機(jī)爬升時(shí)的反作用力,在搖桿上反應(yīng)出來(lái)就是拉動(dòng)搖桿時(shí)需要更大力度。
雖然力反饋技術(shù)也能提供振動(dòng)感,但與振動(dòng)是完全不同的技術(shù)。而目前市場(chǎng)上的很多“力反饋手柄”其真實(shí)名稱(chēng)應(yīng)該是“振動(dòng)手柄”—因?yàn)檫@些手柄不可能做出像力反饋搖桿一樣的效果,它能做到的只有“振動(dòng)”。其實(shí)大家注意看一下一些振動(dòng)手柄和力反饋搖桿的說(shuō)明就一目了然了,振動(dòng)手柄是Vibration Feedback (振動(dòng)反饋),而支持力反饋的設(shè)備則通常帶有Force Feedback(力反饋)字樣。
目前民用級(jí)力反饋技術(shù)主要掌握在Immersion與微軟兩家公司手中,它們也是目前力反饋產(chǎn)品市場(chǎng)的主要競(jìng)爭(zhēng)對(duì)手。雖然目標(biāo)相同,但在實(shí)現(xiàn)的原理上兩家公司卻有著很大的不同。在協(xié)議方面,Immersion公司推行它的i-Force協(xié)議,并提供i-Force API接口,而微軟則支持ActiveX(DirectX)的API接口;在控制芯片方面,Immersion公司的力反饋設(shè)備采用i-Force 2.0,而微軟則使用Sidewinder FF;在傳動(dòng)方面,微軟通過(guò)內(nèi)置的齒輪來(lái)產(chǎn)生一種機(jī)械式的振動(dòng),Immersion卻采用鋼纜進(jìn)行線(xiàn)性傳動(dòng)。
力反饋的主要技術(shù)
大家知道,力反饋技術(shù)有兩種標(biāo)準(zhǔn)協(xié)議。一種是美國(guó)Immersion公司提出的i-Force協(xié)議,它包括i-Force1.0和i-Force2.0兩個(gè)標(biāo)準(zhǔn)。早期的i-Force1.0協(xié)議由于采用數(shù)字和模擬信號(hào)并存的方式,因此信號(hào)傳輸率低,力反饋效果不理想;而97年制定的i-Force2.0協(xié)議采用了全數(shù)字傳輸和48MHz的16位微處理器,使得其力反饋性能顯著提高。i-Force 2.0協(xié)議是Immersion公司于1997年發(fā)布的,支持這個(gè)協(xié)議的當(dāng)然就是Immersion公司推出的i-Force 2.0芯片,這個(gè)芯片是一個(gè)觸覺(jué)處理芯片,與圖形加速芯片和聲音處理芯片類(lèi)似,只不過(guò)它是專(zhuān)為支持力反饋的計(jì)算機(jī)周邊設(shè)備設(shè)計(jì)的,可以提供加速、優(yōu)化等功能,使其模擬現(xiàn)實(shí)的效果更加流暢、逼真。i-Force 2.0是一塊16位、48MHz的RISC芯片,為了保證芯片能夠擁有足夠的數(shù)據(jù)速率,可以支持串口和USB口兩種連接方式。此外,i-Force協(xié)議為開(kāi)放式協(xié)議,所有游戲設(shè)備制造廠家都可以使用,如羅技、CH、ACT等等。
此外,Microsoft的Sidewinder FF協(xié)議也是市場(chǎng)上力反饋設(shè)備的主流協(xié)議之一,其性能上和i-Force2.0芯片相似,不過(guò)它采用的是與游戲口合二為一的MIDI口,其安裝和使用上有時(shí)會(huì)很讓人頭痛。此外,由于微軟沒(méi)有開(kāi)放Sidewinder FF標(biāo)準(zhǔn)協(xié)議,所以市場(chǎng)上支持Sidewinder FF標(biāo)準(zhǔn)協(xié)議的游戲控制器主要由微軟自己生產(chǎn)。
隨著技術(shù)的進(jìn)步,新一代力反饋感應(yīng)技術(shù)也開(kāi)始展露頭角,主要有i-Touch觸覺(jué)感應(yīng)技術(shù)和G-Force G-Tilte動(dòng)作感應(yīng)技術(shù)兩種。
i-Touch觸覺(jué)感應(yīng)技術(shù)主要用在鼠標(biāo)或軌跡球等產(chǎn)品中。通過(guò)i-Touch觸覺(jué)感應(yīng)技術(shù)捆綁相應(yīng)的觸覺(jué)感應(yīng)軟件,可以讓用戶(hù)自己建立具有個(gè)人風(fēng)格的觸覺(jué)反饋效果,比如在桌面、圖標(biāo)、菜單、超級(jí)鏈接上滾動(dòng)軌跡球時(shí),能體驗(yàn)到變化多端的力反饋效果,例如可以讓你“觸摸”到圖像的邊框或者體驗(yàn)“拖放”文件的不同感受。特別是為支持力反饋的游戲提供了更加真實(shí)的體驗(yàn),讓玩家感受到跑道上鵝卵石的顛簸、飛翔中猛烈的撞擊以及導(dǎo)彈發(fā)射的強(qiáng)大后坐力等。該產(chǎn)品支持200種以上的游戲軟件,包括《黑與白》、《半條命》以及《虛幻》等流行游戲。另外,它還支持所有應(yīng)用了i-Touch觸覺(jué)感應(yīng)設(shè)計(jì)的網(wǎng)站,可以發(fā)送帶有“觸覺(jué)”問(wèn)候的賀卡等,可通過(guò)軟件設(shè)置多種不同的力回饋和振動(dòng)方案。
而動(dòng)作感應(yīng)技術(shù)(G-Tilt)則主要用在動(dòng)感游戲控制器中,該技術(shù)是基于ADI公司的ADXL202雙軸iMEMS加速計(jì)提出來(lái)的,作為第四代加速計(jì)的ADXL202,其實(shí)是一種能感受重力、擺動(dòng)、振動(dòng)和運(yùn)動(dòng)的傳感器。在物理結(jié)構(gòu)上,實(shí)現(xiàn)G-Tilt或類(lèi)似技術(shù)需要通過(guò)一系列高靈敏傳感器來(lái)完成,它們能感知手柄外部重力和壓力的變化,并通過(guò)傳感器轉(zhuǎn)換為信號(hào),再由游戲手柄然進(jìn)一步將其“翻譯”并輸入游戲能識(shí)別的常規(guī)指令。簡(jiǎn)單的說(shuō)就是你只要在游戲時(shí)不斷傾斜移動(dòng)搖桿,就能完成飛機(jī)的上下起伏或左右搖擺??傊?,由于這項(xiàng)技術(shù)是在標(biāo)準(zhǔn)的游戲控制器中安裝一個(gè)重力感應(yīng)器,在游戲過(guò)程中游戲控制器傾斜時(shí),游戲控制器就會(huì)自動(dòng)給電腦發(fā)送一個(gè)游戲指令,不需要任何按鈕就可以完成要進(jìn)行的工作。運(yùn)用該技術(shù)的游戲控制器能感受到用戶(hù)任何細(xì)微的動(dòng)作和方向,可精確感應(yīng)動(dòng)作的傾斜度(包括上、下、前、后、左、右等所有三維空間的運(yùn)動(dòng)角度),同時(shí)將使用者身體的動(dòng)作轉(zhuǎn)換成游戲所能識(shí)別的信號(hào)指令,并在游戲中產(chǎn)生相應(yīng)的動(dòng)作,使用戶(hù)可以用更加自然和直覺(jué)的方式來(lái)控制游戲的進(jìn)行。動(dòng)作感應(yīng)技術(shù)這項(xiàng)技術(shù)是由力回饋技術(shù)衍生的,它的作用剛好與力反饋技術(shù)相反:力反饋技術(shù)是將游戲中的效果盡可能真實(shí)地反映給玩家,而動(dòng)作感應(yīng)技術(shù)則是將玩家的動(dòng)作轉(zhuǎn)化成游戲指令,從而控制游戲。
力反饋的實(shí)現(xiàn)途徑
雖然各公司研發(fā)的力反饋技術(shù)稍有不同,但根本原理是一樣的。因?yàn)閷?shí)現(xiàn)力反饋技術(shù)的過(guò)程離不開(kāi)電動(dòng)機(jī)。所以,力反饋技術(shù)實(shí)際上可以理解成是對(duì)電動(dòng)機(jī)的操作。以TouchSens為例,實(shí)際上i-Touch芯片的作用是將游戲或者鼠標(biāo)箭頭與物件接觸時(shí)的信息轉(zhuǎn)換成對(duì)應(yīng)的一組波形數(shù)據(jù)并發(fā)送給電動(dòng)機(jī)控制芯片,而電動(dòng)機(jī)會(huì)根據(jù)相應(yīng)波形數(shù)據(jù)運(yùn)作,從而實(shí)現(xiàn)力反饋效果。而電動(dòng)機(jī)做出反應(yīng)后,如何將效果反饋給玩家,各個(gè)廠商之間使用的方式也各不相同。
以羅技公司為代表的廠家所采用的是“線(xiàn)傳動(dòng)技術(shù)”,而以微軟為代表的廠家采用的是“齒輪傳動(dòng)技術(shù)”。“齒輪傳動(dòng)技術(shù)”這種方式成本較低,效果也很不錯(cuò),但在長(zhǎng)期高強(qiáng)度使用后連續(xù)振動(dòng)時(shí)可能出現(xiàn)齒輪打滑。因?yàn)辇X輪的“牙”之間因?yàn)榧庸ぞ鹊年P(guān)系難免會(huì)出現(xiàn)微小的間隙,這些細(xì)小的間隙會(huì)在搖桿反復(fù)振動(dòng)的時(shí)候影響力反饋的效果,而且隨著使用時(shí)間越來(lái)越長(zhǎng),這些間隙因?yàn)辇X輪間的相互磨損也會(huì)越來(lái)越大,如果齒輪本身材質(zhì)不特別好的話(huà),還有可能會(huì)造成齒崩裂,這時(shí)這個(gè)搖桿的壽命也就到頭了。而“線(xiàn)傳動(dòng)技術(shù)”是利用綱纜線(xiàn)為傳動(dòng)方式,比起齒輪振動(dòng)來(lái)它的效果更為細(xì)膩和敏銳,其振動(dòng)頻率可達(dá)每秒250次,但其成本較高。而在使用時(shí)間長(zhǎng)了以后,鋼纜會(huì)因?yàn)槭艿椒磸?fù)拉扯的關(guān)系而伸長(zhǎng),造成靈敏度降低,而且萬(wàn)一鋼纜斷裂的話(huà),力反饋效果也就失靈了。
API——應(yīng)用程序接口
API全稱(chēng)為Application Programming Interface(應(yīng)用程序接口),力反饋要想在軟/硬件上自由發(fā)揮就需要API的幫忙。常見(jiàn)的力反饋API有i-Force API、Sidewinder FF API、i-Touch API和DirectX API等,其中DirectX API兼容性最好。DirectX是微軟提出的一種API,DirectX讓開(kāi)發(fā)者能夠針對(duì)這些接口做開(kāi)發(fā),而不用對(duì)不同的顯卡、聲卡、搖桿和其它特殊裝置去單獨(dú)開(kāi)發(fā)。在DirectX出現(xiàn)之前,硬件制造廠商設(shè)計(jì)出一個(gè)全新的多媒體產(chǎn)品之后編寫(xiě)一個(gè)驅(qū)動(dòng)程序非常麻煩,而且還經(jīng)常會(huì)出現(xiàn)與硬件不兼容的情況,而DirectX的出現(xiàn)將這一切變得容易和簡(jiǎn)單。DirectX提供了一系列的API供Windows操作系統(tǒng)使用,它主要包括以下的模塊:DirectDraw、Direct3D、DirectInput、DirectSound、DirectPlay、DirectShow和DirectMusic,其中DirectInput主管游戲數(shù)據(jù)的輸入,這些數(shù)據(jù)可以是來(lái)自鍵盤(pán)、鼠標(biāo)、游戲手柄或者其他力回饋等設(shè)備,在DirectX 5.0以后的DirectInput中加入了力反饋支持:DirectX 5.0以前,DirectInput支持從鼠標(biāo)和鍵盤(pán)讀取輸入,而在DirectX 5.0中,DirectInput被擴(kuò)充到支持具有以物理力的形式向用戶(hù)傳播反饋的能力的設(shè)備。
DirectInput為游戲桿、頭盔、多鍵鼠標(biāo)以及力回饋設(shè)備等各種輸入設(shè)備提供了最先進(jìn)的接口,通過(guò)直接與設(shè)備驅(qū)動(dòng)程序配合,DirectInput繞過(guò)了Windows消息系統(tǒng),可提供最佳的性能。DirectInput的一個(gè)重要特性就是操作映射,通過(guò)操作映射能夠在輸入操作和輸入設(shè)備之間建立連接,你只需輸入設(shè)備處理指令,而不必再依賴(lài)特定的設(shè)備對(duì)象,操作映射是支持輸入設(shè)備方面的一個(gè)重大進(jìn)步。操作映射簡(jiǎn)化了輸入循環(huán),降低了游戲中對(duì)自定義游戲驅(qū)動(dòng)程序、自定義設(shè)備分析器和自定義配置用戶(hù)接口的需要。操作映射也包括了默認(rèn)的用戶(hù)接口,使用戶(hù)可以快速簡(jiǎn)便地配置設(shè)備。此外,DirectInput目前支持很多不同的效果類(lèi)型,這些效果的范圍從完全由程序控制的低級(jí)持續(xù)力效果到由DirectInput或設(shè)備自己控制的高級(jí)傾斜或波動(dòng)效果。效果有四種基本類(lèi)型:持續(xù)力、傾斜效果、周期效果和條件。持續(xù)力是單一方向上不改變強(qiáng)度的力。傾斜效果是強(qiáng)度隨時(shí)間線(xiàn)性變化的持續(xù)的力。周期效果是沿著給定的軸重復(fù)變化,其量級(jí)或者力的強(qiáng)度由周期效果定義。條件則是對(duì)用戶(hù)與游戲桿的交互作用做出響應(yīng)的效果。這種效果類(lèi)似一根彈簧,操縱桿向某個(gè)方向推得越遠(yuǎn),反彈力就越強(qiáng)。