Unity3d_FPS游戏教程3教学内容.doc
《Unity3d_FPS游戏教程3教学内容.doc》由会员分享,可在线阅读,更多相关《Unity3d_FPS游戏教程3教学内容.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。Unity3d_FPS游戏教程3-FPS游戏教程3Part3:AdvancedFPS第三部分高级FPSThisadvancedleveltutorialextendsuponthepreviousFPStutorialsbyintroducinggameelementssuchaswaypoints,enemyAI,ragdollsandanimation.这个高级教程是原先FPS教程的延伸,介绍游戏元素,例如路径点、敌人,布偶和动画。Prerequisites先决条件Thistutorialassum
2、esthatyouarefamiliarwiththeUnityinterfaceandbasicscriptingconcepts.Additionally,youshouldalreadybefamiliarwiththeconceptsdiscussedinPart1and2oftheFPStutorialseries.这个指南已经默认了你已经熟悉了Unity界面和基本的脚本概念。你已经熟悉了第一部分和第二部分的FPS概念的讨论。Settingup设置WeregoingtobuilduponthepreviousFPStutorial,sowellbeginbyopeningthat:我
3、们将延伸我们的FPS教程,让我们开始吧:Openthepreviousproject(FPSTutorial2).打开原先的项目(FPS教程2)Waypoints路径点Thissectionwillintroducewaypointstoourgame,theseareusedtoinformtherobotsofthepaththattheycanwalkaround.Letsaddthreewaypointstoourgame:这一节将介绍路径点到我们游戏中,即告知机器人它们能够在周围巡逻的路径,让我们增加三个路径点到我们游戏中:Createanemptygameobjectandrena
4、methistoWaypoint.Makesurethegameobjectisplacedapproximatelyonemeterabovethegroundlevel.建立一个空的游戏对象并且重命名它为路径点(Waypoint),确保游戏对象被定位在地面上大约一米左右。AddAutoWayPointscripttoWaypoint.NoticehowtheemptygameobjectnowdisplaysaWintheSceneView.给路径点增加一个自动路径点(AutoWayPoint)脚本,注意怎么在场景视窗中显示空游戏对象(按W键)DuplicatetheWayPointgam
5、eobjecttwiceandarrangethewaypointsinatriangleshape(positionquitefarapart).重复制作两个路径点游戏对象并且把它们排成一个三角形(距离远一些)CheckthatthewaypointsarevisibletoeachotherbyfirstlyclickingonanywaypointthenselectingUpdateWaypointfromthecontextmenuoftheAutoWayPointscript(therightmostbuttononthecomponentintheInspectorView).A
6、greenlinewillbedrawnbetweenvisiblewaypoints,aredlineforthosewhichdonthaveaclearlineofsight.检查一下这些路径点应该是彼此可见的,首先单击任一个路径点然后在自动路径点(AutoWayPoint)脚本的关联菜单上选择更新路径点(在检查视窗的组件上的最右边按钮),一个绿色的线将在可见的路径点之间画出来,一个红色的线表示视野中没有清晰的线。Wehavenowdescribedthepaththatanenemycanwalkaround,nowletsaddanopponenttothescene.我们现在说明的
7、是一个敌人的巡逻路线,现在让我们在场景中增加一个敌人。RobotAI机器人人工智能Thissectionwilladdanenemyrobottoourscene.这一节将增加一个敌人在我们的场景中。SelectRobotArtwork/robotanddragitintotheSceneViewmakingsurealloftherobotisabovetheground.在Artwork/robot目录下选择机器人(Robot)并且拖拽它到场景中,确保所有的而机器人都在地面之上。Letsgivetherobotsomebehavior.让我们给出机器人的一些行为。AddWeaponsScr
8、ipts/AItorobot.IntheAIscriptsectionorrobot,assigntheFPScontrollerasthetarget(sotherobotknowswhotohuntdown).增加一个WeaponsScripts/AI脚本给机器人。在AI脚本部分或机器人,都要将FPS控制器作为目标(所以机器人才能知道猎捕谁)AddtheAIAnimationscripttotherobot.Thiscontrolstheanimationofourrobot(whentorun,whentoaimetc).ThiscommunicateswiththeAIscriptto
9、findoutwhattheAIscriptiscurrentlydoing,e.g.arewerunning,shootingetc.Itthencrossfadestheanimationstoprovideasmoothtransition.增加一个AIAnimation脚本给机器人,这些会控制我们机器人的动画(什么时候跑,什么时候瞄准等等)。与人工智能进行交流,找出AI脚本当前应该做什么,例如,我们正在跑,射击等。然后他排演一个动画以提供一个平滑过渡。Nowweneedtomaketherobotcontrollerobjectalittlelargersothathedoesntin
10、tersectwiththeground.ThisisbecausethecharactercontrollerwhichisusedtopreventtheenemyfrommovingthroughwallsisusingacapsuletorepresenttheAI.Weneedtomakethiscapsulealittlelargertomatchtheactualgraphics,thiswayhewillnotintersectwiththegroundanymore.现在我们需要建造一个机器人控制器对象,稍大一点,以便它不会和地面相交。这时因为胶囊代表的人工智能使用的特性控制
11、器(charactercontroller)会阻止敌人穿墙移动。我们需要制造稍大一点的胶囊以匹配实际的图像,这样他不会再与地面相交。Selecttherobot,thenintheInspectorViewmodifytheheightandradiusvaluesoftheCharacterControllercomponentsothatitenclosestherobot.Pressplaytomakesureitworkscorrectly.选择机器人,然后再检查视窗中编辑特性控制器组件的高度和半径值以便它能包住机器人。按运行按钮确保它工作正确。Trymakingtheheightan
12、dradiusvaluessmallerandlargertoseethedifference.试着将高度和半径值改的稍大一些看看有什么不同。Nowweneedtogivetherobottheabilitytofirehisgun.Therobotiscontinuouslymovingandanimating.Whenheshootshisgunweplayananimationonthehandsandthegraphicalgunthenspawntherocketfromtransformrelativetotherobot.Thistransformdoesnotanimate,i
13、tissimplyplacedapproximatelyatthepointwherethegunwillbewhentheshootanimationfirestherocket.现在我们需要给机器人的枪开火的能力。该机器人在不断移动和动画(用动画表现其反应),当拍摄它手上的枪时我们播放一个动画和枪的图形然后相对于机器人变形衍生出火箭。这个transform不能做成动画,它很简单地大约放置在枪将发射火箭弹的动画的那个点。Createanemptygameobjectandmakeitachildoftherobot(usethehierarchyview).建立一个空的游戏对象并且确保它是机
14、器人对象的子对象(使用层次视窗)Renamethegameobjectgun_spawn.重命名游戏对象为gun_spawnNowweneedtoplaceitproperly.InthetransforminspectorselectResetfromthecontextmenu,thenmoveitforwardinthez-axis.现在我们需要配置它的属性。在关联菜单上的transform检查器中选择Reset,然后沿Z轴移动它。Addtherocketlauncherscripttothegun_spawngameobject.Assigntherocketprefabtothepr
15、ojectilevariable.增加rocketlauncher脚本到gun_spawn游戏对象上,分配火箭预制物体到projectile变量上。Makeaprefabofthisrobot,callitRobot.Thiswillallowyoutocreatemoreenemieseasily.制造一个机器人预制物体,调用它,这将允许你建立更多的敌人。Playthegameandcheckthattherobotfiresatyou.运行游戏并且检查那个朝你开火的机器人。Althoughyoucanshoottherobot,itisnotconfiguredtotakedamage,w
16、ellremedythisinthenextsection.尽管你能朝机器人射击,但它没有配置获得伤害,在下一节中我们将补救这些。RobotDamage机器人伤害AttachtheCharacterDamagescripttotheRobotprefab.附着CharacterDamage脚本到机器人预制物体上。Playthegame,shoottherobotwiththemachinegunandheshoulddisappear.运行游戏,用机枪朝机器人射击并且它会消失。Ragdolls布偶Ragdollsemulateanaturalskeletalbonestructure,this
17、willallowourrobottofallnaturallywhenkilled.Thissectionwillshowhowtosetuparagdoll.布偶模仿一个天然的骨骼结构,这些将允许我们的机器人在被杀死时自然跌倒,这一节将显示如何设置一个布偶。Firstly,createanewscene(FileNewScene).Weregoingtosetupourragdollinhere.Saveyourcurrentsceneifnecessary.首先,建立一个新的场景(FileNewScene)。我们将在这装配我们的布偶,如果需要保存你当前的场景。Createacube(re
18、sizeifnecessary),thiswillbeusedasaplatformforourrobot.DragintherobottotheSceneViewsothatitispositionedabovethecube.建立一个cube(如果需要就重定义一下尺寸),这将被用作我们的机器人的平台,拖拽机器人到场景视窗中以便它被定位到cube之上。Removetheanimationcomponent.Thisisimportantotherwisetheanimationswillinterferewiththephysics.删除动画组件,这一点很重要,否则动画在物理上将被干扰。No
19、wusetheragdollwizard:GameobjectCreateOtherRagdoll.现在使用布偶向导:GameobjectCreateOtherRagdollAdialogboxappears,nowwehavetoassignallthebonestothecorrectslotsinthewizard.WeassignthebonesbydraggingthevaluesfromtheRobotintheHierarchyViewontothecorrectplaceinthedialogbox.ExpandtheRobotgameobjectintheHierarchyV
20、iewifnecessarytorevealthis.出现一个对话框,现在我们必须在向导的正确插槽中指定所有的骨头,我们通过拖拽层次面板上的值分配机器人的骨头到对话框中正确的地方,如果需要在层次视窗中扩大机器人游戏对象以显露出它。Firstly,rootHandle(HierarchyView)mapsontoroot(inthedialogbox).DragrootHandleontotheplaceholderbesiderootinthedialogbox.首先,rootHandle(层次视窗)映射到root(在对话框中),拖拽rootHandle到对话框的root旁边的定位手柄处。Se
21、tTotalMassto4设置总质量为4Legs腿Assignupleg_LtoLeftHip.分配左大腿(upleg_L)到LeftHip。Assignlowleg_LgoestoLeftKnee.分配左小腿(lowleg_L)到LeftKneeAssignheel_LgoestoLeftFoot.分配左脚踝(heel_L)到LeftFootRepeatfortherightleg.重复分配右腿Upperbody/Arms上半身和胳膊AssignupArm_LgoestoLeftArm.分配左手(upArm_L)到LeftArmAssignelbow_LgoestoLeftElbow.分配左
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3d_FPS 游戏 教程 教学内容
限制150内