欢迎来到天天文库
浏览记录
ID:37178177
大小:770.45 KB
页数:3页
时间:2019-05-21
《torque教程之人工智能(上)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教程:人工智能入门(1)描述:本教程将展示如果增加一个会自动发现敌人并进行射击的NPC,及如果为他设定移动路线。使用的工作目录为“TGEA_1_7_1GameExamplesStrongholdgame”,需要用到素材目录中的“newaiplayer.cs”文件。在本节中我们介绍如何在任务场景中通过填加记号点的办法再添加NPC,这个NPC可以按照指定的路径行走,标记点是他开始行动的起点。引擎启动时,NPC在标记点诞生,标记点同时变为不可视的。标记点上可以给予2个变量,一个是respawn
2、s,用于决定这个NPC是否在被杀死后可以再生,另一个是pathname,是路线名称,可以指定NPC按照哪条路线行动,如果没有路线名称,NPC将站在原地不动。另外,这个NPC不再是只会跑步的“傻瓜”,我们为他增加的扫描范围和攻击能力,好了,闲话少说,开始我们的工作。1.备份原来的game.cs,player.cs,andAIPlayer.cs文件;2.在game.cs中的StartGame功能选区中需要修改以下内容:删除以下内容//StarttheAIManagernewScriptObject(
3、AIManager){};MissionCleanup.add(AIManager);AIManager.think();在它的位置上用下面的语句代替:AIPlayer::LoadEntities();3.在player.cs文件中有关Armor::damage的编码处修改以下内容://Dealwithclientcallbacksherebecausewedon'thavethis//informationintheonDamageoronDisablemethods%client=%obj.
4、client;%sourceClient=%sourceObject?%sourceObject.client:0;if(%obj.getState()$="Dead")%client.onDeath(%sourceObject,%sourceClient,%damageType,%location);找到上面的一段语句将其修改为://Dealwithclientcallbacksherebecausewedon'thavethis//informationintheonDamageoronDi
5、sablemethods%client=%obj.client;%sourceClient=%sourceObject?%sourceObject.client:0;if(%obj.getState()$="Dead"){if(%obj.isbot==false){%client.onDeath(%sourceObject,%sourceClient,%damageType,%location);}}4.用newaiplayer.cs文件中的编码替换AIPlayer.cs中的编码;5.进入引擎,
6、打开Stronghold任务地图,你会发现,原来的Kork不见了;6.进入地图编辑器(按F11)然后进入编辑器创建器。7.在右下脚的窗口中Shapes树状目录下应该多了一个叫做AIMarker新项,点击它看看到新的AIPlayer道具项;8.在场景中填加这个新的AIPlayermarker.9.选择你的标记(marker),放到你想放的地方,然后点击它并按F3进行属性修改。10.在属性表的最下面产生一个名为'pathname'的动态变量,在空格内填入”path1”。11.通过修改respawn的
7、值(true或false)来决定这个marker点产生的BOT是否可以再生。12.点'APPLY'进行操作确认。(非常重要的一步)13.保存你的任务并重新进入。一个叫做Kork1的NPC应该出现了,并按照原来的路径移动。如果你站在他面前并且足够近的话,他会向你射击。
此文档下载收益归作者所有