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