基于Unity3d的模擬釣魚游戲設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于Unity3d的模擬釣魚游戲設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于Unity3d的模擬釣魚游戲設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于Unity3d的模擬釣魚游戲設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于Unity3d的模擬釣魚游戲設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要隨著互聯(lián)網(wǎng)的發(fā)展并深入人們生活,成為現(xiàn)代社會不可或缺的一部分,網(wǎng)絡(luò)游戲依附于互聯(lián)網(wǎng)自20世紀(jì)末開始發(fā)展得如火如荼。隨著時代進(jìn)步,游戲的種類日益增加以滿足人們的需求。模擬類游戲在電子游戲發(fā)展之初就已有發(fā)展的勢頭,但玩家小眾,以至于模擬游戲在技術(shù)進(jìn)步的近些年來才開始發(fā)展飛速。模擬釣魚游戲的開發(fā)是為了讓玩家無需出門即可體驗(yàn)到釣魚的樂趣。本項(xiàng)目以Unity3d游戲開發(fā)引擎作為開發(fā)工具,利用Unity3d中的UGUI功能、Animation系統(tǒng)和音效系統(tǒng)等聯(lián)合使用C#腳本實(shí)現(xiàn)模擬釣魚游戲。本課題主要是探究Unity3d模擬釣魚游戲的開發(fā),選擇第一人稱單機(jī)的模擬釣魚的游戲方式,讓玩家在快節(jié)奏的生活之余,足不出戶也能體驗(yàn)到只有戶外才能體驗(yàn)到的釣魚樂趣,找回生活中最純粹的快樂。本文主要描述了該游戲的開發(fā)原理,游戲的設(shè)計(jì)與實(shí)現(xiàn)以及游戲功能測試等,為后續(xù)希望開發(fā)同類游戲的開發(fā)者提供借鑒與參考。關(guān)鍵詞:Unity3d;釣魚;模擬;游戲;

AbstractWiththedevelopmentoftheInternetandthedeepeningofpeople'slife,ithasbecomeanindispensablepartofthemodernsociety.Sincetheendofthe20thcentury,thedevelopmentofonlinegamesattachedtotheInternethasbeeninfullswing.Withtheprogressofthetimes,thetypesofgamesareincreasingtomeetpeople'sneeds.Atthebeginningofthedevelopmentofvideogames,simulationgameshavebeendevelopingrapidly,buttheplayersaresosmallthatsimulationgameshavebeguntodeveloprapidlyinrecentyears.Thedevelopmentofsimulationfishinggameistomakeplayersexperiencethefunoffishingwithoutgoingout.Inthisproject,theunity3dgamedevelopmentengineisusedasthedevelopmenttool,andtheC?scriptisusedtorealizethesimulationfishinggamebyusingtheuguifunction,animationsystemandsoundeffectsysteminunity3d.Thistopicismainlytoexplorethedevelopmentofunity3dsimulationfishinggame,choosethefirstpersonsinglecomputersimulationfishinggamemode,sothatplayerscanexperiencethefishingfunthatcanonlybeexperiencedoutdoorsandfindthepurestjoyinlifewithoutleavinghome.Thispapermainlydescribesthedevelopmentprincipleofthegame,thedesignandimplementationofthegameaswellasthefunctiontestofthegame,etc.,soastoprovidereferenceforthefuturedeveloperswhowanttodevelopsimilargames.Keywords:Unity3Dfishingsimulationgame

目錄TOC\o"1-2"\h\z\u第一章 緒論 51.1 開發(fā)背景 51.2 開發(fā)意義 51.3 論文組織結(jié)構(gòu) 6第二章 開發(fā)工具介紹 72.1 Unity3D游戲引擎 72.1.1 Unity3D軟件介紹 72.1.2 API接口 72.1.3 物理引擎 72.1.4 Unity常用生命周期的函數(shù) 82.1.5 GUI(圖形用戶界面) 82.2 C#開發(fā)語言 92.3 VisualStudio2018 9第三章 游戲設(shè)計(jì) 103.1 設(shè)計(jì)要求 103.2 功能設(shè)計(jì) 103.3 游戲總體結(jié)構(gòu)設(shè)計(jì) 113.4 游戲界面結(jié)構(gòu)設(shè)計(jì) 12第四章 游戲?qū)崿F(xiàn) 134.1 游戲界面 134.2 游戲場景 154.2.1游戲場景元素 154.2.2游戲場景實(shí)現(xiàn) 154.3 游戲動畫 174.4 游戲音效 194.4.1環(huán)境音效 194.4.2交互音效 204.5 模擬釣魚過程 214.6 游戲的打包和導(dǎo)出 24第五章 游戲測試 265.1 設(shè)備環(huán)境 265.2 游戲主要功能測試 26第六章 總結(jié) 27參考文獻(xiàn) 28致謝…………29

緒論開發(fā)背景隨著互聯(lián)網(wǎng)的發(fā)展并深入人們生活,成為現(xiàn)代社會不可或缺的一部分,網(wǎng)絡(luò)游戲依附于互聯(lián)網(wǎng)自20世紀(jì)末開始發(fā)展得如火如荼。隨著時代進(jìn)步,游戲的種類日益增加以滿足人們的需求。一般而言,模擬類游戲的定位較為明確,玩家會因?yàn)槟M某種流程的體驗(yàn)感到有趣。模擬類游戲的核心思想是讓玩家能以主角的身份,體驗(yàn)生活中較少機(jī)會能體驗(yàn)到的東西。模擬類游戲可以分為兩種,一是模擬形式,二是模擬真實(shí)。模擬經(jīng)營類游戲就是典型的模擬形式的游戲,玩家從這類游戲中以主角的身份體驗(yàn)?zāi)撤N流程,并達(dá)到一些目的,如流行一時的《動物森友會》讓玩家在與現(xiàn)實(shí)時間同步的世界中,從釣魚、抓蟲、房間布置和衣服設(shè)計(jì)等活動,體驗(yàn)經(jīng)營生活的樂趣。顧名思義,模擬真實(shí)的游戲則不管是渲染環(huán)境,游戲機(jī)制的設(shè)定等都做的非常逼真,讓玩家體驗(yàn)時較有代入感,例如《TheLongDark》中的游戲機(jī)制,正如游戲的名字,從多個維度上讓玩家在漫長的夜晚中,體驗(yàn)長時間求生的孤獨(dú)。然而,模擬類游戲最根本還是離不開“模擬”二字,不管是形式還是真實(shí)程度,都不能代替現(xiàn)實(shí)。模擬類游戲雖然是模擬了生活中的某種形式以供玩家體驗(yàn),但它終歸是游戲,是需要有肉眼可見的獎勵和懲罰,來刺激玩家的心理,模仿現(xiàn)實(shí)生活的動作來增強(qiáng)體驗(yàn)感,因此本課題將以模擬類游戲的核心,設(shè)計(jì)并實(shí)現(xiàn)模擬釣魚游戲。開發(fā)意義在這個“快餐”時代,人們的生活節(jié)奏極快,力求快速達(dá)到想要的結(jié)果,因此人們的壓力也日益漸增。為了調(diào)節(jié)節(jié)奏快、壓力大的生活,游戲娛樂無疑是一種良好的緩解壓力的方式。模擬釣魚游戲的開發(fā)是為了讓玩家無需出門即可體驗(yàn)到釣魚的樂趣。在當(dāng)今年輕人都投身于快節(jié)奏生活的時代里,需要有這樣一款游戲,讓玩家在快節(jié)奏的生活之余,足不出戶也能體驗(yàn)到只有戶外才能體驗(yàn)到的釣魚樂趣,找回生活中最純粹的快樂。模擬類游戲是在“快餐”時代下不可多得的慢生活體驗(yàn),模擬類游戲的低門檻,易看懂并且上手能讓玩家快速體驗(yàn)到游戲的樂趣,在模擬一項(xiàng)活動過程中釋放生活的壓力。運(yùn)用Unity3d開發(fā)的模擬釣魚游戲,不限游戲場景,簡單易懂易上手,一個設(shè)備就可以享受釣魚的樂趣,還能在釣魚的過程中享受風(fēng)景帶來的愜意,在“快餐”時代下的慢生活體驗(yàn)是近年來受歡迎的生活方式,而模擬釣魚也因?yàn)閻芤馀c悠閑的特點(diǎn)吸引越來越多的游戲玩家。因此,模擬釣魚目前有著客觀的發(fā)展前景。論文組織結(jié)構(gòu)論文從最初的構(gòu)思到分析實(shí)踐,結(jié)合了專業(yè)的Unity3d游戲開發(fā)資料,進(jìn)行了一個模擬釣魚游戲的設(shè)計(jì)制作,其中具體介紹游戲的設(shè)計(jì)思路和實(shí)現(xiàn)步驟,包括游戲的系統(tǒng)功能設(shè)計(jì)和主要代碼的編寫。論文分為六章,章節(jié)安排如下:?第一部分:緒論,主要闡述了模擬釣魚游戲制作的背景和本設(shè)計(jì)的簡單說明;?第二部分:介紹了本項(xiàng)目開發(fā)時用到的Unity3d游戲開發(fā)引擎的介紹和各類工具;第三部分:詳細(xì)介紹了模擬釣魚游戲的設(shè)計(jì)思路,從設(shè)計(jì)要求延伸到功能的設(shè)計(jì)、總體結(jié)構(gòu)的設(shè)計(jì)和游戲界面結(jié)構(gòu)設(shè)計(jì);第四部分:詳細(xì)講述了模擬釣魚游戲的實(shí)現(xiàn)步驟,包括游戲界面、游戲場景、游戲動畫和模擬釣魚游戲過程的實(shí)現(xiàn)方法;?第五部分:運(yùn)行游戲進(jìn)行測試;第六部分:對模擬釣魚游戲項(xiàng)目的總結(jié)以及未來的發(fā)展方向的闡述。

開發(fā)工具介紹Unity3D游戲引擎Unity3D軟件介紹Unity3D(以下簡稱U3D)是一款3D跨平臺次時代游戲引擎。它提供了非常完美的跨平臺系統(tǒng)。平臺之間的差別常常會影響到產(chǎn)品的開發(fā)速度和進(jìn)度,因此大部分開發(fā)者們要在這上面花費(fèi)大量的時間,而U3D則能夠在近10種主流平臺之間完美移植。同時U3D也提供了一個交互良好的操作界面,能夠完美地在Windows和MacOS下部署。該軟件自帶的五個工程視圖框架能夠很好地幫助設(shè)計(jì)者分類游戲中的對象及觀察制作游戲的進(jìn)程。其中包括project視圖,該視圖主要存放游戲中的資源文件,hierarchy視圖主要放置游戲場景中具體的游戲?qū)ο?,inspector視圖主要用來描述游戲資源的信息,scene視圖主要存放游戲中模型資源,game視圖是用來觀察已經(jīng)完成的游戲的運(yùn)行成果。U3D還為我們提供了多種腳本語言編譯的常用環(huán)境,用戶可以根據(jù)需求將默認(rèn)的編譯環(huán)境做出調(diào)整。Unity3D支持C#、javascript、boo三種腳本語言。Unity.Unity3D參考手冊.Unity,2010:94-121API接口UUnity3D豐富的API能夠幫你完成各種想要完成的需求。API是一些預(yù)先定義的函數(shù),可用于提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件無需訪問源碼就能訪問一組例程的能力,亦或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。U3D就有一套完整的API函數(shù)庫,通過這些API函數(shù),開發(fā)人員可以很方便地實(shí)現(xiàn)項(xiàng)目的初始化,功能模塊的每幀調(diào)用,如何進(jìn)行觸發(fā)檢測并進(jìn)行觸發(fā)事件的響應(yīng),如何判斷是否進(jìn)入觸發(fā)區(qū),是否在觸發(fā)區(qū),是否離開觸發(fā)區(qū),如何實(shí)現(xiàn)拖動事件的響應(yīng)等。物理引擎任何一個游戲的設(shè)計(jì)都需要其物體特性的合理性,這樣才顯得真實(shí)可信。U3D為開發(fā)人員提供了大量組件,可以對對象進(jìn)行渲染,顏色的誘明度,平行光,點(diǎn)光源,法線貼圖,圖片,文字,動畫,聲音,材質(zhì)等一系列組件可以帶給我們很逼真的視覺效果,而在物理特性上添加的剛體,碰撞器等組件,可以實(shí)現(xiàn)使對象受到重力,摩擦力,空氣阻力等自然物理特性的影響,而爬坡的坡度設(shè)定,碰撞后的一切物理變化,逼真的體驗(yàn)讓你覺得這就是一個現(xiàn)實(shí)中的物體。Unity常用生命周期的函數(shù)Unity3D游戲引擎不像常規(guī)的程序直接在Main函數(shù)入口運(yùn)行,而是在內(nèi)部實(shí)現(xiàn)了自己的生命周期事件。通過對這些生命周期的事件進(jìn)行寫入,Unity內(nèi)部就會不斷地迭代這些生命周期函數(shù)。下面按照腳本的執(zhí)行順序介紹游戲中比較常用的Unity事件函數(shù)。Awake():當(dāng)游戲?qū)ο蟊怀跏蓟臅r候調(diào)用,無論該對象是否已被激活。Start():在Awake事件后調(diào)用,但只有被激活的時候才能夠執(zhí)行。Update():游戲中的幀事件,因?yàn)橛螒虼蟛糠侄际前磶蕘韴?zhí)行邏輯的。FixedUpdate():游戲的固定幀事件,基本同Update(),但該事件可由開發(fā)者去控制執(zhí)行頻率。OnEnable():在Start事件后調(diào)用,只有被激活的時候才會執(zhí)行。OnDisable():當(dāng)游戲?qū)ο蟊唤辜せ畹臅r候會調(diào)用。OnDestroy():當(dāng)游戲?qū)ο蟊讳N毀的時候執(zhí)行。Unity3D的腳本基本上都會繼承自于MonoBehavior基類。一般不繼承于MonoBehavior的類會用來寫一些工具類。通常來說,它在整個程序運(yùn)行的過程中都是存在的,除非自己手動GC釋放內(nèi)存。GUI(圖形用戶界面)本文主要使用NGUI和UGUI進(jìn)行UI界面的開發(fā),GUI是圖形用戶界面的英文簡寫。Unity的GUI系統(tǒng)被稱作UnityGUI,UnityGUI能使你非??旖莺啽愕奶砑庸δ荦R備且種類繁多的界面元素,通過在GUI控件的創(chuàng)建操作中同時包括實(shí)例化,定位和功能定義。使你只需要一次性寫出很少量的代碼就能同時完成創(chuàng)建一個GUI界面元素實(shí)例,并定位實(shí)例在屏幕的位置和描述界面元素被激活時所要執(zhí)行的腳本三種工作。UGUI是Unity內(nèi)置的,NGUI則是一款為Unity游戲引擎開發(fā)的工具功能擴(kuò)展的UI插件,它也能夠?yàn)殚_發(fā)者提供方便快捷的UI設(shè)計(jì)方法,加快設(shè)計(jì)游戲的速度。C#開發(fā)語言C#是微軟公司發(fā)布的一種運(yùn)行于.NETFramework之上,面向?qū)ο蟮母呒壋绦蛟O(shè)計(jì)語言。C#與Java類似,是一種語言,一種工具。但這里需要知道Unity是跨平臺的,而C#并不是一種跨平臺的語言。只是由于Mono的的重新實(shí)現(xiàn),使得Unity能夠使用C#來開發(fā),因此,我們可以在Unity上寫C#的代碼。語法明了,類庫使用方便,是C#的優(yōu)點(diǎn),也是我們在Unity開發(fā)中首先考慮的語言。VisualStudio2018VisualStudio2018(以下簡稱VS)是微軟公司自主推出的開發(fā)環(huán)境。其中它支持最新的集成開發(fā)環(huán)境。VS也帶來了NETFramework4.6、MicrosoftVisualStudio2018CTP,同時也支持開發(fā)者進(jìn)行面向Windows的應(yīng)用程序開發(fā)。并且支持MicrosoftSQLSever,IBM,Oracle數(shù)據(jù)庫等。

游戲設(shè)計(jì)設(shè)計(jì)要求任何一款游戲直接面向的都是玩家,不同的操作上下限游戲決定吸引的玩家群體。模擬釣魚游戲的設(shè)計(jì)初衷,是為了能讓在快節(jié)奏生活壓力下的人們,體驗(yàn)釣魚帶來的舒適與愜意。模擬釣魚游戲項(xiàng)目設(shè)計(jì)要求是上手簡單,操作方便,必不可少的是與游戲內(nèi)物品交互的反饋。除此以外,還要保證游戲要有美觀的界面和盡可能優(yōu)美的游戲畫面。功能設(shè)計(jì)現(xiàn)實(shí)生活中的釣魚,樂趣在于輕松愉快的等待魚上鉤的過程以及對未知的結(jié)果期待,而對于模擬游戲而言,保留所模擬事物的特點(diǎn)和樂趣,是開發(fā)項(xiàng)目時首要實(shí)現(xiàn)的功能需求。本項(xiàng)目以釣魚的過程為核心,設(shè)計(jì)并融合以實(shí)現(xiàn)模擬釣魚游戲。那么該如何體現(xiàn)釣魚的過程呢?對于玩家而言,最直接的感受反饋就是交互。要讓玩家切身的投入到模擬的游戲當(dāng)中,就要有可以操作的空間,才能讓玩家有釣魚的參與感。除此以外,釣魚更大的樂趣在于未知的結(jié)果。魚釣上來以前,期待和未知的心理感受會提升玩家的游戲體驗(yàn)。為了能讓玩家在模擬釣魚游戲中有更輕松愉快的體驗(yàn),模擬釣魚游戲的環(huán)境搭建要切合大多數(shù)玩家能接受審美,許多玩家傾向于治愈和卡通的畫面,在模擬釣魚的過程中能更好的治愈放松身心。根據(jù)以上分析,模擬釣魚游戲的功能分為以下幾個部分:人機(jī)交互:玩家可通過鼠標(biāo)、鍵盤對游戲的UI、游戲內(nèi)物品發(fā)生交互,讓玩家更好的代入釣魚的過程。模擬動畫:運(yùn)用適當(dāng)?shù)膭赢嫼蛣幼魇沟媚M釣魚的過程更加真實(shí),魚漂的浮動和魚竿的動作等,形象生動,讓釣魚的過程更加飽滿。同步化聲效:玩家在進(jìn)行交互后,獲得同步聲效的反饋,讓模擬釣魚更加生動和代入感更強(qiáng)。場景:為了能讓玩家沉浸放松在模擬釣魚的游戲中,游戲的畫面要做到卡通和治愈的風(fēng)格。游戲總體結(jié)構(gòu)設(shè)計(jì)根據(jù)前文所討論的內(nèi)容,可得出本項(xiàng)目的總體結(jié)構(gòu)設(shè)計(jì)方案。如圖3-2所示。結(jié)合Unity3d游戲開發(fā)引擎,討論各模塊的實(shí)現(xiàn)方法,具體分析如下:圖3-2游戲總體結(jié)構(gòu)圖人機(jī)交互模塊包括下面幾點(diǎn):開始界面和游戲界面采用Unity3d游戲開發(fā)引擎中的UGUI功能與C#腳本進(jìn)行開發(fā)。C#腳本監(jiān)聽玩家鼠標(biāo)點(diǎn)擊或鍵盤輸入事件,根據(jù)玩家點(diǎn)擊界面中的Button觸發(fā)事件,并進(jìn)行對應(yīng)的場景變化、Animator動畫反饋、Transform變化反饋等。模擬動畫模塊:采用Unity3d中的Amination系統(tǒng)的功能,動畫編輯器中添加關(guān)鍵幀或事件,完成魚漂和魚竿的動畫。同步化聲效:使用Unity3d中的音效系統(tǒng),設(shè)置AudioSource并通過C#腳本控制音效的發(fā)生條件。場景模塊:模擬釣魚游戲內(nèi)的環(huán)境包括天空、水面、陸地和綠化。運(yùn)用Unity3d中的SkyBox模擬天空的景色,使用Unity3d引擎中具備的Plane組件結(jié)合Shader著色器及對應(yīng)的材質(zhì)球,使Plane平面組件產(chǎn)生噪波的特效,以達(dá)到水面和陸地獨(dú)特的紋路效果。游戲界面結(jié)構(gòu)設(shè)計(jì)考慮模擬釣魚游戲玩家的人群,對各類游戲的了解程度都大相徑庭,為了使各類玩家能快速上手體驗(yàn)?zāi)M釣魚游戲,決定采用簡單直觀的游戲界面結(jié)構(gòu)進(jìn)行開發(fā)。如圖3-1所示。圖3-1游戲界面結(jié)構(gòu)圖

游戲?qū)崿F(xiàn)游戲界面根據(jù)上文所述,模擬釣魚游戲面對的玩家人群廣泛,考慮各層級玩家對游戲接受和掌握程度的不同,游戲的界面應(yīng)具備以下特點(diǎn)孔令德.計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程.北京:清華大學(xué)出版社,2008:26-35孔令德.計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程.北京:清華大學(xué)出版社,2008:26-35簡約:簡單明了、通俗易懂的界面往往符合大多數(shù)玩家對休閑類模擬游戲的需求。美觀:令人舒適的顏色搭配,具備美學(xué)的按鈕設(shè)計(jì),是影響玩家體驗(yàn)的因素之一,這也是對開發(fā)者審美的一種考驗(yàn)。可交互的:可交互且有對應(yīng)的交互反饋,才會讓模擬釣魚游戲的開始不那么突兀,是一款完整的游戲必不可少的部分。根據(jù)上述特點(diǎn),項(xiàng)目的游戲開始界面采用游戲場景作為背景,結(jié)合Unity3d游戲引擎中的NGUI來實(shí)現(xiàn)??梢园l(fā)現(xiàn),這樣制作游戲開始界面能讓開始界面富有層次感,自然生動不僵硬,因?yàn)榘粹o的排列和背景物品的擺放錯落有致,切實(shí)提高畫面的美感。如圖4-1所示。Button的制作是將其SourceImage的屬性,替換成提前做好的字體,再調(diào)整Button的透明度,可以使按鈕和背景的結(jié)合不那么突兀。圖4-1開始界面界面的布局決定后,就在Button上添加鼠標(biāo)點(diǎn)擊事件的監(jiān)聽OnClick(),玩家在點(diǎn)擊“新游戲”按鈕后,對應(yīng)的交互反饋是場景跳轉(zhuǎn),在Unity3d游戲開發(fā)引擎中為了方便管理場景關(guān)卡的切換,引入SceneManager用于場景管理。在OnClick()上掛載一個C#腳本,如圖4-2所示,通過簡單的一段代碼,即可實(shí)現(xiàn)玩家點(diǎn)擊“新游戲”按鈕后,得到切換場景的交互反饋。以下所示為執(zhí)行切換場景的代碼:using

System.Collections;

using

System.Collections.Generic;

using

UnityEngine;

using

UnityEngine.UI;

using

UnityEngine.SceneManagement;

public

class

StartLoad

:

MonoBehaviour

{

public

void

Loading()

{

SceneManager.LoadSceneAsync("Loadingscene");

}

}

圖4-2Button的Inspector面板同理可得其余Button的制作方法。游戲場景4.2.1游戲場景元素要實(shí)現(xiàn)模擬釣魚,設(shè)計(jì)的場景就必然與釣魚有關(guān),除此以外,據(jù)上文所述,環(huán)境的風(fēng)格要讓玩家感到放松,悠閑,能更專心與釣魚這件事情。最能讓玩家感到輕松和悠閑的,一般是最能讓人接受的卡通和治愈向的風(fēng)格,讓人忘記生活的煩惱壓力,沉浸與模擬釣魚游戲的樂趣中?,F(xiàn)在市面上模擬游戲的畫面大多數(shù)是寫實(shí)風(fēng)格,寫實(shí)風(fēng)格的特點(diǎn)是圖像和所要表達(dá)的具體事物形象十分相像,并追求思維與存在的統(tǒng)一性,而使用寫實(shí)風(fēng)格來做的模擬游戲,往往是為了讓玩家能更深層地代入游戲中去。如上文所提到的,模擬釣魚游戲更注重玩家體驗(yàn)釣魚的過程,并在這個過程中能感受到放松的心情。對玩家而言,游戲的畫面是影響心情的最直接因素,所以模擬釣魚游戲的場景會使用更容易讓人接受的治愈卡通風(fēng)格。因此,總結(jié)出模擬釣魚游戲的場景模型應(yīng)該包含下列所示:魚竿:釣魚所必須擁有的工具,且需與環(huán)境風(fēng)格一致,才能讓玩家體驗(yàn)時不會感到違和。水面:要有波光粼粼的動態(tài)感,也要有倒影的層次感,才能讓玩家一眼望去感到舒暢愉快。陸地植被:環(huán)境中不可缺少的襯托,起到渲染氣氛的作用,讓玩家體驗(yàn)?zāi)M釣魚時能身臨其境。4.2.2游戲場景實(shí)現(xiàn)前文有提到過,水面制作思路:使用Unity3d游戲開發(fā)引擎中帶有的Plane平面組件加上特殊的Shader著色器和對應(yīng)的材質(zhì)球,產(chǎn)生波光粼粼的紋路,如圖4-3所示。然而只有紋路是不夠的,為了讓水面更生動,配合C#腳本來讓水面運(yùn)動起來,以下為水面產(chǎn)生隨機(jī)運(yùn)動的代碼示例:using

System;

using

UnityEngine;

namespace

UnityStandardAssets.Water

{

[ExecuteInEditMode]

public

class

WaterBasic

:

MonoBehaviour

{

void

Update()

{

Renderer

r

=

GetComponent<Renderer>();

if

(!r)

{

return;

}

Material

mat

=

r.sharedMaterial;

if

(!mat)

{

return;

}

Vector4

waveSpeed

=

mat.GetVector("WaveSpeed");

float

waveScale

=

mat.GetFloat("_WaveScale");

float

t

=

Time.time

/

20.0f;

Vector4

offset4

=

waveSpeed

*

(t

*

waveScale);

Vector4

offsetClamped

=

new

Vector4(Mathf.Repeat(offset4.x,

1.0f),

Mathf.Repeat(offset4.y,

1.0f),

Mathf.Repeat(offset4.z,

1.0f),

Mathf.Repeat(offset4.w,

1.0f));

mat.SetVector("_WaveOffset",

offsetClamped);

}

}

}

圖4-3波光粼粼的水面環(huán)境的搭建則是需要眾多素材的支撐,又了水面即可將其作為環(huán)境中心,對游戲場景進(jìn)行搭建,最終效果如圖4-3所示。圖4-4第一人稱視角游戲動畫Unity3d游戲開發(fā)引擎中,常用到AnimationController動作控制器聯(lián)合C#腳本來實(shí)現(xiàn)對象的動作邏輯管理。使用Unity3d游戲開發(fā)引擎中的Animation編輯器制作游戲?qū)ο蟮腁nimation,可以通過錄制功能,記錄對象的Position和Rotation的變化,也可以通過手動的方法在時間軸上添加keyframe關(guān)鍵幀。使用Animation制作游戲?qū)ο髣幼鞯暮锰幨强梢栽趧幼鞯臅r間軸上添加事件event,配合C#腳本可以完成許配合對象動作的需求。為了實(shí)現(xiàn)模擬釣魚游戲的釣魚過程,需要設(shè)計(jì)實(shí)現(xiàn)的動畫包括魚漂的浮動和魚竿甩動的動畫。與一般的骨骼動畫不同,模擬釣魚游戲要設(shè)計(jì)動作的對象沒有骨骼,無法使用一般人物的Animation,因此需要使用到Unity3d游戲開發(fā)引擎中帶有的Animation編輯器,制作游戲?qū)ο蟮腁nimation?,F(xiàn)實(shí)生活中釣魚時,魚漂一般是在水面上幾乎不怎么運(yùn)動的物體,但在模擬釣魚游戲中,需要畫面富有動態(tài)而非一潭死水,就要讓魚漂適當(dāng)?shù)母?,讓玩家接收到正在垂釣的信息。?dāng)有魚上鉤,則需要魚漂劇烈上下浮動,來傳達(dá)“魚上鉤了”的信息,這樣的動畫正好能與玩家得知魚上鉤后的心情相呼應(yīng)。釣魚的靈魂動作是甩魚竿,不管是在現(xiàn)實(shí)還是在游戲中。瀟灑的甩魚竿動作宣告釣魚的過程正式開始。甩魚竿的動作不能是僵硬的左右或者前后的移動或轉(zhuǎn)動,要和現(xiàn)實(shí)中釣魚時的甩魚竿那樣富有力量。魚漂的靜態(tài)浮動只需小幅度變化它一個方向的Position,如圖4-5所示,并在AnimationController中設(shè)置循環(huán),即可得到靜態(tài)漂浮的魚漂動作。圖4-5靜態(tài)魚漂的Animation設(shè)置魚漂的劇烈浮動則需要更為密集的keyframe,傳達(dá)有魚上鉤的信息,如圖4-6所示。圖4-5劇烈浮動魚漂的Animation設(shè)置模擬釣魚時的甩魚竿動作需要表現(xiàn)出甩魚竿時的瀟灑和力量,巧妙運(yùn)用Position和Rotation變化可以滿足這樣的需求。甩魚竿時的力量往往伴隨著速度,用力甩的魚竿動作一定會快,那么在甩魚竿可以之前加入類似于跳遠(yuǎn)時助跑幫助的緩沖動作,通過襯托來表現(xiàn)甩魚竿的力度,如圖4-6所示。圖4-6甩魚竿的Animation設(shè)置游戲音效4.4.1環(huán)境音效靈活運(yùn)用unity3d中的AudioSource實(shí)現(xiàn)游戲的環(huán)境音效。在場景中建立一個GameObject并掛載AudioSource,設(shè)置聲音的大小、覆蓋范圍和播放模式,以水面的音效為例,如圖4-7所示:圖4-7水面音效設(shè)置同理,環(huán)境中的其他音效如鳥聲和其他聲效亦可如此實(shí)現(xiàn)。4.4.2交互音效交互音效即為玩家在模擬釣魚過程中的交互所得到的反饋音效。如釣魚的時候甩魚竿發(fā)出的音效、魚漂有反應(yīng)時的提示音效和按下空格鍵把魚釣起來時發(fā)出的音效等。在交互中所發(fā)出的音效往往需要與C#腳本關(guān)聯(lián),判斷或監(jiān)聽音效發(fā)出的條件。新建一個GameObject并將其命名為要發(fā)出的音效名稱,在Inspector面板上添加AudioSource,把音效文件添加到AudioClip一欄。以魚漂有反應(yīng)時發(fā)出的提示音為例,這里選擇將控制音效發(fā)出的代碼寫在魚漂上,聲效的發(fā)出是與魚漂動畫同步發(fā)出的,因此在魚漂發(fā)生反應(yīng)的動作上添加音效播放事件,以下為關(guān)鍵代碼示例:public

void

Watermusic()

{

audioSource.Play();

}

在按下空格鍵后,魚漂消失,通過audioSource.Stop()命令使音效停止,關(guān)鍵代碼如下:if

(Input.GetKeyDown(KeyCode.Space))

{

SmallSplash.gameObject.SetActive(false);

splash0.gameObject.SetActive(false);

this.gameObject.SetActive(false);

audioSource.Stop();

}

最后,將之前所創(chuàng)建的GameObject所對應(yīng)的音效拖到腳本的變量上,即可完成音效的實(shí)現(xiàn),如圖4-8。圖4-8部分音效的實(shí)現(xiàn)模擬釣魚過程根據(jù)上文所提及的,模擬釣魚游戲所面向的玩家不盡相同,模擬釣魚的過程應(yīng)是簡單易懂易上手的,與現(xiàn)實(shí)中的釣魚過程大同小異,甩魚竿后靜待釣魚的結(jié)果,模擬釣魚過程基于現(xiàn)實(shí)釣魚過程張茂軍.虛擬現(xiàn)實(shí)系統(tǒng)[M].北京:科學(xué)出版社,2002:170-172的設(shè)計(jì)如圖4-9張茂軍.虛擬現(xiàn)實(shí)系統(tǒng)[M].北京:科學(xué)出版社,2002:170-172圖4-9模擬釣魚過程設(shè)計(jì)基于現(xiàn)實(shí)生活中的釣魚過程考慮,從甩魚竿開始到魚漂產(chǎn)生劇烈浮動的時間間隔應(yīng)該是隨機(jī)的,但考慮到釣魚等待的時間不應(yīng)該無限長,應(yīng)該要設(shè)置閾值,降低玩家在體驗(yàn)釣魚時的等待產(chǎn)生的焦慮感,當(dāng)產(chǎn)生的范圍內(nèi)隨機(jī)數(shù)隨著時間減少,降低至小于等于1時,魚漂開始劇烈浮動,代碼示例如下:using

System.Collections;

using

System.Collections.Generic;

using

UnityEngine;

public

class

RangeFish

:

MonoBehaviour

{

private

int

a;

private

int

b;

private

float

Timer

=

2;

private

Animator

ani;

public

AudioSource

audioSource;

public

AudioSource

audioSource1;

public

GameObject

SmallSplash;

public

GameObject

splash0;

public

GameObject

fish0;

public

GameObject

fish1;

//

Start

is

called

before

the

first

frame

update

void

Start()

{

ani

=

GetComponent<Animator>();

a

=

Random.Range(3,

20);

//生成隨機(jī)整數(shù)

print(a);

}

//

Update

is

called

once

per

frame

void

Update()

{

Timer

-=

Time.deltaTime;

if

(Timer

<=

0)

{

a

-=

1;

Timer

=

1;

print(a);

}

if

(a

<=

1)

{

ani.SetBool("fish

is

tooking

the

bait",true);

splash0.gameObject.SetActive(true);

SmallSplash.gameObject.SetActive(true);

if

(Input.GetKeyDown(KeyCode.Space))

{

a

=

Random.Range(3,

20);

b

=

Random.Range(0,

3);

SmallSplash.gameObject.SetActive(false);

splash0.gameObject.SetActive(false);

this.gameObject.SetActive(false);

audioSource.Stop();

//UnadaptedTransitTrain_Script.syg

=

false;

if

(b

==

0)

{

print("魚0");

fish0.gameObject.SetActive(true);

}

if

(b

==

1)

{

print("魚1");

fish1.gameObject.SetActive(true);

}

if

(b

==

2)

{

print("沒釣到魚");

audioSource1.Play();

}

}

/*if

(UnadaptedTransitTrain_Script.syg

==

false)

{

this.gameObject.SetActive(false);

print(111);

}*/

}

}

若玩家在魚漂反應(yīng)期間直至結(jié)束都沒有收桿動作,則會讓魚有逃脫的機(jī)會,這里通過魚漂的消失結(jié)束本輪釣魚回合。在魚漂劇烈浮動的Animation的末尾結(jié)束處添加event事件FishDisappear(),來控制魚漂的消失,并結(jié)束本輪釣魚回合,代碼示例如下:public

void

FishDisappear()

{

a

=

Random.Range(3,

20);

SmallSplash.gameObject.SetActive(false);

splash0.gameObject.SetActive(false);

this.gameObject.SetActive(false);

//UnadaptedTransitTrain_Script.syg

=

false;

}

游戲的打包和導(dǎo)出游戲設(shè)計(jì)完成后,接下來要做的就是將游戲打包發(fā)布。在Unity3d游戲開發(fā)引擎中的工具欄上選擇File->BuildSetting,將需要導(dǎo)入的場景通過AddOpenScenes添加進(jìn)去,把需要加載的場景在ScenesInBuild中勾選上,如此一來可實(shí)現(xiàn)場景切換,如圖4-10。在左下角選擇需要導(dǎo)出的模式PC,Android,ios等,點(diǎn)擊Build實(shí)現(xiàn)打包發(fā)布了,此時生成一個exe可執(zhí)行文件,一個Data數(shù)據(jù)文件夾。如圖4-11。圖4-10打開BuildSetting進(jìn)行打包圖4-11打包發(fā)布后的文件

游戲測試設(shè)備環(huán)境CPU:Intel(R)Core(TM)i7-8550U/2.00GHz運(yùn)行內(nèi)存RAM:8G系統(tǒng):Windows1064位操作系統(tǒng),基于x64的處理器分辨率:1920*1080游戲引擎:Unity3d游戲開發(fā)引擎游戲主要功能測試序號測試功能測試結(jié)果1開始界面動態(tài)背景正常按鈕點(diǎn)擊正常場景切換正確2游戲界面環(huán)境顯示正常返回按鍵點(diǎn)擊正常3模擬釣魚過程魚漂浮動表現(xiàn)正常收桿時間正常獲得結(jié)果正常4人機(jī)交互雙擊水面開始甩魚竿釣魚正常按空格收桿正常音效反饋正常5游戲內(nèi)動畫魚漂動作顯示正常魚竿動作顯示正常

總結(jié)模擬釣魚游戲通過從面向的玩家群體研究,玩家所希望體驗(yàn)的模擬釣魚的是怎么樣的,得出一款模擬釣魚游戲應(yīng)該實(shí)現(xiàn)的交互功能。使用Unity3d游戲開發(fā)引擎中NGUI,結(jié)合場景建模,為本項(xiàng)目制作出簡潔美觀大氣的游戲界面。除此以外,游戲中UI部分的素材都額外使用了Photoshop對圖標(biāo)經(jīng)行處理,以達(dá)到圖標(biāo)素材和整個游戲畫風(fēng)的靈活融合。同時,從玩家的體驗(yàn)角度考慮,為設(shè)計(jì)實(shí)現(xiàn)模擬釣魚的過程提供了很好的方向。運(yùn)用簡單的Random函數(shù)和邏輯判斷語句,添加動畫事件點(diǎn)event結(jié)合C#腳本,實(shí)現(xiàn)合適大眾玩家的模擬釣魚的過程。抓住令玩家輕松愉快放松的環(huán)境場景特點(diǎn),確定了游戲畫面的風(fēng)格,大面積藍(lán)和綠的顏色搭配和場景分布,在心理上給玩家一種放松治愈的感覺。使用Unity3d游戲引擎中帶有的Plane平面組件加上特殊的Shader著色器和對應(yīng)的材質(zhì)球,產(chǎn)生波光粼粼的紋路,使游戲有一定的觀賞性,提升了玩家在模擬釣魚時的體驗(yàn)感。使用了Unity3d游戲開發(fā)引擎中的Animation動作系統(tǒng),加入到模擬釣魚過程之中,提升了模擬釣魚的層次感和真實(shí)感。其中魚漂和魚竿的動畫是一幀一幀地做出來的,是本項(xiàng)目中耗費(fèi)較多心力的部分。游戲完成后,根據(jù)模擬釣魚過程的設(shè)計(jì),可以對游戲進(jìn)行測試,在運(yùn)行的腳本代碼上輸出每一步動作的運(yùn)行,可在Unity3d游戲開發(fā)引擎上運(yùn)行游戲,根據(jù)Unity3d游戲開發(fā)引擎的實(shí)時輸出結(jié)果,可監(jiān)控游戲運(yùn)行中出現(xiàn)的問題,印證設(shè)計(jì)的構(gòu)想是否和代碼運(yùn)行的結(jié)果是否一致。本項(xiàng)目的特征與大多數(shù)模擬類游戲不同,它更多的是關(guān)注玩家的體驗(yàn)感,在真實(shí)感和體驗(yàn)感中做出取舍,作為現(xiàn)代快節(jié)奏生活中的悠閑放松的“凈土”。模擬釣魚游戲項(xiàng)目的下一步研究工作,會針對游戲玩法的拓展作更豐富的補(bǔ)充,添加地圖系統(tǒng)、魚類圖鑒和消耗系統(tǒng),讓模擬釣魚游戲?qū)哟胃S富飽滿,給玩家?guī)砀顚哟蔚捏w驗(yàn)感。

參考文獻(xiàn)[1]孔令德.計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程.北京:清華大學(xué)出版社,2008:26-35[2]張茂軍.虛擬現(xiàn)實(shí)系統(tǒng)[M].北京:科學(xué)出版社,2002:170-172[3]趙沁平.DVENET分布式虛擬環(huán)境[M].北京:科學(xué)出版社,2002:68-73[4]Unity.Unity3D參考手冊.Unity,2010:94-121[5]倪樂波;戚鵬;遇麗娜;王婧.Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010年09期:12-14[6]魏迎梅.虛擬環(huán)境中碰撞檢測問題的研究:[D].長沙:中國人民解放軍國防科學(xué)技術(shù)大學(xué),2000:23-45[7]高建洪等.VRML虛擬場景中實(shí)時交互動畫的實(shí)現(xiàn)[J].蘇州大學(xué)學(xué)報(bào)(工科版),2008,(06):36-38[8]張曉媛著.基于游戲引擎的機(jī)械動力仿真技術(shù)的研究與實(shí)現(xiàn)[J].傳媒學(xué)子論壇,2010[9]朱柱.基于Unity3D的虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)與應(yīng)用研究[D].武漢:華中師范大學(xué),2012.[10]陳健松,徐從富,潘云鶴.基于地形的三維場景繪制方法[J].計(jì)算機(jī)工程與應(yīng)用,2006,(08):31-33[11]童恒建.三維數(shù)字景觀中場景圖的組織與繪制[J].測繪信息與工程,2005,(05):9-11[12]LukeLudwig,JohnHaurykiewicz.Collisioncheckinganalysistool:discoveringdynamiccollisionsinamodelingandsimulationenvironment[J].IntJInteractDesManuf(2007):135-141[13]ChristerErison.Real-TimeCollisionDetection[M].CRCPress,2004,7-21[14]Tanzi,Vito.Theoryandpolicy:AcommentonDixieandoncurrenttaxtheory[J].InternationalMonetaryandFundStaffPaper(IMF),Vol.39,No.4,1992:957-966[15]RudigerDorbusch.PolicymakingintheOpenEconomy[M].OxfordUniversityPressInc.,1993:149[16]AlaoMartina.SomeEconomicModelofFertilityinDevelopingCountriesandChina’sRecentComparativeDemographicExperience[C].InternationalSymposiumonPopulationandSustainableDevelopment,Beijing,China,1995:27-29

致謝本項(xiàng)目已接近尾聲,非常感謝曾給予過我?guī)椭完P(guān)心的所有人。首先,我由衷地感謝吳志達(dá)導(dǎo)師,在大學(xué)期間對我的耐心栽培和鼓勵。引導(dǎo)我走進(jìn)學(xué)術(shù)世界的大門,在我迷茫時,給予我鼓勵,讓我明確道路的方向。在此我向吳志達(dá)導(dǎo)師以深深的感謝。同時,對昔日一同奮斗、進(jìn)步的同學(xué)表示感謝,在懵懂迷茫的時候,大家總是互幫互助,互相鼓勵,一同經(jīng)歷學(xué)習(xí)的過程。最后,特別感謝廣東東軟學(xué)院,給我提供了如此良好的學(xué)習(xí)環(huán)境和師資力量,讓我在最需要幫助的時候能得到來自學(xué)校和老師的幫助,順利度過學(xué)習(xí)最艱苦的時光。

怎樣提高電腦系統(tǒng)運(yùn)行速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。1.加快系統(tǒng)啟動速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。(1)MsconfigWindowsXP的啟動速度在系統(tǒng)安裝初期還比較快,但隨著安裝的軟件不斷增多,系統(tǒng)的啟動速度會越來越慢,這是由于許多軟件把自己加在了啟動程序中,這樣開機(jī)即需運(yùn)行,大大降低了啟動速度,而且也占用了大量的系統(tǒng)資源。對于這樣一些程序,我們可以通過系統(tǒng)配置實(shí)用程序Msconfig將它們從啟動組中排除出去。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框中鍵入“Msconfig”,回車后會彈出“系統(tǒng)配置實(shí)用程序”對話框,選擇其中的“啟動”選項(xiàng)卡(如圖1),該選項(xiàng)卡中列出了系統(tǒng)啟動時加載的項(xiàng)目及來源,仔細(xì)查看每個項(xiàng)目是否需要自動加載,否則清除項(xiàng)目前的復(fù)選框,加載的項(xiàng)目越少,啟動的速度就越快。設(shè)置完成后需要重新啟動方能生效。(2)BootvisBootvis是微軟提供的一個啟動優(yōu)化工具,可提高WindowsXP的啟動速度。用BootVis提升WindowsXP的啟動速度必須按照正確的順序進(jìn)行操作,否則將不會起到提速的效果。其正確的操作方法如下:啟動Bootvis,從其主窗口(如圖2)中選擇“工具”菜單下的“選項(xiàng)”命令,在“符號路徑”處鍵入Bootvis的安裝路徑,如“C:\ProgramFiles\Bootvis”,單擊“保存”退出。從“跟蹤”菜單中選擇“下次引導(dǎo)”命令,會彈出“重復(fù)跟蹤”對話框,單擊“確定”按鈕,BootVis將引導(dǎo)WindowsXP重新啟動,默認(rèn)的重新啟動時間是10秒。系統(tǒng)重新啟動后,BootVis自動開始運(yùn)行并記錄啟動進(jìn)程,生成啟動進(jìn)程的相關(guān)BIN文件,并把這個記錄文件自動命名為TRACE_BOOT_1_1。程序記錄完啟動進(jìn)程文件后,會重新啟動BootVis主界面,在“文件”菜單中選擇剛剛生成的啟動進(jìn)程文件“TRACE_BOOT_1_1”。窗口中即會出現(xiàn)“CPU>使用”、“磁盤I/O”、“磁盤使用”、“驅(qū)動程序延遲”等幾項(xiàng)具體圖例供我們分析,不過最好還是讓BootVis程序來自動進(jìn)行分析:從“跟蹤”菜單中選擇“系統(tǒng)優(yōu)化”命令,程序會再次重新啟動計(jì)算機(jī),并分析啟動進(jìn)程文件,從而使計(jì)算機(jī)啟動得更快。(3)禁用多余的服務(wù)WindowsXP在啟動時會有眾多程序或服務(wù)被調(diào)入到系統(tǒng)的內(nèi)存中,它們往往用來控制Windows系統(tǒng)的硬件設(shè)備、內(nèi)存、文件管理或者其他重要的系統(tǒng)功能。但這些服務(wù)有很多對我們用途不大甚至根本沒有用,它們的存在會占用內(nèi)存和系統(tǒng)資源,所以應(yīng)該將它們禁用,這樣最多可以節(jié)省70MB的內(nèi)存空間,系統(tǒng)速度自然也會有很大的提高。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框鍵入“services.msc”后回車,即可打開“服務(wù)”窗口。窗口的服務(wù)列表中列出了系統(tǒng)提供的所有服務(wù)的名稱、狀態(tài)及啟動類型。要修改某個服務(wù),可從列表雙擊它,會彈出它的屬性對話框(如圖3),你可從“常規(guī)”選項(xiàng)卡對服務(wù)進(jìn)行修改,通過單擊“啟動”、“停止”、“暫停”、“恢復(fù)”四個按鈕來修改服務(wù)的狀態(tài),并可從“啟動類型”下拉列表中修改啟動類型,啟動類型有“自動”、“手動”、“已禁用”三種。如果要禁止某個服務(wù)在啟動自動加載,可將其啟動類型改為“已禁用”。WindowsXP提供的所有服務(wù)有36個默認(rèn)是自動啟動的,實(shí)際上,其中只有8個是必須保留的(見下表),其他的則可根據(jù)自己的需要進(jìn)行設(shè)置,每種服務(wù)的作用在軟件中有提示。4)修改注冊表來減少預(yù)讀取,減少進(jìn)度條等待時間WindowsXP在啟動過程中會出現(xiàn)一個進(jìn)度條,我們可以通過修改注冊表,讓進(jìn)度條只跑一圈就進(jìn)入登錄畫面。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框鍵入“regedit”命令后回車,即可啟動注冊表編輯器,在注冊表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,選擇其下的EnablePrefetcher鍵,把它的鍵值改為“1”即可。(5)減少開機(jī)磁盤掃描等待時間當(dāng)Windows日志中記錄有非正常關(guān)機(jī)、死機(jī)引起的重新啟動,系統(tǒng)就會自動在啟動的時候運(yùn)行磁盤掃描程序。在默認(rèn)情況下,掃描每個分區(qū)前會等待10秒鐘,如果每個分區(qū)都要等上10秒才能開始進(jìn)行掃描,再加上掃描本身需要的時間,會耗費(fèi)相當(dāng)長的時間才能完成啟動過程。對于這種情況我們可以設(shè)置取消磁盤掃描的等待時間,甚至禁止對某個磁盤分區(qū)進(jìn)行掃描。選擇“開始→運(yùn)行”,在運(yùn)行對話框中鍵入“chkntfs/t:0”,即可將磁盤掃描等待時間設(shè)置為0;如果要在計(jì)算機(jī)啟動時忽略掃描某個分區(qū),比如C盤,可以輸入“chkntfs/xc:”命令;如果要恢復(fù)對C盤的掃描,可使用“chkntfs/dc:”命令,即可還原所有chkntfs默認(rèn)設(shè)置,除了自動文件檢查的倒計(jì)時之外。2.提高系統(tǒng)運(yùn)行速度提升系統(tǒng)運(yùn)行速度的思路與加快啟動的速度類似:盡量優(yōu)化軟硬件設(shè)置,減輕系統(tǒng)負(fù)擔(dān)。以下是一些常用的優(yōu)化手段。(1)設(shè)置處理器二級緩存容量WindowsXP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設(shè)置,首先打開注冊表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,選擇其下的“SecondLevelDataCache”,根據(jù)自己所用的處理器設(shè)置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系統(tǒng)緩存同樣也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”鍵值從0改為1,WindowsXP就會把除了4M之外的系統(tǒng)內(nèi)存全部分配到文件系統(tǒng)緩存中,這樣XP的內(nèi)核能夠在內(nèi)存中運(yùn)行,大大提高系統(tǒng)速度。通常來說,該優(yōu)化會使系統(tǒng)性能得到相當(dāng)?shù)奶嵘灿锌赡軙鼓承?yīng)用程序性能降低。需要注意的是必須有256M以上的內(nèi)存,激活LargeSystemCache才可起到正面的作用,否則不要輕易改動它。(3)改進(jìn)輸入/輸出性能這個優(yōu)化能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時的性能,不過這只對服務(wù)器用戶才有實(shí)在意義。我們可在中新建一個DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit。一般情況下把數(shù)據(jù)設(shè)置8~16MB之間性能最好,要記住這個值是用字節(jié)來計(jì)算的,例如你要分配10MB的話,就是10×?1024×1024,也就是10485760。這里的優(yōu)化也需要你的機(jī)器擁有大于256M的內(nèi)存。(4)禁用內(nèi)存頁面調(diào)度在正常情況下,XP會把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。在注冊表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”鍵,把它的值從0改為1即可禁止內(nèi)存頁面調(diào)度了。(5)關(guān)閉自動重新啟動功能當(dāng)WindowsXP遇到嚴(yán)重問題時便會突然重新開機(jī),可從注冊表將此功能取消。打開注冊表編輯器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”將AutoReboot鍵的Dword值更改為0,重新啟動后設(shè)置即可生效。(6)改變視覺效果WindowsXP在默認(rèn)情況下啟用了幾乎所有的視覺效果,如淡入淡出、在菜單下顯示陰影。這些視覺效果雖然漂亮,但對系統(tǒng)性能會有一定的影響,有時甚至造成應(yīng)用軟件在運(yùn)行時出現(xiàn)停頓。一般情況下建議少用或者取消這些視覺效果。選擇桌面上“我的電腦”圖標(biāo),單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,打開“系統(tǒng)屬性”對話框。選擇“高級”選項(xiàng)卡,在其中的“性能”欄中單擊“設(shè)置”按鈕,會彈出“性能選項(xiàng)”對話框(如圖4),可選擇“調(diào)整為最佳性能”單選框來關(guān)閉所有的視覺效果,也可選擇“自定義”然后選擇自己需要的視覺效果。(7)合理設(shè)置頁面虛擬內(nèi)存同樣也是在“性能選項(xiàng)”對話框中,選擇“高級”選項(xiàng)卡,在其中的“虛擬內(nèi)存”欄中單擊“更改”按鈕,接下來選擇虛擬內(nèi)存為“自定義大小”,然后設(shè)置其數(shù)值。一般情況下,把虛擬設(shè)為不小于256M,不大于382M比較合適,而且最大值和最小值最好一樣。(8)修改外觀方案WindowsXP默認(rèn)的外觀方案雖然漂亮,但對系統(tǒng)資源的占用也多,可將其改為經(jīng)典外觀以獲得更好的性能。在桌面空白位置單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“屬性”命令,會打開“顯示屬性”對話框,在“主題”選項(xiàng)卡選擇主題為“Windows經(jīng)典”,即可將外觀修改為更為經(jīng)濟(jì)的Windows經(jīng)典外觀。(9)取消XP對ZIP支持WindowsXP在默認(rèn)情況下打開了對zip文件支持,這要占用一定的系統(tǒng)資源,可選擇“開始→運(yùn)行”,在“運(yùn)行”對話框中鍵入“regsvr32/uzipfldr.dll”,回車確認(rèn)即可取消XP對ZIP解壓縮的支持,從而節(jié)省系統(tǒng)資源。(10)關(guān)閉Dr.WatsonDr.Watson是WindowsXP的一個崩潰分析工具,它會在應(yīng)用程序崩潰的時候自動彈出,并且在默認(rèn)情況下,它會將與出錯有關(guān)的內(nèi)存保存為DUMP文件以供程序員分析。不過,記錄DUMP文件對普通用戶則毫無幫助,反而會帶來很大的不便:由于Dr.Watson在應(yīng)用程序崩潰時會對內(nèi)存進(jìn)行DUMP記錄,將出現(xiàn)長時間硬盤讀寫操作,要很長一斷時間程序才能關(guān)閉,并且DUMP文件還會占用大量磁盤空間。要關(guān)閉Dr.Watson可打開注冊表編輯器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,雙擊其下的Auto鍵值名稱,將其“數(shù)值數(shù)據(jù)”改為0,最后按F5刷新使設(shè)置生效,這樣就取消它的運(yùn)行了。同樣,我們可以把所有具備調(diào)試功能的選項(xiàng)取消,比如藍(lán)屏?xí)r出現(xiàn)的memory.dmp,可在“系統(tǒng)屬性”對話框中選擇“高級”選項(xiàng)卡,單擊“啟動和故障恢復(fù)”欄中的“設(shè)置”按鈕,并在彈出的“啟動和故障恢復(fù)”對話框中選擇“寫入調(diào)試信息”為“無”(如圖5)。(11)啟動硬盤/光驅(qū)DMA模式打開“系統(tǒng)屬性”對話框,選擇“硬件”選擇卡中的“設(shè)備管理器”按鈕,打開“設(shè)備管理器”窗口,在設(shè)備列表中選擇“IDEATA/ATAPI控制器”,雙擊“主要IDE通道”或“次要IDE通過”,在其屬性對話框的“高級設(shè)置”選項(xiàng)卡中檢查DMA模式是否已啟動,一般來說如果設(shè)備支持,系統(tǒng)就會自動打開DMA功能,如果沒有打開可將“傳輸模式”設(shè)為“DMA(若可用)”。(12)關(guān)掉不用的設(shè)備WindowsXP總是盡可能為電腦的所有設(shè)備安裝驅(qū)動程序并進(jìn)行管理,這不僅會減慢系統(tǒng)啟動的速度,同時也造成了系統(tǒng)資源的大量占用。針對這一情況,你可在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,方法是雙擊要停用的設(shè)備,在其屬性對話框中的“常規(guī)”選項(xiàng)卡中選擇“不要使用這個設(shè)備(停用)”。在重新啟動設(shè)置即可生效,當(dāng)需要使用這些設(shè)備時再從設(shè)備管理器中啟用它們。(13)關(guān)閉錯誤報(bào)告當(dāng)應(yīng)用程序出錯時,會彈出發(fā)送錯誤報(bào)告的窗口,其實(shí)這樣的錯誤報(bào)告對普通用戶而言幾乎沒有任何意義,關(guān)閉它是明智的選擇。在“系統(tǒng)屬性”對話框中選擇“高級”選項(xiàng)卡,單擊“錯誤報(bào)告”按鈕,在彈出的“錯誤匯報(bào)”對話框中,選擇“禁用錯誤匯報(bào)”單選項(xiàng),最后單擊“確定”即可。另外我們也可以從組策略中關(guān)閉錯誤報(bào)告:從“運(yùn)行”中鍵入“gpedit.msc”,運(yùn)行“組策略編輯器”,展開“計(jì)算機(jī)配置→管理模板→系統(tǒng)→錯誤報(bào)告功能”,雙擊右邊設(shè)置欄中的“報(bào)告錯誤”,在彈出的“屬性”對話框中選擇“已禁用”單選框即可將“報(bào)告錯誤”禁用。(14)關(guān)閉自動更新“自動更新”功能對許多WindowsXP用戶而言并不是必需的,可將其關(guān)閉以節(jié)省系統(tǒng)資源。在“我的電腦”上單擊鼠標(biāo)右鍵,從快捷菜單中選擇“屬性”命令,選擇“系統(tǒng)屬性”對話框中的“自動更新”選項(xiàng)卡,勾選“關(guān)閉自動更新,我將手動更新計(jì)算機(jī)”單選框,單擊“確定”按鈕即可關(guān)閉自動更新功能。如果在“服務(wù)”已經(jīng)將“AutomaticUpdates”服務(wù)關(guān)閉,“系統(tǒng)屬性”對話框中的“自動更新”選項(xiàng)卡就不能進(jìn)行任何設(shè)置了。(15)去掉菜單延遲去掉菜單彈出時的延遲,可以在一定程度上加快XP。要修改的鍵值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”鍵,把默認(rèn)的400修改為0,按F5刷新注冊表即可生效。(16)清除預(yù)讀文件WindowsXP的預(yù)讀設(shè)置雖然可以提高系統(tǒng)速度,但是使用一段時間后,預(yù)讀文件夾里的文件數(shù)量會變得相當(dāng)龐大,導(dǎo)致系統(tǒng)搜索花費(fèi)的時間變長。而且有些應(yīng)用程序會產(chǎn)生死鏈接文件,更加重了系統(tǒng)搜索的負(fù)擔(dān)。所以,應(yīng)該定期刪除這些預(yù)讀文件。預(yù)計(jì)文件存放在WindowsXP系統(tǒng)文件夾的Prefetch文件夾中,該文件夾下的所有文件均可刪除。(17)關(guān)閉自動播放功能在WindowsXP中,當(dāng)往光驅(qū)中放入光盤或?qū)SB硬盤接上電腦時,系統(tǒng)都會自動將光驅(qū)或USB硬盤掃描一遍,同時提示你是否播放里面的圖片、視頻、音樂等文件,如果是擁有多個分區(qū)的大容量的USB硬盤,掃描會耗費(fèi)很長的時間,而且你得多次手動關(guān)閉提示窗口,非常麻煩。這種情況下我們可以將WindowsXP的自動播放功能關(guān)閉。運(yùn)行“組策略”程序。在組策略窗口左邊欄中,打開“計(jì)算機(jī)配置”,選擇“管理模板”下的“系統(tǒng)”,然后在右邊的配置欄中找到“關(guān)閉自動播放”并雙擊它,會彈出“關(guān)閉自動播放屬性”對話框。在其中“設(shè)置”選項(xiàng)卡中選擇“已啟用”,“關(guān)閉自動播放”下拉列表中選擇“所有驅(qū)動器”(如圖6)。這樣以后就不用擔(dān)心WindowsXP的“自動播放”功能帶來的麻煩了。如果你只是想禁止系統(tǒng)掃描某個驅(qū)動器(如USB硬盤)上的文件,可采用下面的方法。先連上你的USB硬盤,讓系統(tǒng)將它識別出來。然后打開“我的電腦”,選擇USB硬盤上的某個分區(qū),按鼠標(biāo)右鍵,會彈出磁盤屬性窗口,選取“自動播放”選項(xiàng)卡,將所有內(nèi)容的類型都選擇為不執(zhí)行操作。如果USB硬盤有多個分區(qū),對所有分區(qū)都進(jìn)行同樣的操作,這樣當(dāng)你將USB驅(qū)動器拔掉再重新接上時,系統(tǒng)會將USB硬盤識別出來,而不會反復(fù)問你是否播放USB硬盤中的文件了。3.加快關(guān)機(jī)速度WindowsXP的關(guān)機(jī)速度要慢于啟動速度,特別有些任務(wù)還需要手工結(jié)束,更加延緩了關(guān)機(jī)速度。因此,要加快關(guān)機(jī)速度,首先要開啟WindowsXP的自動結(jié)束任務(wù)功能。具體步驟是:從注冊表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的鍵值設(shè)置為1即可。然后再修改“HungAppTimeout”為“4000(或更小)”(預(yù)設(shè)為5000),該鍵值同樣也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同樣把WaitToKillServiceTimeout設(shè)置為“4000”;通過這樣設(shè)置后的關(guān)機(jī)速度明顯要加快了。夠全面吧~~◆二、硬件優(yōu)化設(shè)置◆1、關(guān)掉不用的設(shè)備

在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,在要停用設(shè)備屬性對話框中的“常規(guī)”選項(xiàng)卡中選擇“不要使用這個設(shè)備(停用)”。當(dāng)需要使用這些設(shè)備時再從設(shè)備管理器中啟用它們?!?、內(nèi)存性能優(yōu)化

WindowsXP中有幾個選項(xiàng)可以優(yōu)化內(nèi)存性能,它們?nèi)荚谧员硐旅嫖恢茫篐KEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory

Management

1)禁用內(nèi)存頁面調(diào)度(Paging

Executive)

XP會把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。256M以上內(nèi)存才使用這個設(shè)置。把“DisablePagingExecutive”的值從0改為1就可以禁止內(nèi)存頁面調(diào)度了。

2)提升系統(tǒng)緩存

必須有256M以上的內(nèi)存,才激活它。把LargeSystemCache鍵值從0改為1,一般來說,這項(xiàng)優(yōu)化會使系統(tǒng)性能得到相當(dāng)?shù)奶嵘?,但也有可能會使某些?yīng)用程序性能降低。

3)輸入/輸出性能

內(nèi)存大于256M才更改這里的值,這個優(yōu)化只對server(服務(wù)器)用戶才有實(shí)在意義,它能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時的性能。建一個DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit,數(shù)值設(shè)8M-16M字節(jié)之間性能最好,具體設(shè)什么值,可試試哪個值可獲得最佳性能。這個值是用字節(jié)來計(jì)算的,比如你要分配12M,就是12×1024×1024,也就是12582912?!?、啟動硬盤/光驅(qū)DMA模式

“系統(tǒng)屬性”-“硬件”-“設(shè)備管理器”,在設(shè)備列表中選擇“IDE

ATA/ATAPI控制器”,雙擊“主要

IDE

通道”或“次要

IDE

通道”,在其屬性對話框的“高級設(shè)置”選項(xiàng)卡中檢查DMA模式是否已啟動,一般來說如果設(shè)備支持,系統(tǒng)就會自動打開DMA功能,如果沒有打開可將“傳輸模式”設(shè)為“DMA(若可用)”(在BIOS里也應(yīng)該要先設(shè)為支持DMA)。

◆4、關(guān)閉自動播放功能

運(yùn)行“組策略”程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論