版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要□□隨著近年來(lái)電競(jìng)業(yè)與游戲業(yè)的逐漸成熟以及規(guī)范化,游戲的受歡迎程度也是越來(lái)越高。游戲已經(jīng)成為了相當(dāng)一部分人在繁忙的工作學(xué)習(xí)中獲得放松的最主要的途徑。從2D到3D游戲,游戲畫(huà)面變得越來(lái)越真實(shí),使玩家能夠在玩游戲時(shí)做到身臨其境,不僅從游戲中獲得快樂(lè),甚至能得到對(duì)生活有用的知識(shí)。Unity3d是一款十分成熟的游戲開(kāi)發(fā)軟件。經(jīng)過(guò)多年的改進(jìn)與發(fā)展,Unity3d一直占據(jù)著游戲開(kāi)發(fā)的市場(chǎng)中占有一席之地。本次課題以Unity3d為游戲開(kāi)發(fā)引擎編寫(xiě)3D模擬駕駛類(lèi)游戲,借助了NWHVehiclePhysics插件進(jìn)行汽車(chē)物理系統(tǒng)的開(kāi)發(fā),玩家將會(huì)的到較為真實(shí)的駕駛手感體驗(yàn)。本課題旨在實(shí)踐中學(xué)習(xí)游戲制作的基本方法,探索設(shè)計(jì)游戲的基本思路。玩家需要通過(guò)鍵盤(pán)控制汽車(chē),在模擬的城市場(chǎng)景中遵守系統(tǒng)設(shè)置好的交通規(guī)則,避免發(fā)生碰撞,在整個(gè)游戲過(guò)程中,玩家會(huì)在路上遇到堵車(chē)甚至撞車(chē)等路況,可以從中體驗(yàn)到真實(shí)的駕駛體驗(yàn)。該駕駛模擬器有著較高的自由度,玩家可以通過(guò)探索來(lái)發(fā)現(xiàn)更多的樂(lè)趣?!蹶P(guān)鍵詞:Unity3d駕駛模擬交通規(guī)則Abstract□Withthegradualmaturityandstandardizationofcallcompetitionandgameindustryinrecentyears,thepopularityofgamesisalsoincreasing.Gameshavebecomethemostimportantwayforaconsiderablenumberofpeopletorelaxintheirbusyworkandstudy.From2Dto3Dgames,thegamepicturebecomesmoreandmorereal,sothatplayerscanplaythegameinrealtime,notonlygetpleasurefromthegame,butalsogetusefulknowledgeforlife.Unity3disaverymaturegamedevelopmentsoftware.Afteryearsofimprovementanddevelopment,unity3dhasbeenoccupyingaplaceinthegamedevelopmentmarket.Inthisproject,unity3disusedasthegamedevelopmentenginetowrite3Dsimulationdrivinggames,andNWHvehiclephysicsplug-inisusedtodevelopthevehiclephysicalsystem,sothattheplayerswillhaveamorerealdrivingexperience.Thistopicaimstolearnthebasicmethodsofgamemakinginpracticeandexplorethebasicideasofgamedesign.Theplayerneedstocontrolthecarthroughthekeyboard,abidebythetrafficrulessetbythesysteminthesimulatedurbanscene,andavoidcollision.Inthewholeprocessofthegame,theplayerwillencountertrafficjamsorevencrashesontheroad,fromwhichhecanexperiencetherealdrivingexperience.Thedrivingsimulatorhasahighdegreeoffreedom,playerscanfindmorefunthroughexploration.□□Keywords:Unity3dDrivingsimulatorTrafficrule目錄第一章緒論………………11.1選題的目的及意義……………………11.2研究現(xiàn)狀………………11.2.1市場(chǎng)狀況………11.2.2研究?jī)?nèi)容…………21.3章節(jié)安排……………2第二章Unity引擎與插件使用說(shuō)明…………32.1游戲引擎介紹………32.2Unity3d常用組件……………………32.3物理引擎……………32.4Unity引擎的常用函數(shù)……………42.5UI組件……………52.6插件…………………5第三章游戲設(shè)計(jì)介紹………63.1場(chǎng)景設(shè)計(jì)…………63.1.1地形的繪制……………………63.1.2場(chǎng)景的繪制……………………73.2建筑物設(shè)計(jì)………73.3游戲UI設(shè)計(jì)………73.3.1圖形用戶(hù)界面……………………83.3.2儀表盤(pán)設(shè)計(jì)……………………93.3.3后視鏡UI設(shè)計(jì)……………………93.3.4小地圖設(shè)計(jì)……………………103.4燈光的設(shè)計(jì)………103.5游戲按鍵設(shè)置………11第四章汽車(chē)參數(shù)的設(shè)置與說(shuō)明……………134.1汽車(chē)的設(shè)計(jì)………134.1.1設(shè)置WC3D………144.1.2聲音……………154.1.3滑痕……………164.1.4燈………………164.1.5損害……………184.1.6翻轉(zhuǎn)…………194.1.7地面類(lèi)型探測(cè)……………………194.2具體功能實(shí)現(xiàn)………194.2.1汽車(chē)移動(dòng)腳本……………………194.2.2質(zhì)心………………204.2.3下壓力……………224.3UTSPRO……………224.4碰撞檢測(cè)……………244.5鏡頭切換……………254.6角色管理器……………274.7檔位…………………284.8Vehiclechanger腳本……………29第五章.游戲測(cè)試……………315.1設(shè)備環(huán)境……………315.2游戲運(yùn)行結(jié)果………315.3測(cè)試結(jié)果分析………32第六章.展望與總結(jié)………33參考文獻(xiàn)………………………34致謝…………35廣東東軟學(xué)院本科畢業(yè)設(shè)計(jì)(論文)緒論1.1選題的目的及意義隨著計(jì)算機(jī)科學(xué)技術(shù)突飛猛進(jìn)的發(fā)展,游戲行業(yè)也被帶動(dòng)得風(fēng)生水起。從最早的紅白機(jī)系列再到稍早的主機(jī)時(shí)代,之后更是在PC端大放異彩,現(xiàn)在甚至我們可以在移動(dòng)端玩上一些跨平臺(tái)移植過(guò)來(lái)的3A大作。在這種的大環(huán)境下,游戲業(yè)也是來(lái)到了一個(gè)良性循環(huán),越來(lái)越多的公司會(huì)將資金投入到游戲的創(chuàng)作與研發(fā)當(dāng)中,這也使游戲市場(chǎng)的競(jìng)爭(zhēng)越發(fā)激烈。隨著VR和5G的到來(lái),為了搶占市場(chǎng)份額,游戲公司也加大力度開(kāi)發(fā)各種新穎的游戲,而Unity3D這款靈活多變可供多平臺(tái)的游戲開(kāi)發(fā)引擎,受眾非常廣泛。Unity3D是由UnityTechnologies開(kāi)發(fā)的一款游戲引擎,【1】它也是3D游戲開(kāi)發(fā)中的佼佼者。3D游戲作為目前主流的游戲類(lèi)型,游戲的空間感和立體感會(huì)比2D游戲更強(qiáng),而游戲的適應(yīng)性以及娛樂(lè)性則會(huì)比尚未成熟的VR游戲更加強(qiáng)。簡(jiǎn)單來(lái)說(shuō),3D游戲就是三維游戲,它的實(shí)質(zhì)是利用光線和陰影的變化通過(guò)平面來(lái)體現(xiàn)縱深感,使玩家能對(duì)物體產(chǎn)生長(zhǎng)寬高的感覺(jué),從而達(dá)到具有立體感的3D游戲的效果[2]。在眾多的游戲種類(lèi)中,模擬游戲是一個(gè)比較廣泛的、接近生活的類(lèi)型。玩家可以通過(guò)模擬類(lèi)游戲去體驗(yàn)游戲設(shè)計(jì)者所設(shè)計(jì)出的世界,一個(gè)與現(xiàn)實(shí)世界相似卻不相同的游戲世界。仿真程度越高,意味著游戲更貼近現(xiàn)實(shí),一些生活中無(wú)法遇到的狀況就可以通過(guò)游戲(也可以說(shuō)是模擬器)進(jìn)行模擬,目前在研究方面,許多的物理現(xiàn)象都需要通過(guò)模擬器的幫助進(jìn)行研究。退一步來(lái)說(shuō),對(duì)于平民百姓,模擬類(lèi)游戲也可以對(duì)生活中無(wú)法遇到的事情進(jìn)行模擬,使玩家能夠從中獲取到生活中沒(méi)有的經(jīng)驗(yàn)與知識(shí)。模擬類(lèi)游戲正是一種可以為社會(huì)帶來(lái)貢獻(xiàn)的交互式游戲體驗(yàn)。本次課題也是從模擬類(lèi)游戲出發(fā),通過(guò)Unity3D這個(gè)功能強(qiáng)大、具有高度的跨平臺(tái)適應(yīng)性的游戲引擎,來(lái)制作一款模擬類(lèi)的駕駛游戲[3]。1.2研究現(xiàn)狀1.2.1市場(chǎng)狀況電腦游戲作為電腦的軟件,在技術(shù)方面的發(fā)展與革新都需要電腦硬件的支持。其中最重要的硬件就是顯卡。從九十年代末的VOODOO顯卡發(fā)展到如今的RTX2080,游戲也從馬賽克畫(huà)質(zhì)的發(fā)展到當(dāng)今以假亂真的游戲畫(huà)面。從《DOOM》到《CS》到《使命召喚》、從《魔獸爭(zhēng)霸》到《英雄聯(lián)盟》,各種類(lèi)型的游戲在業(yè)界人士的努力下逐漸豐富。早年間中國(guó)由于缺乏核心技術(shù),并沒(méi)有過(guò)多自主開(kāi)發(fā)的游戲,而是通過(guò)代理引進(jìn)為主。雖然很多媒體吹噓中國(guó)是在80年代接觸各類(lèi)游戲,但其實(shí)那都是港澳地區(qū)的盜版游戲,而中國(guó)大陸則是在90年代開(kāi)始引進(jìn)各類(lèi)游戲。因?yàn)楫?dāng)時(shí)幾乎沒(méi)有關(guān)于游戲行業(yè)的政策,寬松的政策促使游戲市場(chǎng)快速增長(zhǎng)。到了1996年,遠(yuǎn)在大洋彼岸的歐美游戲公司也參與到了這種新興行業(yè)當(dāng)中,其中就有EA與育碧兩間著名的游戲公司,這第一批入駐的歐美游戲公司也對(duì)中國(guó)的游戲行業(yè)帶來(lái)深遠(yuǎn)的影響。到了20世紀(jì)出,正版光盤(pán)游戲由于高昂的價(jià)格以及當(dāng)時(shí)國(guó)內(nèi)將游戲稱(chēng)之為“電子海洛因”而并沒(méi)有取得很好的成績(jī)。到了2003年,我國(guó)首款自主研發(fā)的3D游戲出現(xiàn),然而起步較晚的國(guó)產(chǎn)3D游戲從設(shè)計(jì)理念到研發(fā)制造,都與國(guó)外先進(jìn)的游戲有著明顯的差距。不過(guò)近年來(lái),得益于國(guó)家政策的扶持以及技術(shù)的發(fā)展,3D游戲在我國(guó)得以迅速發(fā)展。在如今的游戲市場(chǎng)中,F(xiàn)PS與MOBA類(lèi)一直占據(jù)了主要地位,模擬類(lèi)游戲則作為比較小眾的類(lèi)型存在。相比這兩種類(lèi)型的游戲,模擬現(xiàn)實(shí)的游戲會(huì)有真實(shí)世界的物理系統(tǒng),會(huì)有更加貼近現(xiàn)實(shí)的場(chǎng)景。不過(guò)近年來(lái),這類(lèi)游戲由于仿真度越來(lái)越高,并且在具有一定趣味性的情況下也收獲了不少忠實(shí)的玩家,其中比較有名的就有《歐洲卡車(chē)》系列游戲[4]。1.2.2研究?jī)?nèi)容這些年來(lái),隨著群眾生活水平的提高a駕駛作為一項(xiàng)社會(huì)基本技能,目前在中國(guó)有接近4億人擁有駕照,然而現(xiàn)在的駕校為了應(yīng)付考試,并不會(huì)對(duì)學(xué)員進(jìn)行過(guò)多實(shí)際路況的教學(xué),因此,有一部分新學(xué)員拿到駕照后其實(shí)還不是真正意義的學(xué)會(huì)了駕駛。模擬駕駛游戲能引領(lǐng)用戶(hù)體驗(yàn)駕駛操作技能并熟悉一些在路上基本的交通規(guī)則,力求還原真實(shí)場(chǎng)景,并對(duì)玩家體驗(yàn)駕駛起到幫助。尤其是青少年用戶(hù),通過(guò)簡(jiǎn)單的操作、以游戲的模式進(jìn)行模擬駕駛能夠使駕駛的知識(shí)更加深入人心。根據(jù)這個(gè)要求,游戲主要通過(guò)碰撞檢測(cè)來(lái)實(shí)現(xiàn)交通規(guī)則的檢測(cè),第一人稱(chēng)視角的駕駛也會(huì)讓玩家更加融入游戲當(dāng)中。1.3章節(jié)安排本文主要圍繞一款以Unity3d為開(kāi)發(fā)引擎所開(kāi)發(fā)的駕駛模擬類(lèi)游戲,從理論到實(shí)踐,共分為六章。第一章為緒論,主要介紹了選題的目的及意義、研究背景與游戲市場(chǎng)現(xiàn)狀以及游戲所涉及的內(nèi)容。第二章將會(huì)簡(jiǎn)要的介紹選題的研發(fā)當(dāng)中所需要使用到的平臺(tái)、軟件、插件。第三章將會(huì)對(duì)游戲設(shè)計(jì)內(nèi)容的具體事項(xiàng)進(jìn)行分析,明確游戲各個(gè)部分。第四章將會(huì)對(duì)游戲功能的具體實(shí)現(xiàn)過(guò)程進(jìn)行分析,主要為腳本內(nèi)容的分析。第五章將對(duì)游戲進(jìn)行測(cè)試,打包封裝。第六章為結(jié)論與展望。Unity引擎與插件的使用說(shuō)明2.1游戲引擎介紹游戲引擎即游戲的軟件框架,是為了設(shè)計(jì)游戲而專(zhuān)門(mén)開(kāi)發(fā)出的軟件框架,用戶(hù)從中得到了開(kāi)發(fā)游戲所需的基本功能。它的作用就等于基礎(chǔ)設(shè)施,使用者則需要利用基礎(chǔ)的框架實(shí)現(xiàn)更為復(fù)雜的產(chǎn)品。在這種模式下制造游戲的效率會(huì)大大地提高,但是這種便利也會(huì)帶來(lái)相應(yīng)的缺陷,但是對(duì)于開(kāi)發(fā)者來(lái)說(shuō)自由度也會(huì)相應(yīng)減弱,不利于做出具有突破性的作品。Unity3d引擎由UnityTechnologies于2005年推出,[8]是一款在當(dāng)下炙手可熱的游戲開(kāi)發(fā)工具,為使用者提供了非常完美的跨平臺(tái)系統(tǒng)以及交互良好的操作界面。它的編程語(yǔ)言主要是C#(少部分使用Javascript),它的功能十分完善,從小型獨(dú)立游戲,到千萬(wàn)級(jí)的3A大作,Unity都能支持制作,并有很好的效果。2.2Unity3d常用組件·GameObject:場(chǎng)景中所有的實(shí)體都為GameObject類(lèi)。·Transform:用于控制和儲(chǔ)存對(duì)象的位置,旋轉(zhuǎn),縮放,及控制游戲?qū)ο蟮母缸雨P(guān)系。·Rigidbody:用于物理引擎控制,剛體組件會(huì)對(duì)作用力作出符合物理規(guī)律的反應(yīng)?!ollider:定義了物體的物理性狀,可在一個(gè)對(duì)象中掛載多個(gè)碰撞體達(dá)到更真實(shí)的效果?!eshrenderer:網(wǎng)格渲染器可以使個(gè)體在場(chǎng)景變得可見(jiàn)、呈現(xiàn)渲染后的效果,也可以為其添加材質(zhì)。·NavMeshAgent:用于AI的移動(dòng),避開(kāi)障礙物。2.3物理引擎早期游戲并沒(méi)有過(guò)多注意物理引擎的作用,當(dāng)時(shí)幾乎所有游戲,都通過(guò)極簡(jiǎn)的計(jì)算方式得出對(duì)應(yīng)的結(jié)果從而體現(xiàn)出物理效果,比較有名的游戲?yàn)轳R里奧和索尼克等。當(dāng)時(shí)的物理效果也僅僅是與墻壁相關(guān)的碰撞。
當(dāng)2D游戲逐漸演變成3D時(shí)代后,物理效果的表現(xiàn)方式也發(fā)展迅速,三維的表現(xiàn)力大大地增加了游戲發(fā)展的可能性,使游戲種類(lèi)向多方向發(fā)展[11]。Unity采用了英偉達(dá)的Physx物理引擎,這是一款目前廣泛應(yīng)用在各大游戲當(dāng)中的熱門(mén)物理引擎。如今的開(kāi)發(fā)者只需要將參數(shù)設(shè)置好就可以通過(guò)物理引擎高效、擬真地模擬各種各樣的物理效果,得到真實(shí)生動(dòng)的游戲畫(huà)面。在Unity3D駕駛游戲當(dāng)中,物理引擎是整個(gè)游戲的核心,它主要包括了剛體、碰撞、物理材質(zhì)等。游戲中物理引擎的作用是模擬場(chǎng)景中的物體相互碰撞作用。對(duì)于成熟的物理引擎,實(shí)現(xiàn)物體之間相互影響的效果是相當(dāng)簡(jiǎn)單的。2.4Unity引擎的常用函數(shù)Unity3d作為一個(gè)高度集成的引擎,在實(shí)現(xiàn)很多功能之時(shí),Unity所提供的函數(shù)就可以很好地完成。在本次的游戲開(kāi)發(fā)中將會(huì)使用當(dāng)不限于以下常用函數(shù)。[3]Awake:初始化函數(shù),在腳本實(shí)例化的時(shí)候自動(dòng)進(jìn)行調(diào)用,只會(huì)在腳本的生命周期中調(diào)用一次。一般用于各個(gè)組件之間添加引用關(guān)系。Start:初始化函數(shù),在對(duì)象被第一次enable之后,在Update之前,Awake之后被調(diào)用。在生命周期中也只會(huì)調(diào)用一次。一般用于富裕變量值。Update:每運(yùn)行完一次會(huì)再一次調(diào)用,跟游戲幀率相關(guān)。一般用于普通的數(shù)值監(jiān)測(cè)亦或是按鍵輸入后執(zhí)行動(dòng)作的觸發(fā)點(diǎn)。FixedUpdate:每隔一定的時(shí)間調(diào)用(取決于游戲設(shè)置的每秒刷新次數(shù)),不會(huì)受到游戲幀率影響。常用于物理引擎的調(diào)用,以及需要固定時(shí)間更新的函數(shù)。當(dāng)碰撞發(fā)生時(shí),掛載在物體上的腳本中被定義到的函數(shù),都會(huì)通過(guò)物理引擎進(jìn)行調(diào)用。OnTriggerEnter:函數(shù)會(huì)在第一次碰撞檢測(cè)后調(diào)用,執(zhí)行一次函數(shù)內(nèi)的內(nèi)容,用于判定物體觸碰到角色。OnTriggerStay:函數(shù)會(huì)在持續(xù)碰撞的過(guò)程中多次被調(diào)用,一直函數(shù)內(nèi)的內(nèi)容。OnTriggerExit:表示碰撞事件結(jié)束了,用于物體離開(kāi)碰撞體。2.5UI組件事件觸發(fā)器組件:事件觸發(fā)器是一個(gè)將Unity所有UI交互需要用到的觸發(fā)功能都集合在了一起的組件。它包含了所有UI交互的相關(guān)功能,用戶(hù)可以通過(guò)編輯界面,將交互功能進(jìn)行定義。通過(guò)回調(diào)內(nèi)容驅(qū)動(dòng),在無(wú)需操作的時(shí)候就可以不占用計(jì)算機(jī)的資源。并且可以分配多個(gè)函數(shù)到單一事件[8]。IEventSystemHandler(事件處理程序)事件觸發(fā)器的作用是識(shí)別用戶(hù)的輸入,是Unity的事件處理程序的功能。在代碼中添加動(dòng)態(tài)的按鈕的事件需要通過(guò)代碼上的接口。它具有以下特性:1、通過(guò)Interface接口添加事件功能。2、需要得到掛載了IEventSystemHandler類(lèi)型的腳本的顯示組件的支持。3、支持自定義事件監(jiān)聽(tīng)器[8]。2.6插件NWHVehiclePhysics是一款包含多種車(chē)輛的預(yù)制件的Unity物理插件,包括:跑車(chē)、轎車(chē)、公交車(chē)等。每部車(chē)都具有真實(shí)且不一樣的操作手感以及模型細(xì)節(jié)和空氣動(dòng)力套件。車(chē)輛部件包括了駕駛輔助系統(tǒng)、發(fā)動(dòng)機(jī)、傳動(dòng)裝置、油箱等。發(fā)動(dòng)機(jī)的參數(shù)與現(xiàn)實(shí)是一樣的,具有動(dòng)力、扭矩及功率,這些都可以在腳本中進(jìn)行調(diào)節(jié),而變速箱則有自動(dòng)擋和手動(dòng)擋兩種類(lèi)型,也可以在腳本中選擇是否勾選手動(dòng)擋的選項(xiàng)。NWHVehiclePhysics插件還包含了全車(chē)照明系統(tǒng),近光燈、遠(yuǎn)光燈、停車(chē)燈、剎車(chē)燈和轉(zhuǎn)向燈,這些在現(xiàn)實(shí)當(dāng)中出現(xiàn)的汽車(chē)燈光都會(huì)在游戲中得到還原。駕駛輔助裝置則包括了巡航控制系統(tǒng)、TCS牽引力控制系統(tǒng)、ABS防抱死裝置和漂移輔助系統(tǒng)。車(chē)內(nèi)還具有儀表盤(pán)與指示燈等儀器,能夠模擬儀表盤(pán)的真實(shí)效果。在音效方面,這款插件提供了多種汽車(chē)運(yùn)行過(guò)程中所需要的音效,方便用戶(hù)的使用。最重要的一點(diǎn)是車(chē)輛在碰撞后收到損害并根據(jù)受損程度作出物理效果的變化,并且自帶了剎車(chē)印、尾氣、灰塵等粒子效果。NWHVehiclePhysics插件定義了車(chē)輪碰撞器WheelController3D,它可以檢測(cè)3D地面,這個(gè)功能會(huì)將地形的紋理材質(zhì)檢測(cè)出來(lái),因此通過(guò)不同的材質(zhì)會(huì)得到不同的摩擦阻力曲線。Urbantrafficsystem,簡(jiǎn)稱(chēng)(UTSPRO)是一款模擬真實(shí)交通系統(tǒng)的軟件,為用戶(hù)提供了多種交通工具以及人物的巡航。第三章游戲設(shè)計(jì)介紹3.1場(chǎng)景設(shè)計(jì)游戲主體總共包含了3個(gè)場(chǎng)景,一個(gè)是UI界面的場(chǎng)景,一個(gè)是選擇界面的場(chǎng)景,另一個(gè)則是游戲的主體城市場(chǎng)景。3.1.1地形的繪制主體場(chǎng)景包括作為gameobject的場(chǎng)景內(nèi)物體與地形,首先制作的則是游戲的地形:,在Hierarchy面板中Create->3DObject->Terrain便可以創(chuàng)建一個(gè)平面。創(chuàng)建后可以在右側(cè)Inspector面板中調(diào)整Terrain平面的各種參數(shù),首先點(diǎn)擊paintterrain,點(diǎn)擊setheight,在Height里輸入一個(gè)數(shù)值,然后點(diǎn)擊flatten,這樣平面抬高,否則將無(wú)法繪制凹陷地形。做好了這一步就可以正式開(kāi)始地形的繪制,通過(guò)下拉菜單,可以輕松地對(duì)地形分別進(jìn)行抬高降低、繪制貼圖、添加樹(shù)木和植被等操作。從而得到想要的地形。圖3-1地形下拉菜單圖3-2地形圖3-3游戲場(chǎng)景圖3.1.2場(chǎng)景的繪制地形建好后,即可在地形上添加各種游戲物體,完成游戲場(chǎng)景的建立。3.2建筑物設(shè)計(jì)主場(chǎng)景作為一個(gè)城市場(chǎng)景,建筑物的引入是必不可少的,當(dāng)我們引入了一定數(shù)量的建筑物后,將會(huì)對(duì)性能的要求,為了盡可能地節(jié)省電腦資源,在制作過(guò)程中將會(huì)使用到AutoLOD組件。通過(guò)設(shè)置攝像機(jī)的遠(yuǎn)裁剪面減少游戲場(chǎng)景內(nèi)物體的渲染程度,LOD算法將很好地解決上述問(wèn)題,在虛擬場(chǎng)景當(dāng)中,出于顯示效果的需要,有時(shí)候不一定可以將每個(gè)建筑物簡(jiǎn)化進(jìn)行減面處理,這時(shí)候AutoLOD就能很好地應(yīng)對(duì)這個(gè)問(wèn)題。LOD全稱(chēng)LevelOfDetails,中文為多細(xì)節(jié)層次。在游戲場(chǎng)景中,模型被渲染的順序取決于攝像機(jī)到物體對(duì)象的遠(yuǎn)近。距離較近時(shí),高精度模型將會(huì)被顯示,距離較遠(yuǎn)的時(shí)候則會(huì)顯示低精度的模型。Unity會(huì)根據(jù)需要自動(dòng)調(diào)整顯示的模型種類(lèi)。3-4LODGroup組件3.3游戲UI設(shè)計(jì)游戲的主界面設(shè)計(jì):當(dāng)一進(jìn)入游戲,就將會(huì)跳轉(zhuǎn)到開(kāi)始界面,在該界面中你可以看到上面寫(xiě)有游戲名稱(chēng),在右上方有一個(gè)游戲的標(biāo)志,依次往下的是聲音選項(xiàng)按鈕,點(diǎn)擊后會(huì)進(jìn)入聲音面板。最下面的是退出游戲按鈕。3-5游戲主界面游戲界面主要采用了Unity自帶的UI插件UGUI,在整個(gè)開(kāi)發(fā)過(guò)程中會(huì)用到一些組件:·button組件:按鈕組件,通過(guò)添加點(diǎn)擊事件進(jìn)行交互·panel組件:作為存放其他組件的容器,添加image后可用于背景顯示·image組件:用來(lái)存放圖片,一般用于logo或者按鈕的背景·text組件:用來(lái)顯示文本信息·slider組件:滑動(dòng)條組件,滑動(dòng)條有一個(gè)數(shù)值,通過(guò)滑動(dòng)事件同步數(shù)值可調(diào)節(jié)音量大小等屬性。3.3.1圖形用戶(hù)界面Dash圖形用戶(hù)界面控制器DashGUI控制器腳本用于控制車(chē)輛的儀表板和儀表板燈-無(wú)論是在車(chē)內(nèi)還是在HUD上??稍O(shè)置模擬和數(shù)字速度和轉(zhuǎn)速計(jì),以及轉(zhuǎn)向燈、指示燈、駕駛輔助和檢查發(fā)動(dòng)機(jī)指示燈??筛鶕?jù)需要進(jìn)行調(diào)整。模擬量表控制模擬儀表。下列字段可用:?MaxValue–指針結(jié)束時(shí)的值。?StartAngle–指針在最低值時(shí)的角度。在播放模式下調(diào)整此值的選項(xiàng)。?EndAngle–指針在最高值時(shí)的角度。在播放模式下調(diào)整此值的選項(xiàng)。?Needlesmoothing-平滑指針的行程,使其在有質(zhì)量和阻力的情況下變?yōu)闊o(wú)行動(dòng)力的,?LockatStart/End–在播放模式下將指針鎖定在開(kāi)始或結(jié)束角度。要調(diào)整打捆針行程,您可以進(jìn)入播放模式并勾選其中一個(gè)鎖選項(xiàng)。當(dāng)指針在開(kāi)始或結(jié)束時(shí)鎖定時(shí),調(diào)整開(kāi)始或結(jié)束角度,直到針頭應(yīng)該在起始位置。確保指針正確地圍繞中心旋轉(zhuǎn)。3-6儀表盤(pán)與指針3.3.2儀表盤(pán)儀表盤(pán)指針轉(zhuǎn)動(dòng)腳本:通過(guò)起始角與結(jié)束角計(jì)算偏移位置,使用Mathf.Lerp線性插值函數(shù)在儀表盤(pán)的最大值與最小值兩個(gè)向量中進(jìn)行Vector3.Lerp的插值。指針將隨著汽車(chē)速度的變化而轉(zhuǎn)動(dòng)。3-7儀表盤(pán)指針偏轉(zhuǎn)代碼3.3.3后視鏡UI設(shè)計(jì)由于在第一人稱(chēng)視角當(dāng)中轉(zhuǎn)移鏡頭觀看兩側(cè)后視鏡不便于操作,顯示效果也不理想。所以這次將倒后鏡轉(zhuǎn)化成貼圖UI放在屏幕的兩側(cè)。制作方法如下:首先在項(xiàng)目中新建一個(gè)“RenderTexture”與”rawimage”并命名為”leftmirror”,然后將“l(fā)eftmirror”,賦予本身設(shè)置好的后視鏡的“TargetTexture”當(dāng)中,同樣操作到“rawimage”當(dāng)中,渲染后將會(huì)在rawimage當(dāng)中里出現(xiàn)camera所呈現(xiàn)的對(duì)象。重復(fù)一次操作,即可得到另一側(cè)的后視鏡。3-8投影到rawimage的后視鏡3.3.4小地圖的設(shè)計(jì)小地圖的設(shè)計(jì)與后視鏡的設(shè)計(jì)同理,只需將鏡頭拉得足夠遠(yuǎn)并在其中添加一個(gè)立方體,立方作為汽車(chē)的子物體,通過(guò)reset位置讓自身位于汽車(chē)的正上方,汽車(chē)移動(dòng)的同時(shí),也會(huì)隨之移動(dòng),使視覺(jué)效果看起來(lái)更好[15]。3-9小地圖3.4燈光的設(shè)計(jì)游戲的燈光主要包括自然場(chǎng)景中的太陽(yáng)光(使用directionallight),以及建筑物的燈光。既然作為自然場(chǎng)景,那么當(dāng)然會(huì)有晝夜更替。進(jìn)入游戲后,將會(huì)定義到一個(gè)隨機(jī)時(shí)間也就是太陽(yáng)會(huì)在隨機(jī)的高度,然后加入旋轉(zhuǎn)腳本讓太陽(yáng)以一定速度旋轉(zhuǎn),從而模仿太陽(yáng)的自轉(zhuǎn)。最后還給太陽(yáng)加上的光暈,達(dá)到更加真實(shí)的效果。實(shí)現(xiàn)邏輯如下:publicclasssunMove:MonoBehaviour{
publicfloatspeed=0.1f;
privateintdegree;
voidStart()
{
degree=Random.Range(0,360);
gameObject.transform.Rotate(degree,0,0);*//把方向光(太陽(yáng))這個(gè)物體的初始角度(X軸)設(shè)置成剛才隨機(jī)生成的degree//*
}
voidUpdate()
{
gameObject.transform.Rotate(-speed*Time.deltaTime,0,0);
}}變量speed是太陽(yáng)的旋轉(zhuǎn)速度,變量degree是太陽(yáng)初始的角度。speed與degree兩個(gè)變量分別為太陽(yáng)繞地圖旋轉(zhuǎn)的速度及太陽(yáng)起始的角度。在start函數(shù)中,初始角度將被設(shè)置為0~360度的一個(gè)隨機(jī)數(shù),update方法里,每一幀按speed的速度改變太陽(yáng)的角度,實(shí)現(xiàn)太陽(yáng)旋轉(zhuǎn)的效果。通過(guò)上述代碼即可達(dá)到太陽(yáng)圍繞場(chǎng)景進(jìn)行自轉(zhuǎn)的效果,為了使效果更加真實(shí),我們可以將flare光暈效果添加到光線(directionlight)當(dāng)中。當(dāng)?shù)竭_(dá)某個(gè)角度后,可以定義一個(gè)bool值,用于場(chǎng)景的燈光開(kāi)關(guān)。3-10太陽(yáng)光3.5游戲操作設(shè)計(jì)前進(jìn)W/方向鍵上后退S/方向鍵下左轉(zhuǎn)A/方向鍵左右轉(zhuǎn)D/方向鍵右手剎space點(diǎn)火/熄火E升檔(需設(shè)置手動(dòng)擋)R降檔(需設(shè)置手動(dòng)擋)F近光燈L遠(yuǎn)光燈K左轉(zhuǎn)向燈Z右轉(zhuǎn)向燈X鏡頭切換C上車(chē)/下車(chē)V升檔R降檔F一些按鍵的實(shí)現(xiàn)如下列代碼所示:4-11按鍵實(shí)現(xiàn)代碼第四章游戲功能的實(shí)現(xiàn)4.1汽車(chē)的設(shè)計(jì)作為一款能夠模擬汽車(chē)物理效果的插件,NWHVehiclePhysics提供了一些參數(shù),這些參數(shù)可以更好地模擬出物理效果。以下將會(huì)講解這些參數(shù)以及如何設(shè)置。VehicleController腳本的結(jié)構(gòu)通常為:4-1VehicleController腳本結(jié)構(gòu)先導(dǎo)入汽車(chē)模型:將剛體添加到父對(duì)象,然后將質(zhì)量設(shè)置為小型車(chē)的質(zhì)量,大概為1500~1800。為子物體添加碰撞器。至少需要一個(gè)任意類(lèi)型的碰撞體使剛體正常工作。設(shè)置好剛體后,需要?jiǎng)?chuàng)建車(chē)輪碰撞器。不要添加車(chē)輪碰撞器腳本到需要旋轉(zhuǎn)的車(chē)輪對(duì)象中,創(chuàng)建車(chē)輪控制器對(duì)象的最簡(jiǎn)單方法是復(fù)制,然后刪除來(lái)自副本的網(wǎng)格過(guò)濾器和網(wǎng)格渲染器對(duì)象。然后,將復(fù)制的對(duì)象移動(dòng)到您想要的彈簧動(dòng)程的頂部。最后,將控制盤(pán)控制器組件添加到所有重復(fù)的對(duì)象。結(jié)果應(yīng)如下圖所示,其中綠線表示彈簧動(dòng)程。4-2彈簧動(dòng)程檢查是否已正確檢測(cè)到車(chē)輪所在的一側(cè)。中心輪不會(huì)自動(dòng)檢測(cè)??兆侄螌⒊霈F(xiàn)在車(chē)輪控制器檢查器的底部,。將相應(yīng)的控制盤(pán)可視化拖動(dòng)到此字段。如果你的車(chē)輪目視檢查車(chē)輪由多個(gè)零件(輪胎、輪輞、輪盤(pán)等)組成單個(gè)對(duì)象,確保軸保持在應(yīng)有的位置。結(jié)果如下圖:4-3WC3D碰撞體通過(guò)WC3D檢查器調(diào)整車(chē)輪控制器半徑和寬度,直到綠線適合輪子。之后設(shè)置忽略層。這是最重要的步驟之一,如果跳過(guò)這一步,車(chē)輪將會(huì)誤檢測(cè)到車(chē)輛本身為地面。創(chuàng)建一個(gè)新層,并對(duì)它進(jìn)行命名,之后分配到整車(chē)的碰撞器。這樣Body對(duì)象將會(huì)擁有碰撞體,并且它的層被設(shè)置為新的已創(chuàng)建層。你可以改變車(chē)輪操縱儀。運(yùn)行游戲,完成上述操作,汽車(chē)懸架就會(huì)開(kāi)始工作了4.1.1設(shè)置WC3D移除所有車(chē)輪碰撞器對(duì)象中的車(chē)輪碰撞器組件,并使用按鈕添加WC3D控制器腳本。添加ParentObject以及WheelVisual對(duì)象。4-4WC3D設(shè)置在ScanIgnoreLayers中選擇不與之碰撞的層,防止與車(chē)輛其他碰撞體發(fā)生碰撞,使汽車(chē)發(fā)生不規(guī)律的彈跳或震動(dòng)。WC3D字段說(shuō)明:Wheel(車(chē)輪)Sidethewheelison確定偏制方向TireRadius車(chē)輪總半徑WheelWidth車(chē)輪寬度WheelMass車(chē)輪的質(zhì)量RimOffset從中心到車(chē)輪的偏移量UseRimCollider選擇使用模擬輪子上半部分的對(duì)撞機(jī),以防止物體從側(cè)面通過(guò)輪子Geometry(幾何結(jié)構(gòu))CamberCurve動(dòng)畫(huà)曲線,x軸表示車(chē)輪經(jīng)過(guò)范圍,0表示車(chē)輪向上,彈簧壓縮,1表示彈簧完全松開(kāi)。Spring(彈簧)MaxSpringForce彈簧被完全壓縮時(shí)所施加的力Spring彈力,彈簧從完全伸展到完全壓縮所需的力SpringForceCurve彈簧力曲線,顯示彈簧力沿曲線的分布Damper(阻尼器)BumpN/m/s表示彈簧壓縮時(shí)每秒1米的彈簧速度所受的力,單位為牛頓Rebound表示彈簧伸展時(shí)每秒1米的彈簧速度所受的力,單位為牛頓DampingCurve阻尼曲線4.1.2聲音聲音部分包含了車(chē)輛聲音效果相關(guān)的所有字段。每個(gè)區(qū)域僅影響腳本附加到的車(chē)輛。當(dāng)場(chǎng)景開(kāi)始時(shí),音頻源是由腳本生成的而非手動(dòng)添加,每個(gè)聲音組件都繼承了SoundComponent的類(lèi),因此它們會(huì)有公共的字段:音量,音高和剪輯。一些聲音組件還擁有附加字段,如音量或音高范圍。它們的一般解釋是:?Volume–音量。改變這個(gè)運(yùn)行時(shí)通過(guò)車(chē)輛控制器檢查器的值不一定更改音頻源的音量,因?yàn)榇蠖鄶?shù)聲音組件都設(shè)置了音量和音高僅在創(chuàng)建音頻源時(shí)(在開(kāi)始時(shí))。你仍然可以在運(yùn)行時(shí)通過(guò)腳本或通過(guò)調(diào)整直接音頻源,退出播放模式時(shí)不會(huì)保留該值。?Pitch–與音量相同,僅用于音高。?VolumeRange–可根據(jù)車(chē)輛聲音部分的狀態(tài)表示。?PitchRange–與音量范圍相同,僅用于音高。?Clips–音頻剪輯列表。取決于聲音成分將使用剪輯(例如發(fā)動(dòng)機(jī)怠速部件)或隨機(jī)選擇其中一個(gè)剪輯(如換檔或碰撞部件)。如果可以使用多個(gè)剪輯。如果在組件上使用多個(gè)剪輯但僅支持一個(gè),那么只有第一個(gè)會(huì)被使用。如果不指定剪輯(列表大小為0)聲音組件將被關(guān)閉。4.1.3滑痕當(dāng)車(chē)輪在堅(jiān)硬表面上打滑時(shí)會(huì)產(chǎn)生打滑痕跡。當(dāng)車(chē)輪打滑時(shí),可以在車(chē)輛底部的“VehicleController”中的“General”下拉菜單中定義。其中最重要的是“持續(xù)性滑痕”選項(xiàng)?;瑒?dòng)標(biāo)記的默認(rèn)行為是刪除最舊的skidmark。這是一種類(lèi)似于貪吃蛇游戲的效果,在總長(zhǎng)度上實(shí)現(xiàn)滑痕的長(zhǎng)度是一樣的。這個(gè)“軌跡”的長(zhǎng)度可以通過(guò)更改每個(gè)部分的最大標(biāo)記字段調(diào)整,如果永久選項(xiàng)被禁用,將保留標(biāo)記最大數(shù)量的滑痕。如果每次滑痕數(shù)量達(dá)到每個(gè)部分的最大標(biāo)記將生成一個(gè)新的skidmark對(duì)象,并生成舊的skidmark部分留下完整的痕跡。這樣就不會(huì)刪除舊的滑痕。隨著時(shí)間的推移,視口中的三角形數(shù)將會(huì)增加,所以還有一個(gè)持續(xù)滑痕距離選項(xiàng)可以解決這個(gè)問(wèn)題。當(dāng)滑痕與車(chē)輛的距離創(chuàng)建它的值超出了這個(gè)值,skidmark將刪除它自身。4.1.4燈所有燈光都繼承自同一類(lèi),因此具有相同的字段。需要解釋的選項(xiàng)有:?光源-可以是任何Unity燈光資源。主要用途是為近光燈和遠(yuǎn)光燈創(chuàng)建聚光燈。即使模型是沒(méi)有單獨(dú)燈光網(wǎng)格的低多邊形也可以用于創(chuàng)建模型點(diǎn)光源做到例如對(duì)剎車(chē)燈的模仿。在下圖中,點(diǎn)光源用于單網(wǎng)格交通工具,可模擬閃光燈:4-5車(chē)前燈如果需要使近光或遠(yuǎn)光聚光燈增加一些真實(shí)感,可以將附帶的“前照燈Cookie”添加到它們中。?燈光網(wǎng)格渲染器–接受任何使用標(biāo)準(zhǔn)著色器的網(wǎng)格渲染器。當(dāng)燈光打開(kāi)時(shí),材質(zhì)球的發(fā)射屬性將會(huì)啟用。若要設(shè)置具有發(fā)射的網(wǎng)格,則需要勾選陰影選項(xiàng)中的發(fā)射選項(xiàng),并對(duì)發(fā)射的顏色和強(qiáng)度進(jìn)行調(diào)整。完成后,禁用發(fā)射屬性。輕型網(wǎng)格渲染器可用于具有單獨(dú)網(wǎng)格的車(chē)輛燈。它還可以用作基本形狀燈光上的覆蓋層。駕駛輔助裝置提供以下駕駛輔助:?ABS–如果設(shè)置為1,則制動(dòng)時(shí)車(chē)輪不會(huì)打滑。?TCS–如果設(shè)置為1,則加速時(shí)車(chē)輪不會(huì)打滑。?穩(wěn)定性-通過(guò)增大當(dāng)前摩擦力降低車(chē)輛的失控選擇的傾向由起始于[0,0]并結(jié)束于[1,強(qiáng)度]的線性曲線形成的摩擦曲線,這意味著摩擦力會(huì)隨著滑動(dòng)而增大,也可以認(rèn)為將其作為車(chē)輪控制器設(shè)置中的動(dòng)態(tài)橫向系數(shù)??梢杂脕?lái)獲得更多的街機(jī)感覺(jué)的車(chē)輛。不會(huì)在低速時(shí)將網(wǎng)格計(jì)算在內(nèi)。?漂移輔助–計(jì)算車(chē)輛前進(jìn)方向和矢量之間的角度,根據(jù)角度值施加校正力,有效地限制漂移的角度,使其失控自轉(zhuǎn)。較高的值將允許較少的漂移,而較低的值將會(huì)有更多的偏轉(zhuǎn)。4-6駕駛輔助4.1.5損害勾選Damage選項(xiàng)后,車(chē)輛上的網(wǎng)格將變形。在車(chē)輛停止工作之前,可以調(diào)整的允許損壞數(shù)實(shí)際上是由碰撞引起的所有減速的總和。碰撞損傷取決于碰撞瞬間的減速,當(dāng)車(chē)輛行駛得越快,碰撞之后停止得就越快,車(chē)輛得到的損傷數(shù)值就越大。1000損傷在此等于峰值減速度為1000m/s2的碰撞。發(fā)動(dòng)機(jī)的能量會(huì)隨著車(chē)輛收到越來(lái)越多的損害而減少,如果撞擊發(fā)生在靠近車(chē)輪的位置,發(fā)動(dòng)機(jī)會(huì)發(fā)出隨機(jī)的聲音,前提是車(chē)輪網(wǎng)格被標(biāo)記。之后車(chē)輪會(huì)發(fā)生隨機(jī)的偏移,使車(chē)輛變得不易操控。網(wǎng)格變形是撞擊后的產(chǎn)物,是基于隊(duì)列的。這意味著每幀只能變形有限數(shù)量的網(wǎng)格??梢酝ㄟ^(guò)更改“每幀變形頂點(diǎn)數(shù)”字段來(lái)調(diào)整此值。較高的值意味著在較少的幀中完成變形,而較低的值將在較高的幀數(shù)上完成變形,并且還會(huì)導(dǎo)致掉幀。將此值調(diào)的盡可能高將可以避免掉幀。變形半徑、強(qiáng)度和隨機(jī)性都會(huì)影響網(wǎng)格變形的方式——頂點(diǎn)可以從原始位置移動(dòng)多少,在給定減速下移動(dòng)多少,最終結(jié)果的隨機(jī)性如何。將“隨機(jī)性”(randomness)設(shè)定為0將導(dǎo)致最終網(wǎng)格平滑,將“隨機(jī)性”(randomness)設(shè)定為高值將導(dǎo)致網(wǎng)格看起來(lái)有噪點(diǎn)。它只是一個(gè)減速閾值,超過(guò)此閾值,撞擊將被視為實(shí)際撞擊。減速閾值floatNWH.VehiclePhysics.DamageHandler.decelerationThreshold=30f觸發(fā)傷害所需的減速幅度。變形半徑floatNWH.VehiclePhysics.DamageHandler.deformationRadius=0.6英尺半徑是將變形的頂點(diǎn)。變形隨機(jī)性floatNWH.VehiclePhysics.DamageHandler.deformationRandomness=0.1f為網(wǎng)格變形添加噪波。0將生成平滑網(wǎng)格。變形強(qiáng)度f(wàn)loatNWH.VehiclePhysics.DamageHandler.deformationStrength=1.6英尺確定在給定碰撞強(qiáng)度下將變形多少頂點(diǎn)。變形垂直框架intNWH.VehiclePhysics.DamageHandler.deformationVerticesPerFrame=8000每幀將檢查并最終變形的頂點(diǎn)數(shù)。啟用boolNWH.VehiclePhysics.DamageHandler.enabled=錯(cuò)誤確定是否使用損壞、網(wǎng)格變形和性能降級(jí)。性能分級(jí)boolNWH.VehiclePhysics.DamageHandler.PerformanceDegrading=錯(cuò)誤損壞是否會(huì)影響車(chē)輛性能(轉(zhuǎn)向、動(dòng)力等)?先前碰撞散列intNWH.VehiclePhysics.DamageHandler.previousCollisionHash上次排隊(duì)沖突的哈希值。防止對(duì)同一碰撞作出兩次反應(yīng),因?yàn)樵贠nCollisionStay()以便收集更多數(shù)據(jù)。損壞浮動(dòng)NWH.VehiclePhysics.DamageHandler.Damage[get],[set]當(dāng)前車(chē)輛損壞。floatNWH.VehiclePhysics.DamageHandler.DamagePercent[獲取]當(dāng)前車(chē)輛損壞。允許損壞的百分比。主要代碼如下:if(damage.previousCollisionHash!=collisionHash&&accelerationMagnitude>damage.decelerationThreshold){sound.crashComponent.Play(this);if(damage.enabled){damage.Damage+=accelerationMagnitude;damage.Enqueue(collision,accelerationMagnitude);}}4.1.6翻轉(zhuǎn)勾選翻轉(zhuǎn)后,當(dāng)車(chē)輛在其側(cè)面或車(chē)頂上超過(guò)時(shí)間時(shí)翻轉(zhuǎn)車(chē)輛。不止可以設(shè)置時(shí)間,還能通過(guò)旋轉(zhuǎn)的角度檢測(cè)到車(chē)輛遭到翻轉(zhuǎn),即曲面法向和車(chē)輛變換的上方向之間的最小角度,到達(dá)角度后將激活翻轉(zhuǎn)。最大檢測(cè)速度用于確定翻車(chē)激活的最大速度,旋轉(zhuǎn)速度是以度/秒為單位的速度,車(chē)輛將旋轉(zhuǎn)回原本定義的方向。4.1.7地面類(lèi)型探測(cè)地面檢測(cè)是一個(gè)處理表面特定效果和聲音以及表面特定摩擦設(shè)置的組件。地面檢測(cè)是車(chē)輛的可選部分,在車(chē)輛控制器的檢查器中不可見(jiàn)。與其他車(chē)輛設(shè)置不同,地面檢測(cè)組件調(diào)整場(chǎng)景中所有車(chē)輛的設(shè)置,并且只存在一個(gè)地面檢測(cè)組件(如果不想使用地面檢測(cè),則為0)??梢允褂靡呀?jīng)連接了地面組件的“車(chē)輛管理器”預(yù)制件以及其他有用組件,或者可以將地面檢測(cè)組件添加到場(chǎng)景中的任何對(duì)象。如果場(chǎng)景中沒(méi)有地面檢測(cè),表面效果和聲音將不起作用,車(chē)輛將自動(dòng)找到地面檢測(cè),無(wú)需指定。地面檢測(cè)組件由灰塵和煙霧預(yù)制件兩個(gè)字段組成。這些字段可以在預(yù)制件文件夾中找到,只是帶有粒子發(fā)射器的游戲?qū)ο螅瑔?dòng)時(shí)會(huì)添加到車(chē)輪對(duì)象中。通過(guò)使用地形splat地圖數(shù)據(jù)或使用對(duì)象標(biāo)記來(lái)檢測(cè)曲面。每個(gè)曲面(瀝青、礫石、沙子、草地等)都可以使用任意數(shù)量的splat貼圖紋理索引和/或?qū)ο髽?biāo)記,其中splat貼圖索引是“地形檢查器”中的多個(gè)地形紋理。4.2具體功能實(shí)現(xiàn)4.2.1汽車(chē)移動(dòng)腳本通過(guò)獲取水平與垂直2個(gè)軸對(duì)汽車(chē)進(jìn)行基本的移動(dòng)將搜索WheelController組件的所有子對(duì)象并返回軸,每個(gè)軸都有2個(gè)車(chē)輪控制器,通過(guò)相對(duì)于父軸的Z位置配對(duì)。車(chē)軸將按順序返回。這是鍵盤(pán)類(lèi)的參數(shù),返回值為一個(gè)數(shù),符號(hào)代表方向。if(inputType==InputType.Standard){horizontal=Input.GetAxis("Horizontal");}else{horizontal=Mathf.Clamp(VehicleController.GetMouseHorizontal(),-1f,1f);}vehicleController.input.Horizontal=horizontal;if(inputType==InputType.Standard){if(verticalInputType==VerticalInputType.Standard){vertical=Input.GetAxisRaw("Vertical");}elseif(verticalInputType==VerticalInputType.ZeroToOne){vertical=(Mathf.Clamp01(Input.GetAxisRaw("Vertical"))-0.5f)*2f;}elseif(verticalInputType==VerticalInputType.Composite){floataccelerator=Mathf.Clamp01(Input.GetAxisRaw("Accelerator"));floatbrake=Mathf.Clamp01(Input.GetAxisRaw("Brake"));vertical=accelerator-brake;}}Vertical鍵盤(pán)按上或下鍵時(shí)觸發(fā)
,Horizontal鍵盤(pán)按左或右鍵時(shí)觸發(fā)
。也可以將2個(gè)軸綁定到其他需要的按鍵。4.2.2質(zhì)心質(zhì)心,顧名思義為質(zhì)量的中心,作為wheelcollider的必須組件。如果勾選“ShowCOM”,并設(shè)置好剛體與碰撞器之后,我們將會(huì)看到一個(gè)綠色球體,由于汽車(chē)的大部分重量都在發(fā)動(dòng)機(jī)、變速器和其他相當(dāng)?shù)偷陌惭b部件上,所以這個(gè)重心是不夠的,需要調(diào)整。由于游戲中的載具為跑車(chē),它的值需要變得更低,而對(duì)于其他車(chē)輛,則可以保持原樣,也可以提高它。以下是腳本當(dāng)中的主要代碼:voidStart(){rb=GetComponent<Rigidbody>();centerOfMass=rb.centerOfMass;}voidUpdate(){if(centerOfMassOffset!=prevOffset){rb.centerOfMass=centerOfMass+centerOfMassOffset;}prevOffset=centerOfMassOffset;}privatevoidOnDrawGizmosSelected(){if(showCOM&&rb!=null){floatradius=0.1f;try{radius=GetComponent<MeshFilter>().sharedMesh.bounds.size.z/30f;}catch{}Gizmos.color=Color.green;Gizmos.DrawSphere(rb.transform.TransformPoint(rb.centerOfMass),radius);}}4.2.3下壓力Downforce是一個(gè)相當(dāng)簡(jiǎn)單的腳本。任何數(shù)量的下壓力點(diǎn)都可以定義為以最大下壓力速度施加的最大力。最大下壓力速度應(yīng)設(shè)置得比車(chē)輛能夠行駛的速度高一點(diǎn)-注意速度為m/s-將該值乘以3.6得到km/h,或乘以2.5得到m/h。施加的力將以指數(shù)形式增加。如果設(shè)置的下壓力值太高(單位為牛頓),車(chē)輛的表面可能會(huì)被撞擊。。publicfloatmaxDownforceSpeed=50f;施加最大下壓力時(shí)的速度(m/s)。下壓力的數(shù)量將以指數(shù)形式增長(zhǎng)到這個(gè)值privateVehicleControllervc;privatevoidStart(){vc=GetComponent<VehicleController>();獲取車(chē)輛控制器組件}voidUpdate(){floatspeedPercent=vc.Speed/maxDownforceSpeed;floatforceCoeff=1f-(1f-Mathf.Pow(speedPercent,2f));foreach(DownforcePointdpindownforcePoints){vc.vehicleRigidbody.AddForceAtPosition(forceCoeff*dp.maxForce*-transform.up,transform.TransformPoint(dp.position));}4.3UTSRRO4-7汽車(chē)尋路邏輯創(chuàng)建SemaphoreSystem交通系統(tǒng),點(diǎn)擊4-8創(chuàng)建交通系統(tǒng)將創(chuàng)建好的紅綠燈系統(tǒng)移動(dòng)到合適的地方,調(diào)整大小。4-9紅綠燈系統(tǒng)創(chuàng)建交通工具,點(diǎn)擊UTSPRO->Vehicles,輸入Pathname的名稱(chēng),之后點(diǎn)擊地圖確定尋路的起點(diǎn),完成后點(diǎn)擊Finsh,此時(shí)我們將得到一條汽車(chē)尋路的路線4-10汽車(chē)尋路路線將汽車(chē)模型拖入右側(cè)WalkingPrefabs當(dāng)中4-11添加交通工具這樣汽車(chē)將會(huì)沿著路線行駛4-12汽車(chē)尋路汽車(chē)尋路主要通過(guò)數(shù)組存放每一個(gè)移動(dòng)點(diǎn),再通過(guò)Transform進(jìn)行位置變換:for(inti=0;i<points.GetLength(0);i++){varstartPoint=_forward[i]?points[i,0]:points[i,points.GetLength(1)-1];varnextPoint=_forward[i]?points[i,2]:points[i,points.GetLength(1)-3];SpawnPoints[i]=SpawnPoint.CarCreate(string.Format("SpawnPoint(Path{0})",i+1),startPoint,nextPoint,lineSpacing,i,_forward[i],this,3f,10f);4.4碰撞檢測(cè)游戲的基本交通規(guī)則,主要通過(guò)玩家駕駛汽車(chē)在特定位置觸發(fā),主要用到的是ontrigger的方法,為玩家車(chē)輛添加一個(gè)新的標(biāo)簽,再在場(chǎng)景需要的位置設(shè)置Cube對(duì)象,為Cube添加boxcollider,勾選istrigger,然后將其網(wǎng)格渲染meshrenderer去掉。即可做到碰撞觸發(fā)的空氣墻4-13碰撞觸發(fā)4.5鏡頭切換為了用戶(hù)能夠有更好的駕駛觀察體驗(yàn),駕駛模擬器將設(shè)置了多于一個(gè)的游戲鏡頭,用戶(hù)可以在其中隨時(shí)切換,目前共設(shè)置有第一人稱(chēng)鏡頭、第三人稱(chēng)鏡頭、第三人稱(chēng)可移動(dòng)鏡頭、車(chē)前蓋鏡頭。進(jìn)入汽車(chē)后點(diǎn)擊C鍵即可隨意切換。在Update函數(shù)當(dāng)中判斷是否進(jìn)入了汽車(chē),進(jìn)入后即可使用切換鏡頭按鈕。4-14判斷是否能進(jìn)行鏡頭切換為了能達(dá)到更真實(shí)的效果,這里還定義了一個(gè)在車(chē)外的變量,用于判斷鏡頭是在車(chē)內(nèi)還是在車(chē)外。4-15調(diào)用音效當(dāng)變量CheckIfInside判斷為真時(shí),則調(diào)用sound.insideVehicle的車(chē)內(nèi)音效,如果不為真則會(huì)調(diào)用車(chē)外的音效,所以當(dāng)切到車(chē)前蓋的鏡頭時(shí),我們將會(huì)聽(tīng)到不一樣的聲效。4-16第一人稱(chēng)視角4-17車(chē)前蓋視角4-18第三人稱(chēng)視角4-19第三人稱(chēng)可移動(dòng)視角4.6角色管理器在游戲當(dāng)中,玩家可以通過(guò)V鍵進(jìn)行上下車(chē)的操作,游戲開(kāi)始的時(shí)候,以及玩家下車(chē)之后,我們的角色控制器都會(huì)轉(zhuǎn)換到FPS的第一人稱(chēng)控制器,控制器同樣通過(guò)WASD來(lái)移動(dòng),通過(guò)鼠標(biāo)的移動(dòng)實(shí)現(xiàn)視角的移動(dòng)。通過(guò)鼠標(biāo)移動(dòng)的X、Y軸控制鏡頭的轉(zhuǎn)向:4-20鼠標(biāo)控制鏡頭代碼4-21角色控制器的移動(dòng)在Start函數(shù)當(dāng)中定義各個(gè)組件4-22Start函數(shù)里的組件分別定義角色的位置與可以進(jìn)入汽車(chē)的距離,再使用if函數(shù)進(jìn)行比較4-23角色進(jìn)入汽車(chē)的距離判斷代碼4.7檔位作為一款模擬類(lèi)駕駛游戲,如果缺少了檔位的游戲設(shè)定,那么游戲體驗(yàn)將會(huì)大大折扣,因此本作也是設(shè)定了逐檔升降的變速箱,從而提供用戶(hù)的游戲體驗(yàn)。4-24檔位的變化VehicleController.transimission.Shiftinto()綁定了檔位顯示UI組件,當(dāng)鍵盤(pán)輸入R、F的升降檔操作,將會(huì)出檔位的變化,當(dāng)檔位顯示為0時(shí),則表示空檔。4-25儀表盤(pán)上的檔位4.8Vehiclechanger腳本作為游戲的特色,玩家可以在游戲中駕駛不止一輛的汽車(chē),這些可以駕駛的其他汽車(chē)將遍布在地圖的四周,需要玩家的發(fā)現(xiàn),這個(gè)操作的實(shí)現(xiàn)需要通過(guò)Vehiclechanger腳本實(shí)現(xiàn)的。這個(gè)腳本可以使玩家下車(chē)后再進(jìn)入到另外的一輛車(chē)。4-26尋找進(jìn)入與退出點(diǎn) 4-27判斷是否靠近汽車(chē)如圖4-28,玩家從白色車(chē)中下車(chē)后走到藍(lán)色車(chē)當(dāng)中也可以進(jìn)行駕駛。4-28進(jìn)入另一載具點(diǎn)擊V后即可進(jìn)入載具,不一樣的載具將會(huì)擁有不一樣的駕駛手感。第五章游戲測(cè)試游戲測(cè)試環(huán)節(jié)是最重要的一環(huán),它不僅可以測(cè)試游戲是否能正確運(yùn)行,而且還可以測(cè)試游戲的流暢程度、畫(huà)面效果,以及操作手感。5.1設(shè)備環(huán)境(1)CPU:Inteli7-6700HQ/2.6GHz(2)運(yùn)行內(nèi)存RAM:8G(3)系統(tǒng):Windows1064位(4)分辨率:1920*1080(5)游戲引擎:Unity3d游戲開(kāi)發(fā)引擎5.2游戲運(yùn)行結(jié)果5-1游戲運(yùn)行視角5-2游戲運(yùn)行視角5-3游戲運(yùn)行視角5.3測(cè)試結(jié)果分析本次測(cè)試游戲功能基本實(shí)現(xiàn),但是游戲的流暢程度稍微偏低,幀數(shù)并不是很高,游戲畫(huà)面達(dá)到預(yù)期,操作手感也與在Unity當(dāng)中運(yùn)行基本一致。第六章展望與總結(jié)本次課題所研究的基于Unity的駕駛模擬游戲設(shè)計(jì)與開(kāi)發(fā)至此已經(jīng)實(shí)現(xiàn)完成,這也標(biāo)志著畢業(yè)設(shè)計(jì)基本結(jié)束。在實(shí)現(xiàn)完成的過(guò)程中,我加深了對(duì)Unity引擎的認(rèn)識(shí),從中獲得了很多之前沒(méi)有的知識(shí),也從中獲得了很多樂(lè)趣。從制定游戲主題、到素材的引入與制作、到插件的運(yùn)用再到腳本的編寫(xiě)乃至場(chǎng)景的視覺(jué)效果,都由自己一個(gè)人完成,這也與以前分組完成作業(yè)不一樣。本次的游戲開(kāi)發(fā)中對(duì)于個(gè)人而言的汽車(chē)行駛參數(shù)的設(shè)計(jì)與游戲功能的設(shè)置是比較有難度的,汽車(chē)如何模擬出較為真實(shí)的物理效果以及如何將駕駛游戲變得更有趣味性,之前所了解的知識(shí)并不足以支撐整個(gè)游戲的開(kāi)發(fā),所以在開(kāi)發(fā)過(guò)程中也是遇到了相當(dāng)多各種各樣的小問(wèn)題,最終通過(guò)資料的收集與參考使游戲變得較為完整。由于時(shí)間的限制以及個(gè)人能力有限,游戲還存在著相當(dāng)一部分的問(wèn)題,比如場(chǎng)景的設(shè)計(jì)不夠合理;燈光渲染的選擇也不是最優(yōu)的選擇;游戲玩法與關(guān)卡設(shè)計(jì)也相比成熟的駕駛模擬游戲更加的單一。Unity是一款功能強(qiáng)大的游戲開(kāi)發(fā)軟件,在論題設(shè)計(jì)的過(guò)程中,我也從新聞上得知了拳頭公司的新游戲?qū)?huì)使用Unity開(kāi)發(fā),這也很好地說(shuō)明了Unity在接下來(lái)的很長(zhǎng)一段時(shí)間內(nèi)仍然是業(yè)內(nèi)熱門(mén)的游戲開(kāi)發(fā)工具,我相信通過(guò)以后游戲技術(shù)的發(fā)展,Unity的功能也會(huì)越來(lái)越強(qiáng)大,熟練地運(yùn)用這款軟件,將對(duì)從事游戲開(kāi)發(fā)有極大地幫助。這次的游戲開(kāi)發(fā)不僅是一個(gè)有趣的體驗(yàn),更加是我個(gè)人在游戲開(kāi)發(fā)的一個(gè)起點(diǎn)。在今后的日子里,我會(huì)學(xué)習(xí)更多Unity更高級(jí)、更深層次的知識(shí),同時(shí)對(duì)該游戲進(jìn)行不斷的完善,力求做出一個(gè)完整度更高、趣味性更強(qiáng)的游戲。參考文獻(xiàn)□[1]郭浩瑜.Unity3DShaderLab開(kāi)發(fā)實(shí)戰(zhàn)詳解(第二版)[M].北京:人民郵電出版社,2015.[2]吳亞峰,于復(fù)興.Unity3D游戲開(kāi)發(fā)技術(shù)詳解與典型案例.人民郵電出版社,2012[3]宣雨松.Unity3D游戲開(kāi)發(fā)[M].北京:人民郵電出版社,2012[4]張磊.精通C#游戲編程.清華大學(xué)出版社,2012年01月[5]李錦榮,郭磊,譚忠揚(yáng).基于Unity平臺(tái)的射擊游戲的開(kāi)發(fā)[J].福建電腦,2015[6]FrancescoSapio.UnityUICookbook[M].PacktPublishing,2015年12月29日[7]加藤政樹(shù).Unity游戲設(shè)計(jì)與實(shí)現(xiàn)[M].人民郵電出版社,2017年03月[8]馬遙,陳虹松,林凡超.Unity3D完全自學(xué)教程[J].電子工業(yè)出版社,2019年05月[9]歐內(nèi)斯特·亞當(dāng)斯.游戲設(shè)計(jì)基礎(chǔ)[M].江濤,譯.3版.北京機(jī)械工業(yè)出版社,2017年09月[10]李蘭友,楊曉光.VisualC#.NET程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004年05月[11]石曉淑.游戲引擎擴(kuò)展腳本技術(shù)的研究及實(shí)現(xiàn)[D].四川:電子科技大學(xué),2009[12]劉剛,孫文濤.Unity官方案例精講[M].北京:中國(guó)鐵道出版社,2015[13]王樹(shù)軍.三維游戲引擎中物理引擎關(guān)鍵技術(shù)的研究[D].天津:天津大學(xué),2007[14]ChristerErison.Real-TimeCollisionDetection[M].CRCPress,2004年7月21日[15]Unity官方參考手冊(cè)致謝當(dāng)開(kāi)始寫(xiě)致謝的時(shí)候,就意味著論文來(lái)到了尾聲,同時(shí)也意味著我的大學(xué)來(lái)到了尾聲。本項(xiàng)目的開(kāi)發(fā)以及論文撰寫(xiě)的過(guò)程從整體來(lái)說(shuō)還算順利,但其中還有很多地方存在不足。這些不足同時(shí)也是使我進(jìn)步的動(dòng)力。首先我要感謝四年來(lái)我所有課程的老師,因?yàn)閹缀趺块T(mén)課程都是這次項(xiàng)目開(kāi)發(fā)的基礎(chǔ)。能順利完成項(xiàng)目也是通過(guò)所有課程學(xué)習(xí)累積起來(lái)的結(jié)果。同時(shí),我還要感謝我的指導(dǎo)老師,從項(xiàng)目設(shè)計(jì)到開(kāi)發(fā)以及論文的撰寫(xiě)過(guò)程當(dāng)中都給予了我很多指導(dǎo)性的意見(jiàn),使我受益匪淺。最后我還要感謝父母的供書(shū)教學(xué),他們以自己的方式為我的學(xué)習(xí)默默地做出貢獻(xiàn),今后我也會(huì)更加努力,不辜負(fù)父母的期望。
電腦無(wú)法識(shí)別U盤(pán)該怎么辦HYPERLINK電腦無(wú)法識(shí)別U盤(pán)怎么辦?打開(kāi)我的電腦上單擊右鍵,在快捷菜單里,選擇“管理”,打開(kāi)“計(jì)算機(jī)管理”窗口。在計(jì)算機(jī)管理窗口里,選擇“存儲(chǔ)”下面的“磁盤(pán)管理”,如果看得到?jīng)]有盤(pán)符的U盤(pán),那么在這個(gè)U盤(pán)上按鼠標(biāo)右鍵,選擇“更改驅(qū)動(dòng)器名稱(chēng)和路徑”選項(xiàng),就打開(kāi)了“更改……的驅(qū)動(dòng)器號(hào)和路徑”對(duì)話框。再點(diǎn)擊“更改”按鈕,打開(kāi)“更改驅(qū)動(dòng)器號(hào)和路徑”的對(duì)話框,在“指定以下驅(qū)動(dòng)器號(hào)”的右邊下拉列表里,選擇你希望分配給U盤(pán)的驅(qū)動(dòng)器號(hào),盡可能靠后選擇,比如X、Y、Z,選擇好后,單擊確定按鈕,回到上一次“更改……的驅(qū)動(dòng)器號(hào)和路徑”對(duì)話框窗口,再一次單擊確定,就回到“計(jì)算機(jī)管理”窗口。至此,如果一切正常,就給U盤(pán)單獨(dú)設(shè)置了一個(gè)長(zhǎng)久使用的驅(qū)動(dòng)器號(hào),并卻,不受虛擬驅(qū)動(dòng)器的影響了。建議將U盤(pán)插到電腦上,看任務(wù)欄中是否顯示圖標(biāo),如果顯示,在我的電腦點(diǎn)右鍵查看屬性——高級(jí)——硬件——設(shè)備管理器——查看里面是否有問(wèn)號(hào)的設(shè)備,在問(wèn)號(hào)設(shè)備上點(diǎn)右鍵——更新驅(qū)動(dòng)程序然后下一步——否暫時(shí)不連接到網(wǎng)絡(luò)——下一步自動(dòng)安裝軟件(推薦)就可以了另外:系統(tǒng)不認(rèn)U盤(pán)的幾種處理方法1.禁用主板usb設(shè)備。管理員在CMOS設(shè)置里將USB設(shè)備禁用,并且設(shè)置BIOS密碼,這樣U盤(pán)插到電腦上以后,電腦也不會(huì)識(shí)別。這種方法有它的局限性,就是不僅禁用了U盤(pán),同時(shí)也禁用了其他的usb設(shè)備,比如usb鼠標(biāo),usb光驅(qū)等。所以這種方法管理員一般不會(huì)用,除非這臺(tái)電腦非常重要,值得他舍棄掉整個(gè)usb總線的功能。但是這種屏蔽也可以破解,即便設(shè)置了密碼。整個(gè)BIOS設(shè)置都存放在CMOS芯片里,而COMS的記憶作用是靠主板上的一個(gè)電容供電的。電容的電來(lái)源于主板電池,所以,只要把主板電池卸下來(lái),用一根導(dǎo)線將原來(lái)裝電池的地方正負(fù)極短接,瞬間就能清空整個(gè)CMOS設(shè)置,包括BIOS的密碼。隨后只需安回電池,自己重新設(shè)置一下CMOS,就可以使用usb設(shè)備了。(當(dāng)然,這需要打開(kāi)機(jī)箱,一般眾目睽睽之下不大適用~~)2.修改注冊(cè)表項(xiàng),禁用usb移動(dòng)存儲(chǔ)設(shè)備。打開(kāi)注冊(cè)表文件,依次展開(kāi)"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci”雙擊右面的“Start”鍵,把編輯窗口中的“數(shù)值數(shù)據(jù)”改為“4”,把基數(shù)選擇為“十六進(jìn)制”就可以了。改好后注銷(xiāo)一下就可以看見(jiàn)效果了。為了防止別人用相同的方法來(lái)破解,我們可以刪除或者改名注冊(cè)表編輯器程序。提示:“Start”這個(gè)鍵是USB設(shè)備的工作開(kāi)關(guān),默認(rèn)設(shè)置為“3”表示手動(dòng),“2”是表示自動(dòng),“4”是表示停用。3.在computermanagement里將removablestorage的使用權(quán)限禁止。computermanagement是一個(gè)windows管理組件,可以在控制面板——管理工具——計(jì)算機(jī)管理打開(kāi)。在該工具窗口中storage——removablestorage——property中,general項(xiàng),可以控制系統(tǒng)托盤(pán)是否顯示security則可以管理移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限。在security中將普通用戶(hù)的使用權(quán)限降低,就可以達(dá)到禁用u盤(pán)的目的。破解的方法也很簡(jiǎn)單,管理員降低普通用戶(hù)移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限,但未必禁用computermanagement的使用權(quán)限。普通用戶(hù)可以通過(guò)這個(gè)工具解除usb移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限限制。另外,值得一提的是,如果u盤(pán)插到電腦上后可以驅(qū)動(dòng),但是我的電腦里卻沒(méi)有盤(pán)符,很有可能是管理員改動(dòng)了u盤(pán)的默認(rèn)盤(pán)符,使得我的電腦不能識(shí)別。這種情況,可以在movablestorage中看到u盤(pán)驅(qū)動(dòng)器??梢栽趗盤(pán)驅(qū)動(dòng)器屬性設(shè)置里為u盤(pán)重新分配一個(gè)盤(pán)符,再重新插拔一次u盤(pán),就可以在我的電腦里看到u盤(pán)的盤(pán)符了。一、首先可以將該U盤(pán)換到別的機(jī)器上,看使用是否正常。如果排除了硬件損壞的可能,一般就是軟件方面有問(wèn)題。在WindowsXP+SP1操作系統(tǒng)下,有些USB2.0設(shè)備的確常常出現(xiàn)工作不穩(wěn)定的問(wèn)題,可以試試安裝設(shè)備自帶的USB2.0驅(qū)動(dòng)程序。另外最好不要使用USB延長(zhǎng)線,防止因?yàn)楣╇姴蛔愣斐刹环€(wěn)定現(xiàn)象。如果仍無(wú)效,可以在主板BIOS設(shè)定中,將USB接口強(qiáng)行設(shè)置為USB1.1傳輸速率。二、(適用于WIN98)啟動(dòng)計(jì)算機(jī),進(jìn)入主板BIOS設(shè)置,檢查BIOS中USB的相關(guān)選項(xiàng)是否已經(jīng)打開(kāi):OnChipUSB設(shè)定為Enabled;USBController設(shè)定為Enabled;PNPOSInstalled設(shè)定為Yes;AssignIRQForUSB設(shè)成Enabled。要正常使用USB設(shè)備首先要開(kāi)啟USB接口,在主板BIOS里可以進(jìn)行此項(xiàng)工作,一般來(lái)說(shuō)只需在BIOS中進(jìn)入ChipsetFeatures設(shè)置,并將USBKeyborad/MouseLegacy選項(xiàng)設(shè)定為Enable,就能夠保證在操作系統(tǒng)下使用USB鍵盤(pán)了。這些選項(xiàng)的作用是打開(kāi)主板芯片組對(duì)USB設(shè)備的完全支持,為系統(tǒng)識(shí)別USB設(shè)備做準(zhǔn)備工作。三、USB口接觸不好處理辦法:拔下,等十秒鐘再插上USB口,使接觸完好;五、閃存盤(pán)驅(qū)動(dòng)程序沒(méi)有安裝完成(WIN98系統(tǒng)下)處理辦法:鼠標(biāo)點(diǎn)“我的電腦”,選擇屬性找到“通用串行總線”,刪除其中的USBMASSSTORAGE項(xiàng),再點(diǎn)擊“刷新”,然后按照提示重新安裝一次驅(qū)動(dòng)程序。六、接其它USB設(shè)備(如掃描儀、打印機(jī)、數(shù)碼相機(jī))時(shí)可以正常使用,接優(yōu)盤(pán)時(shí)閃指示燈不亮,不能夠使用。1、檢查優(yōu)盤(pán)與電腦的聯(lián)接是否正常,并換用其它USB接口測(cè)試。2、檢查設(shè)備管理器,看是否出現(xiàn)”通用總線設(shè)備控制器”條目,如果沒(méi)有,請(qǐng)將電腦主板BIOS中USB接口條目*激活(ENABLE)。3、如果電腦安裝過(guò)其它類(lèi)型USB設(shè)備,卸載該設(shè)備驅(qū)動(dòng)程序,并首先安裝優(yōu)盤(pán)驅(qū)動(dòng)程序。4、到其它電腦試用此優(yōu)盤(pán),確認(rèn)是否優(yōu)盤(pán)不良。七、啟動(dòng)型優(yōu)盤(pán)在的電腦上無(wú)法實(shí)現(xiàn)啟動(dòng),可能是主板型號(hào)不支持。如何判斷一塊主板是否支持閃存盤(pán)啟動(dòng)系統(tǒng)啟動(dòng)型優(yōu)盤(pán)是采用模擬USB軟驅(qū)和USB硬盤(pán)的方式啟動(dòng)電腦的。只要電腦主板支持USB設(shè)備啟動(dòng),即BIOS的啟動(dòng)選項(xiàng)中有USB-FDD、USB-HDD或是其它類(lèi)似的選項(xiàng),就可以使用啟動(dòng)型優(yōu)盤(pán)啟動(dòng)電腦。八、第一次在電腦上使用優(yōu)盤(pán),未出現(xiàn)提示發(fā)現(xiàn)新硬件的窗口,驅(qū)動(dòng)程序無(wú)法安裝的原因可能是:1、主板usbcontroller未啟用解決辦法:在電腦主板BIOS中啟用此功能。2、usbcontroller已經(jīng)啟用但運(yùn)行不正常解決辦法:在設(shè)備管理器中刪除”通用串行控制器”下的相關(guān)設(shè)備并刷新。3、優(yōu)盤(pán)被電腦識(shí)別異常,在設(shè)備管理器中表現(xiàn)為帶有黃色?或!的”其它設(shè)備”或“未知設(shè)備”。解決辦法:刪除此設(shè)備并刷新。九、大容量的U盤(pán)(例如兼具M(jìn)P3播放器或錄音功能的U盤(pán))或移動(dòng)硬盤(pán)在電腦上無(wú)法正常使用,雖然系統(tǒng)提示找到了未知的USB設(shè)備,但無(wú)法正確識(shí)別U盤(pán)或移動(dòng)硬盤(pán)。原因可能是:1.USB接口供電不足:系統(tǒng)為每個(gè)USB接口分配了500mA的最大輸出電流,一般的U盤(pán)只需要100mA的工作電流,因此在使用過(guò)程中不會(huì)出現(xiàn)什么問(wèn)題。大多數(shù)移動(dòng)硬盤(pán)所使用的是普通的2.5英寸硬盤(pán),其工作電流介于500mA~1000mA之間,此時(shí)假如僅僅通過(guò)USB接口供電,當(dāng)系統(tǒng)中并無(wú)其他USB設(shè)備時(shí),那么還是可以勉強(qiáng)使用的,但如果電壓不穩(wěn)的話,就隨時(shí)可能出現(xiàn)供電不足的問(wèn)題。特別是使用支持USB2.0的移動(dòng)硬盤(pán)時(shí),情況最為嚴(yán)重。另外,如果你的筆記本電腦使用電池供電,那么USB接口所分配的電量就更小了。2.使用了外接的USB擴(kuò)展卡:在筆記本電腦中使用USB2.0的U盤(pán)或移動(dòng)硬盤(pán)時(shí),如果筆記本電腦不支持USB2.0技術(shù),一般必須通過(guò)PCMCIA卡轉(zhuǎn)USB2.0的擴(kuò)展卡來(lái)間接實(shí)現(xiàn)支持,這些擴(kuò)展卡基本上都采用NEC公司的D720100AGMUSB控制芯片,少則提供兩個(gè)USB2.0接口,多則提供五個(gè)USB2.0接口,對(duì)一般用戶(hù)而言足夠使用了。由于PCMICA接口提供的電源功率比板載USB接口要小,這樣就會(huì)由于供電不足而導(dǎo)致移動(dòng)硬盤(pán)工作的出現(xiàn)問(wèn)題。解決方案:1.它從USB連接線上接移動(dòng)硬盤(pán)的一端引出一根轉(zhuǎn)接線,可以插入電腦背后的PS/2接口取電,這里可以比USB接口提供更大的電流輸出。2.利用電源補(bǔ)償線(也稱(chēng)“鍵盤(pán)取電線”),如果U盤(pán)或移動(dòng)硬盤(pán)的包裝盒中提供了選配的電源適配器,你就可以直接使用外接電源,這樣就可以從根本上避免供電不足的情況發(fā)生了前置USB線接錯(cuò)。當(dāng)主板上的USB線和機(jī)箱上的前置USB接口對(duì)應(yīng)相接時(shí)把正負(fù)接反就會(huì)發(fā)生這類(lèi)故障,這也是相當(dāng)危險(xiǎn)的,因?yàn)檎?fù)接反很可能會(huì)使得USB設(shè)備燒毀。所以盡量采用機(jī)箱后置的USB接口,也少用延長(zhǎng)線.也可能是斷口有問(wèn)題,換個(gè)USB端口看下.USB接口電壓不足。當(dāng)把<ahref="mobileharddisk">移動(dòng)硬盤(pán)</a>接在前置USB口上時(shí)就有可能發(fā)生系統(tǒng)無(wú)法識(shí)別出設(shè)備的故障。原因是<ahref="">移動(dòng)硬盤(pán)</a>功率比較大要求電壓相對(duì)比較嚴(yán)格,前置接口可能無(wú)法提供足夠的電壓,當(dāng)然劣質(zhì)的電源也可能會(huì)造成這個(gè)問(wèn)題。解決方法是<ahref="">移動(dòng)硬盤(pán)</a>不要接在前置USB接口上,更換劣質(zhì)低功率的電源或盡量使用外接電源的硬盤(pán)盒,假如有條件的話。主板和系統(tǒng)的兼容性問(wèn)題。呵呵這類(lèi)故障中最著名的就是NF2主板與USB的兼容性問(wèn)題。假如你是在NF2的主板上碰到這個(gè)問(wèn)題的話,則可以先安裝最新的nForce2專(zhuān)用USB2.0驅(qū)動(dòng)和補(bǔ)丁、最新的主板補(bǔ)丁和操作系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于節(jié)水節(jié)電倡議書(shū)范文(5篇)
- 公司新人個(gè)人銷(xiāo)售工作總結(jié)
- 關(guān)于知識(shí)競(jìng)賽方案范文集合十篇
- 貨運(yùn)物流汽車(chē)吊租賃合約
- 咖啡館裝修粉刷施工合同
- 旅游行業(yè)董事長(zhǎng)聘用合同
- 舞蹈室把桿安裝木工施工合同
- 河道景觀改造與生態(tài)修復(fù)合同
- 軟件技術(shù)成果共享協(xié)議
- 生態(tài)園區(qū)草坪綠化協(xié)議
- 【初中化學(xué)】二氧化碳的實(shí)驗(yàn)室制取課件-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 2024年湖北省公務(wù)員考試《行測(cè)》真題及答案解析
- 第4章《一元一次方程》-2024-2025學(xué)年七年級(jí)數(shù)學(xué)上冊(cè)單元測(cè)試卷(蘇科版2024新教材)
- DB3502T 148-2024中小型水庫(kù)生產(chǎn)運(yùn)行標(biāo)準(zhǔn)化管理規(guī)程
- 公司組織機(jī)構(gòu)管理制度
- 預(yù)習(xí)-21《蟬》導(dǎo)學(xué)案
- 四年級(jí)數(shù)學(xué)上冊(cè) 第4章《運(yùn)算律》單元測(cè)評(píng)必刷卷(北師大版)
- 期中測(cè)試卷(試題)-2024-2025學(xué)年數(shù)學(xué)五年級(jí)上冊(cè)北師大版
- 2023年醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理制度
- GB/T 44672-2024體外診斷醫(yī)療器械建立校準(zhǔn)品和人體樣品賦值計(jì)量溯源性的國(guó)際一致化方案的要求
- 新人教版七年級(jí)上冊(cè)生物全冊(cè)知識(shí)點(diǎn)(期末復(fù)習(xí)用)
評(píng)論
0/150
提交評(píng)論