基于Unity3d的模拟钓鱼游戏设计与实现_第1页
基于Unity3d的模拟钓鱼游戏设计与实现_第2页
基于Unity3d的模拟钓鱼游戏设计与实现_第3页
基于Unity3d的模拟钓鱼游戏设计与实现_第4页
基于Unity3d的模拟钓鱼游戏设计与实现_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着互联网的发展并深入人们生活,成为现代社会不可或缺的一部分,网络游戏依附于互联网自20世纪末开始发展得如火如荼。随着时代进步,游戏的种类日益增加以满足人们的需求。模拟类游戏在电子游戏发展之初就已有发展的势头,但玩家小众,以至于模拟游戏在技术进步的近些年来才开始发展飞速。模拟钓鱼游戏的开发是为了让玩家无需出门即可体验到钓鱼的乐趣。本项目以Unity3d游戏开发引擎作为开发工具,利用Unity3d中的UGUI功能、Animation系统和音效系统等联合使用C#脚本实现模拟钓鱼游戏。本课题主要是探究Unity3d模拟钓鱼游戏的开发,选择第一人称单机的模拟钓鱼的游戏方式,让玩家在快节奏的生活之余,足不出户也能体验到只有户外才能体验到的钓鱼乐趣,找回生活中最纯粹的快乐。本文主要描述了该游戏的开发原理,游戏的设计与实现以及游戏功能测试等,为后续希望开发同类游戏的开发者提供借鉴与参考。关键词: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 开发背景 51.2 开发意义 51.3 论文组织结构 6第二章 开发工具介绍 72.1 Unity3D游戏引擎 72.1.1 Unity3D软件介绍 72.1.2 API接口 72.1.3 物理引擎 72.1.4 Unity常用生命周期的函数 82.1.5 GUI(图形用户界面) 82.2 C#开发语言 92.3 VisualStudio2018 9第三章 游戏设计 103.1 设计要求 103.2 功能设计 103.3 游戏总体结构设计 113.4 游戏界面结构设计 12第四章 游戏实现 134.1 游戏界面 134.2 游戏场景 154.2.1游戏场景元素 154.2.2游戏场景实现 154.3 游戏动画 174.4 游戏音效 194.4.1环境音效 194.4.2交互音效 204.5 模拟钓鱼过程 214.6 游戏的打包和导出 24第五章 游戏测试 265.1 设备环境 265.2 游戏主要功能测试 26第六章 总结 27参考文献 28致谢…………29

绪论开发背景随着互联网的发展并深入人们生活,成为现代社会不可或缺的一部分,网络游戏依附于互联网自20世纪末开始发展得如火如荼。随着时代进步,游戏的种类日益增加以满足人们的需求。一般而言,模拟类游戏的定位较为明确,玩家会因为模拟某种流程的体验感到有趣。模拟类游戏的核心思想是让玩家能以主角的身份,体验生活中较少机会能体验到的东西。模拟类游戏可以分为两种,一是模拟形式,二是模拟真实。模拟经营类游戏就是典型的模拟形式的游戏,玩家从这类游戏中以主角的身份体验某种流程,并达到一些目的,如流行一时的《动物森友会》让玩家在与现实时间同步的世界中,从钓鱼、抓虫、房间布置和衣服设计等活动,体验经营生活的乐趣。顾名思义,模拟真实的游戏则不管是渲染环境,游戏机制的设定等都做的非常逼真,让玩家体验时较有代入感,例如《TheLongDark》中的游戏机制,正如游戏的名字,从多个维度上让玩家在漫长的夜晚中,体验长时间求生的孤独。然而,模拟类游戏最根本还是离不开“模拟”二字,不管是形式还是真实程度,都不能代替现实。模拟类游戏虽然是模拟了生活中的某种形式以供玩家体验,但它终归是游戏,是需要有肉眼可见的奖励和惩罚,来刺激玩家的心理,模仿现实生活的动作来增强体验感,因此本课题将以模拟类游戏的核心,设计并实现模拟钓鱼游戏。开发意义在这个“快餐”时代,人们的生活节奏极快,力求快速达到想要的结果,因此人们的压力也日益渐增。为了调节节奏快、压力大的生活,游戏娱乐无疑是一种良好的缓解压力的方式。模拟钓鱼游戏的开发是为了让玩家无需出门即可体验到钓鱼的乐趣。在当今年轻人都投身于快节奏生活的时代里,需要有这样一款游戏,让玩家在快节奏的生活之余,足不出户也能体验到只有户外才能体验到的钓鱼乐趣,找回生活中最纯粹的快乐。模拟类游戏是在“快餐”时代下不可多得的慢生活体验,模拟类游戏的低门槛,易看懂并且上手能让玩家快速体验到游戏的乐趣,在模拟一项活动过程中释放生活的压力。运用Unity3d开发的模拟钓鱼游戏,不限游戏场景,简单易懂易上手,一个设备就可以享受钓鱼的乐趣,还能在钓鱼的过程中享受风景带来的惬意,在“快餐”时代下的慢生活体验是近年来受欢迎的生活方式,而模拟钓鱼也因为惬意与悠闲的特点吸引越来越多的游戏玩家。因此,模拟钓鱼目前有着客观的发展前景。论文组织结构论文从最初的构思到分析实践,结合了专业的Unity3d游戏开发资料,进行了一个模拟钓鱼游戏的设计制作,其中具体介绍游戏的设计思路和实现步骤,包括游戏的系统功能设计和主要代码的编写。论文分为六章,章节安排如下: 第一部分:绪论,主要阐述了模拟钓鱼游戏制作的背景和本设计的简单说明; 第二部分:介绍了本项目开发时用到的Unity3d游戏开发引擎的介绍和各类工具;第三部分:详细介绍了模拟钓鱼游戏的设计思路,从设计要求延伸到功能的设计、总体结构的设计和游戏界面结构设计;第四部分:详细讲述了模拟钓鱼游戏的实现步骤,包括游戏界面、游戏场景、游戏动画和模拟钓鱼游戏过程的实现方法; 第五部分:运行游戏进行测试;第六部分:对模拟钓鱼游戏项目的总结以及未来的发展方向的阐述。

开发工具介绍Unity3D游戏引擎Unity3D软件介绍Unity3D(以下简称U3D)是一款3D跨平台次时代游戏引擎。它提供了非常完美的跨平台系统。平台之间的差别常常会影响到产品的开发速度和进度,因此大部分开发者们要在这上面花费大量的时间,而U3D则能够在近10种主流平台之间完美移植。同时U3D也提供了一个交互良好的操作界面,能够完美地在Windows和MacOS下部署。该软件自带的五个工程视图框架能够很好地帮助设计者分类游戏中的对象及观察制作游戏的进程。其中包括project视图,该视图主要存放游戏中的资源文件,hierarchy视图主要放置游戏场景中具体的游戏对象,inspector视图主要用来描述游戏资源的信息,scene视图主要存放游戏中模型资源,game视图是用来观察已经完成的游戏的运行成果。U3D还为我们提供了多种脚本语言编译的常用环境,用户可以根据需求将默认的编译环境做出调整。Unity3D支持C#、javascript、boo三种脚本语言。Unity.Unity3D参考手册.Unity,2010:94-121API接口UUnity3D丰富的API能够帮你完成各种想要完成的需求。API是一些预先定义的函数,可用于提供应用程序与开发人员基于某软件或硬件无需访问源码就能访问一组例程的能力,亦或理解内部工作机制的细节。U3D就有一套完整的API函数库,通过这些API函数,开发人员可以很方便地实现项目的初始化,功能模块的每帧调用,如何进行触发检测并进行触发事件的响应,如何判断是否进入触发区,是否在触发区,是否离开触发区,如何实现拖动事件的响应等。物理引擎任何一个游戏的设计都需要其物体特性的合理性,这样才显得真实可信。U3D为开发人员提供了大量组件,可以对对象进行渲染,颜色的诱明度,平行光,点光源,法线贴图,图片,文字,动画,声音,材质等一系列组件可以带给我们很逼真的视觉效果,而在物理特性上添加的刚体,碰撞器等组件,可以实现使对象受到重力,摩擦力,空气阻力等自然物理特性的影响,而爬坡的坡度设定,碰撞后的一切物理变化,逼真的体验让你觉得这就是一个现实中的物体。Unity常用生命周期的函数Unity3D游戏引擎不像常规的程序直接在Main函数入口运行,而是在内部实现了自己的生命周期事件。通过对这些生命周期的事件进行写入,Unity内部就会不断地迭代这些生命周期函数。下面按照脚本的执行顺序介绍游戏中比较常用的Unity事件函数。Awake():当游戏对象被初始化的时候调用,无论该对象是否已被激活。Start():在Awake事件后调用,但只有被激活的时候才能够执行。Update():游戏中的帧事件,因为游戏大部分都是按帧率来执行逻辑的。FixedUpdate():游戏的固定帧事件,基本同Update(),但该事件可由开发者去控制执行频率。OnEnable():在Start事件后调用,只有被激活的时候才会执行。OnDisable():当游戏对象被禁止激活的时候会调用。OnDestroy():当游戏对象被销毁的时候执行。Unity3D的脚本基本上都会继承自于MonoBehavior基类。一般不继承于MonoBehavior的类会用来写一些工具类。通常来说,它在整个程序运行的过程中都是存在的,除非自己手动GC释放内存。GUI(图形用户界面)本文主要使用NGUI和UGUI进行UI界面的开发,GUI是图形用户界面的英文简写。Unity的GUI系统被称作UnityGUI,UnityGUI能使你非常快捷简便的添加功能齐备且种类繁多的界面元素,通过在GUI控件的创建操作中同时包括实例化,定位和功能定义。使你只需要一次性写出很少量的代码就能同时完成创建一个GUI界面元素实例,并定位实例在屏幕的位置和描述界面元素被激活时所要执行的脚本三种工作。UGUI是Unity内置的,NGUI则是一款为Unity游戏引擎开发的工具功能扩展的UI插件,它也能够为开发者提供方便快捷的UI设计方法,加快设计游戏的速度。C#开发语言C#是微软公司发布的一种运行于.NETFramework之上,面向对象的高级程序设计语言。C#与Java类似,是一种语言,一种工具。但这里需要知道Unity是跨平台的,而C#并不是一种跨平台的语言。只是由于Mono的的重新实现,使得Unity能够使用C#来开发,因此,我们可以在Unity上写C#的代码。语法明了,类库使用方便,是C#的优点,也是我们在Unity开发中首先考虑的语言。VisualStudio2018VisualStudio2018(以下简称VS)是微软公司自主推出的开发环境。其中它支持最新的集成开发环境。VS也带来了NETFramework4.6、MicrosoftVisualStudio2018CTP,同时也支持开发者进行面向Windows的应用程序开发。并且支持MicrosoftSQLSever,IBM,Oracle数据库等。

游戏设计设计要求任何一款游戏直接面向的都是玩家,不同的操作上下限游戏决定吸引的玩家群体。模拟钓鱼游戏的设计初衷,是为了能让在快节奏生活压力下的人们,体验钓鱼带来的舒适与惬意。模拟钓鱼游戏项目设计要求是上手简单,操作方便,必不可少的是与游戏内物品交互的反馈。除此以外,还要保证游戏要有美观的界面和尽可能优美的游戏画面。功能设计现实生活中的钓鱼,乐趣在于轻松愉快的等待鱼上钩的过程以及对未知的结果期待,而对于模拟游戏而言,保留所模拟事物的特点和乐趣,是开发项目时首要实现的功能需求。本项目以钓鱼的过程为核心,设计并融合以实现模拟钓鱼游戏。那么该如何体现钓鱼的过程呢?对于玩家而言,最直接的感受反馈就是交互。要让玩家切身的投入到模拟的游戏当中,就要有可以操作的空间,才能让玩家有钓鱼的参与感。除此以外,钓鱼更大的乐趣在于未知的结果。鱼钓上来以前,期待和未知的心理感受会提升玩家的游戏体验。为了能让玩家在模拟钓鱼游戏中有更轻松愉快的体验,模拟钓鱼游戏的环境搭建要切合大多数玩家能接受审美,许多玩家倾向于治愈和卡通的画面,在模拟钓鱼的过程中能更好的治愈放松身心。根据以上分析,模拟钓鱼游戏的功能分为以下几个部分:人机交互:玩家可通过鼠标、键盘对游戏的UI、游戏内物品发生交互,让玩家更好的代入钓鱼的过程。模拟动画:运用适当的动画和动作使得模拟钓鱼的过程更加真实,鱼漂的浮动和鱼竿的动作等,形象生动,让钓鱼的过程更加饱满。同步化声效:玩家在进行交互后,获得同步声效的反馈,让模拟钓鱼更加生动和代入感更强。场景:为了能让玩家沉浸放松在模拟钓鱼的游戏中,游戏的画面要做到卡通和治愈的风格。游戏总体结构设计根据前文所讨论的内容,可得出本项目的总体结构设计方案。如图3-2所示。结合Unity3d游戏开发引擎,讨论各模块的实现方法,具体分析如下:图3-2游戏总体结构图人机交互模块包括下面几点:开始界面和游戏界面采用Unity3d游戏开发引擎中的UGUI功能与C#脚本进行开发。C#脚本监听玩家鼠标点击或键盘输入事件,根据玩家点击界面中的Button触发事件,并进行对应的场景变化、Animator动画反馈、Transform变化反馈等。模拟动画模块:采用Unity3d中的Amination系统的功能,动画编辑器中添加关键帧或事件,完成鱼漂和鱼竿的动画。同步化声效:使用Unity3d中的音效系统,设置AudioSource并通过C#脚本控制音效的发生条件。场景模块:模拟钓鱼游戏内的环境包括天空、水面、陆地和绿化。运用Unity3d中的SkyBox模拟天空的景色,使用Unity3d引擎中具备的Plane组件结合Shader着色器及对应的材质球,使Plane平面组件产生噪波的特效,以达到水面和陆地独特的纹路效果。游戏界面结构设计考虑模拟钓鱼游戏玩家的人群,对各类游戏的了解程度都大相径庭,为了使各类玩家能快速上手体验模拟钓鱼游戏,决定采用简单直观的游戏界面结构进行开发。如图3-1所示。图3-1游戏界面结构图

游戏实现游戏界面根据上文所述,模拟钓鱼游戏面对的玩家人群广泛,考虑各层级玩家对游戏接受和掌握程度的不同,游戏的界面应具备以下特点孔令德.计算机图形学基础教程.北京:清华大学出版社,2008:26-35孔令德.计算机图形学基础教程.北京:清华大学出版社,2008:26-35简约:简单明了、通俗易懂的界面往往符合大多数玩家对休闲类模拟游戏的需求。美观:令人舒适的颜色搭配,具备美学的按钮设计,是影响玩家体验的因素之一,这也是对开发者审美的一种考验。可交互的:可交互且有对应的交互反馈,才会让模拟钓鱼游戏的开始不那么突兀,是一款完整的游戏必不可少的部分。根据上述特点,项目的游戏开始界面采用游戏场景作为背景,结合Unity3d游戏引擎中的NGUI来实现。可以发现,这样制作游戏开始界面能让开始界面富有层次感,自然生动不僵硬,因为按钮的排列和背景物品的摆放错落有致,切实提高画面的美感。如图4-1所示。Button的制作是将其SourceImage的属性,替换成提前做好的字体,再调整Button的透明度,可以使按钮和背景的结合不那么突兀。图4-1开始界面界面的布局决定后,就在Button上添加鼠标点击事件的监听OnClick(),玩家在点击“新游戏”按钮后,对应的交互反馈是场景跳转,在Unity3d游戏开发引擎中为了方便管理场景关卡的切换,引入SceneManager用于场景管理。在OnClick()上挂载一个C#脚本,如图4-2所示,通过简单的一段代码,即可实现玩家点击“新游戏”按钮后,得到切换场景的交互反馈。以下所示为执行切换场景的代码: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游戏场景元素要实现模拟钓鱼,设计的场景就必然与钓鱼有关,除此以外,据上文所述,环境的风格要让玩家感到放松,悠闲,能更专心与钓鱼这件事情。最能让玩家感到轻松和悠闲的,一般是最能让人接受的卡通和治愈向的风格,让人忘记生活的烦恼压力,沉浸与模拟钓鱼游戏的乐趣中。现在市面上模拟游戏的画面大多数是写实风格,写实风格的特点是图像和所要表达的具体事物形象十分相像,并追求思维与存在的统一性,而使用写实风格来做的模拟游戏,往往是为了让玩家能更深层地代入游戏中去。如上文所提到的,模拟钓鱼游戏更注重玩家体验钓鱼的过程,并在这个过程中能感受到放松的心情。对玩家而言,游戏的画面是影响心情的最直接因素,所以模拟钓鱼游戏的场景会使用更容易让人接受的治愈卡通风格。因此,总结出模拟钓鱼游戏的场景模型应该包含下列所示:鱼竿:钓鱼所必须拥有的工具,且需与环境风格一致,才能让玩家体验时不会感到违和。水面:要有波光粼粼的动态感,也要有倒影的层次感,才能让玩家一眼望去感到舒畅愉快。陆地植被:环境中不可缺少的衬托,起到渲染气氛的作用,让玩家体验模拟钓鱼时能身临其境。4.2.2游戏场景实现前文有提到过,水面制作思路:使用Unity3d游戏开发引擎中带有的Plane平面组件加上特殊的Shader着色器和对应的材质球,产生波光粼粼的纹路,如图4-3所示。然而只有纹路是不够的,为了让水面更生动,配合C#脚本来让水面运动起来,以下为水面产生随机运动的代码示例: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波光粼粼的水面环境的搭建则是需要众多素材的支撑,又了水面即可将其作为环境中心,对游戏场景进行搭建,最终效果如图4-3所示。图4-4第一人称视角游戏动画Unity3d游戏开发引擎中,常用到AnimationController动作控制器联合C#脚本来实现对象的动作逻辑管理。使用Unity3d游戏开发引擎中的Animation编辑器制作游戏对象的Animation,可以通过录制功能,记录对象的Position和Rotation的变化,也可以通过手动的方法在时间轴上添加keyframe关键帧。使用Animation制作游戏对象动作的好处是可以在动作的时间轴上添加事件event,配合C#脚本可以完成许配合对象动作的需求。为了实现模拟钓鱼游戏的钓鱼过程,需要设计实现的动画包括鱼漂的浮动和鱼竿甩动的动画。与一般的骨骼动画不同,模拟钓鱼游戏要设计动作的对象没有骨骼,无法使用一般人物的Animation,因此需要使用到Unity3d游戏开发引擎中带有的Animation编辑器,制作游戏对象的Animation。现实生活中钓鱼时,鱼漂一般是在水面上几乎不怎么运动的物体,但在模拟钓鱼游戏中,需要画面富有动态而非一潭死水,就要让鱼漂适当的浮动,让玩家接收到正在垂钓的信息。当有鱼上钩,则需要鱼漂剧烈上下浮动,来传达“鱼上钩了”的信息,这样的动画正好能与玩家得知鱼上钩后的心情相呼应。钓鱼的灵魂动作是甩鱼竿,不管是在现实还是在游戏中。潇洒的甩鱼竿动作宣告钓鱼的过程正式开始。甩鱼竿的动作不能是僵硬的左右或者前后的移动或转动,要和现实中钓鱼时的甩鱼竿那样富有力量。鱼漂的静态浮动只需小幅度变化它一个方向的Position,如图4-5所示,并在AnimationController中设置循环,即可得到静态漂浮的鱼漂动作。图4-5静态鱼漂的Animation设置鱼漂的剧烈浮动则需要更为密集的keyframe,传达有鱼上钩的信息,如图4-6所示。图4-5剧烈浮动鱼漂的Animation设置模拟钓鱼时的甩鱼竿动作需要表现出甩鱼竿时的潇洒和力量,巧妙运用Position和Rotation变化可以满足这样的需求。甩鱼竿时的力量往往伴随着速度,用力甩的鱼竿动作一定会快,那么在甩鱼竿可以之前加入类似于跳远时助跑帮助的缓冲动作,通过衬托来表现甩鱼竿的力度,如图4-6所示。图4-6甩鱼竿的Animation设置游戏音效4.4.1环境音效灵活运用unity3d中的AudioSource实现游戏的环境音效。在场景中建立一个GameObject并挂载AudioSource,设置声音的大小、覆盖范围和播放模式,以水面的音效为例,如图4-7所示:图4-7水面音效设置同理,环境中的其他音效如鸟声和其他声效亦可如此实现。4.4.2交互音效交互音效即为玩家在模拟钓鱼过程中的交互所得到的反馈音效。如钓鱼的时候甩鱼竿发出的音效、鱼漂有反应时的提示音效和按下空格键把鱼钓起来时发出的音效等。在交互中所发出的音效往往需要与C#脚本关联,判断或监听音效发出的条件。新建一个GameObject并将其命名为要发出的音效名称,在Inspector面板上添加AudioSource,把音效文件添加到AudioClip一栏。以鱼漂有反应时发出的提示音为例,这里选择将控制音效发出的代码写在鱼漂上,声效的发出是与鱼漂动画同步发出的,因此在鱼漂发生反应的动作上添加音效播放事件,以下为关键代码示例:public

void

Watermusic()

{

audioSource.Play();

}

在按下空格键后,鱼漂消失,通过audioSource.Stop()命令使音效停止,关键代码如下:if

(Input.GetKeyDown(KeyCode.Space))

{

SmallSplash.gameObject.SetActive(false);

splash0.gameObject.SetActive(false);

this.gameObject.SetActive(false);

audioSource.Stop();

}

最后,将之前所创建的GameObject所对应的音效拖到脚本的变量上,即可完成音效的实现,如图4-8。图4-8部分音效的实现模拟钓鱼过程根据上文所提及的,模拟钓鱼游戏所面向的玩家不尽相同,模拟钓鱼的过程应是简单易懂易上手的,与现实中的钓鱼过程大同小异,甩鱼竿后静待钓鱼的结果,模拟钓鱼过程基于现实钓鱼过程张茂军.虚拟现实系统[M].北京:科学出版社,2002:170-172的设计如图4-9张茂军.虚拟现实系统[M].北京:科学出版社,2002:170-172图4-9模拟钓鱼过程设计基于现实生活中的钓鱼过程考虑,从甩鱼竿开始到鱼漂产生剧烈浮动的时间间隔应该是随机的,但考虑到钓鱼等待的时间不应该无限长,应该要设置阈值,降低玩家在体验钓鱼时的等待产生的焦虑感,当产生的范围内随机数随着时间减少,降低至小于等于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);

//生成随机整数

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);

}*/

}

}

若玩家在鱼漂反应期间直至结束都没有收杆动作,则会让鱼有逃脱的机会,这里通过鱼漂的消失结束本轮钓鱼回合。在鱼漂剧烈浮动的Animation的末尾结束处添加event事件FishDisappear(),来控制鱼漂的消失,并结束本轮钓鱼回合,代码示例如下:public

void

FishDisappear()

{

a

=

Random.Range(3,

20);

SmallSplash.gameObject.SetActive(false);

splash0.gameObject.SetActive(false);

this.gameObject.SetActive(false);

//UnadaptedTransitTrain_Script.syg

=

false;

}

游戏的打包和导出游戏设计完成后,接下来要做的就是将游戏打包发布。在Unity3d游戏开发引擎中的工具栏上选择File->BuildSetting,将需要导入的场景通过AddOpenScenes添加进去,把需要加载的场景在ScenesInBuild中勾选上,如此一来可实现场景切换,如图4-10。在左下角选择需要导出的模式PC,Android,ios等,点击Build实现打包发布了,此时生成一个exe可执行文件,一个Data数据文件夹。如图4-11。图4-10打开BuildSetting进行打包图4-11打包发布后的文件

游戏测试设备环境CPU:Intel(R)Core(TM)i7-8550U/2.00GHz运行内存RAM:8G系统:Windows1064位操作系统,基于x64的处理器分辨率:1920*1080游戏引擎:Unity3d游戏开发引擎游戏主要功能测试序号测试功能测试结果1开始界面动态背景正常按钮点击正常场景切换正确2游戏界面环境显示正常返回按键点击正常3模拟钓鱼过程鱼漂浮动表现正常收杆时间正常获得结果正常4人机交互双击水面开始甩鱼竿钓鱼正常按空格收杆正常音效反馈正常5游戏内动画鱼漂动作显示正常鱼竿动作显示正常

总结模拟钓鱼游戏通过从面向的玩家群体研究,玩家所希望体验的模拟钓鱼的是怎么样的,得出一款模拟钓鱼游戏应该实现的交互功能。使用Unity3d游戏开发引擎中NGUI,结合场景建模,为本项目制作出简洁美观大气的游戏界面。除此以外,游戏中UI部分的素材都额外使用了Photoshop对图标经行处理,以达到图标素材和整个游戏画风的灵活融合。同时,从玩家的体验角度考虑,为设计实现模拟钓鱼的过程提供了很好的方向。运用简单的Random函数和逻辑判断语句,添加动画事件点event结合C#脚本,实现合适大众玩家的模拟钓鱼的过程。抓住令玩家轻松愉快放松的环境场景特点,确定了游戏画面的风格,大面积蓝和绿的颜色搭配和场景分布,在心理上给玩家一种放松治愈的感觉。使用Unity3d游戏引擎中带有的Plane平面组件加上特殊的Shader着色器和对应的材质球,产生波光粼粼的纹路,使游戏有一定的观赏性,提升了玩家在模拟钓鱼时的体验感。使用了Unity3d游戏开发引擎中的Animation动作系统,加入到模拟钓鱼过程之中,提升了模拟钓鱼的层次感和真实感。其中鱼漂和鱼竿的动画是一帧一帧地做出来的,是本项目中耗费较多心力的部分。游戏完成后,根据模拟钓鱼过程的设计,可以对游戏进行测试,在运行的脚本代码上输出每一步动作的运行,可在Unity3d游戏开发引擎上运行游戏,根据Unity3d游戏开发引擎的实时输出结果,可监控游戏运行中出现的问题,印证设计的构想是否和代码运行的结果是否一致。本项目的特征与大多数模拟类游戏不同,它更多的是关注玩家的体验感,在真实感和体验感中做出取舍,作为现代快节奏生活中的悠闲放松的“净土”。模拟钓鱼游戏项目的下一步研究工作,会针对游戏玩法的拓展作更丰富的补充,添加地图系统、鱼类图鉴和消耗系统,让模拟钓鱼游戏层次更丰富饱满,给玩家带来更深层次的体验感。

参考文献[1]孔令德.计算机图形学基础教程.北京:清华大学出版社,2008:26-35[2]张茂军.虚拟现实系统[M].北京:科学出版社,2002:170-172[3]赵沁平.DVENET分布式虚拟环境[M].北京:科学出版社,2002:68-73[4]Unity.Unity3D参考手册.Unity,2010:94-121[5]倪乐波;戚鹏;遇丽娜;王婧.Unity3d产品虚拟展示技术的研究与应用[J].数字技术与应用,2010年09期:12-14[6]魏迎梅.虚拟环境中碰撞检测问题的研究:[D].长沙:中国人民解放军国防科学技术大学,2000:23-45[7]高建洪等.VRML虚拟场景中实时交互动画的实现[J].苏州大学学报(工科版),2008,(06):36-38[8]张晓媛著.基于游戏引擎的机械动力仿真技术的研究与实现[J].传媒学子论坛,2010[9]朱柱.基于Unity3D的虚拟实验系统设计与应用研究[D].武汉:华中师范大学,2012.[10]陈健松,徐从富,潘云鹤.基于地形的三维场景绘制方法[J].计算机工程与应用,2006,(08):31-33[11]童恒建.三维数字景观中场景图的组织与绘制[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

致谢本项目已接近尾声,非常感谢曾给予过我帮助和关心的所有人。首先,我由衷地感谢吴志达导师,在大学期间对我的耐心栽培和鼓励。引导我走进学术世界的大门,在我迷茫时,给予我鼓励,让我明确道路的方向。在此我向吴志达导师以深深的感谢。同时,对昔日一同奋斗、进步的同学表示感谢,在懵懂迷茫的时候,大家总是互帮互助,互相鼓励,一同经历学习的过程。最后,特别感谢广东东软学院,给我提供了如此良好的学习环境和师资力量,让我在最需要帮助的时候能得到来自学校和老师的帮助,顺利度过学习最艰苦的时光。

怎样提高电脑系统运行速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。1.加快系统启动速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。(1)MsconfigWindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡(如图1),该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。(2)BootvisBootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。(3)禁用多余的服务WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。4)修改注册表来减少预读取,减少进度条等待时间WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。(5)减少开机磁盘扫描等待时间当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。2.提高系统运行速度提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。(1)设置处理器二级缓存容量WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系统缓存同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。(3)改进输入/输出性能这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。(4)禁用内存页面调度在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。(5)关闭自动重新启动功能当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。(6)改变视觉效果WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选框来关闭所有的视觉效果,也可选择“自定义”然后选择自己需要的视觉效果。(7)合理设置页面虚拟内存同样也是在“性能选项”对话框中,选择“高级”选项卡,在其中的“虚拟内存”栏中单击“更改”按钮,接下来选择虚拟内存为“自定义大小”,然后设置其数值。一般情况下,把虚拟设为不小于256M,不大于382M比较合适,而且最大值和最小值最好一样。(8)修改外观方案WindowsXP默认的外观方案虽然漂亮,但对系统资源的占用也多,可将其改为经典外观以获得更好的性能。在桌面空白位置单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,会打开“显示属性”对话框,在“主题”选项卡选择主题为“Windows经典”,即可将外观修改为更为经济的Windows经典外观。(9)取消XP对ZIP支持WindowsXP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择“开始→运行”,在“运行”对话框中键入“regsvr32/uzipfldr.dll”,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。(10)关闭Dr.WatsonDr.Watson是WindowsXP的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存保存为DUMP文件以供程序员分析。不过,记录DUMP文件对普通用户则毫无帮助,反而会带来很大的不便:由于Dr.Watson在应用程序崩溃时会对内存进行DUMP记录,将出现长时间硬盘读写操作,要很长一断时间程序才能关闭,并且DUMP文件还会占用大量磁盘空间。要关闭Dr.Watson可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,双击其下的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。同样,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,可在“系统属性”对话框中选择“高级”选项卡,单击“启动和故障恢复”栏中的“设置”按钮,并在弹出的“启动和故障恢复”对话框中选择“写入调试信息”为“无”(如图5)。(11)启动硬盘/光驱DMA模式打开“系统属性”对话框,选择“硬件”选择卡中的“设备管理器”按钮,打开“设备管理器”窗口,在设备列表中选择“IDEATA/ATAPI控制器”,双击“主要IDE通道”或“次要IDE通过”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”。(12)关掉不用的设备WindowsXP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。(13)关闭错误报告当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在“系统属性”对话框中选择“高级”选项卡,单击“错误报告”按钮,在弹出的“错误汇报”对话框中,选择“禁用错误汇报”单选项,最后单击“确定”即可。另外我们也可以从组策略中关闭错误报告:从“运行”中键入“gpedit.msc”,运行“组策略编辑器”,展开“计算机配置→管理模板→系统→错误报告功能”,双击右边设置栏中的“报告错误”,在弹出的“属性”对话框中选择“已禁用”单选框即可将“报告错误”禁用。(14)关闭自动更新“自动更新”功能对许多WindowsXP用户而言并不是必需的,可将其关闭以节省系统资源。在“我的电脑”上单击鼠标右键,从快捷菜单中选择“属性”命令,选择“系统属性”对话框中的“自动更新”选项卡,勾选“关闭自动更新,我将手动更新计算机”单选框,单击“确定”按钮即可关闭自动更新功能。如果在“服务”已经将“AutomaticUpdates”服务关闭,“系统属性”对话框中的“自动更新”选项卡就不能进行任何设置了。(15)去掉菜单延迟去掉菜单弹出时的延迟,可以在一定程度上加快XP。要修改的键值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”键,把默认的400修改为0,按F5刷新注册表即可生效。(16)清除预读文件WindowsXP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在WindowsXP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。(17)关闭自动播放功能在WindowsXP中,当往光驱中放入光盘或将USB硬盘接上电脑时,系统都会自动将光驱或USB硬盘扫描一遍,同时提示你是否播放里面的图片、视频、音乐等文件,如果是拥有多个分区的大容量的USB硬盘,扫描会耗费很长的时间,而且你得多次手动关闭提示窗口,非常麻烦。这种情况下我们可以将WindowsXP的自动播放功能关闭。运行“组策略”程序。在组策略窗口左边栏中,打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框。在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”(如图6)。这样以后就不用担心WindowsXP的“自动播放”功能带来的麻烦了。如果你只是想禁止系统扫描某个驱动器(如USB硬盘)上的文件,可采用下面的方法。先连上你的USB硬盘,让系统将它识别出来。然后打开“我的电脑”,选择USB硬盘上的某个分区,按鼠标右键,会弹出磁盘属性窗口,选取“自动播放”选项卡,将所有内容的类型都选择为不执行操作。如果USB硬盘有多个分区,对所有分区都进行同样的操作,这样当你将USB驱动器拔掉再重新接上时,系统会将USB硬盘识别出来,而不会反复问你是否播放USB硬盘中的文件了。3.加快关机速度WindowsXP的关机速度要慢于启动速度,特别有些任务还需要手工结束,更加延缓了关机速度。因此,要加快关机速度,首先要开启WindowsXP的自动结束任务功能。具体步骤是:从注册表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的键值设置为1即可。然后再修改“HungAppTimeout”为“4000(或更小)”(预设为5000),该键值同样也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同样把WaitToKillServiceTimeout设置为“4000”;通过这样设置后的关机速度明显要加快了。够全面吧~~◆二、硬件优化设置◆1、关掉不用的设备

在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,在要停用设备属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。当需要使用这些设备时再从设备管理器中启用它们。◆2、内存性能优化

WindowsXP中有几个选项可以优化内存性能,它们全都在注册表下面位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory

Management

1)禁用内存页面调度(Paging

Executive)

XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。256M以上内存才使用这个设置。把“DisablePagingExecutive”的值从0改为1就可以禁止内存页面调度了。

2)提升系统缓存

必须有256M以上的内存,才激活它。把LargeSystemCache键值从0改为1,一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。

3)输入/输出性能

内存大于256M才更改这里的值,这个优化只对server(服务器)用户才有实在意义,它能够提升系统进行大容量文件传输时的性能。建一个DWORD(双字节值)键值,命名为IOPageLockLimit,数值设8M-16M字节之间性能最好,具体设什么值,可试试哪个值可获得最佳性能。这个值是用字节来计算的,比如你要分配12M,就是12×1024×1024,也就是12582912。◆3、启动硬盘/光驱DMA模式

“系统属性”-“硬件”-“设备管理器”,在设备列表中选择“IDE

ATA/ATAPI控制器”,双击“主要

IDE

通道”或“次要

IDE

通道”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”(在BIOS里也应该要先设为支持DMA)。

◆4、关闭自动播放功能

运行“组策略”程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论