纳金网

标题: Realistic FPS - 如何更换场景里面的NPC [打印本页]

作者: 艾西格亚    时间: 2013-9-26 06:31
标题: Realistic FPS - 如何更换场景里面的NPC
在上回的教程里面,我们介绍了Waypoint设置的方法,通过几个简单的步骤即可在场景里面布置NPC的巡逻与攻击,而这点正是Realistic FPS插件的强大之处。

【教程】学习在Realistic FPS 里面设置敌人的待命攻击
http://www.narkii.com/club/thread-304815-1.html

Realistic FPS Prefab v1.1.7 - FPS游戏的开发插件
http://www.narkii.com/club/thread-304765-1.html

在了解NPC设置后,现在我们需要对NPC的模型进行一些调整,也就是将插件自带的NPC角色换成我们自己导入的动画模型。

现在场景里面已经设置了一组Waypoints,在Group1底下则是三个Waypoint,并且对每一个Waypoiny进行了组别设置,目的是让NPC能在Group1的范围内进行巡逻。

1.jpg

如图所示,三个小方块的位置显示出了Waypoint的巡逻范围:

2.jpg

接下来将Realistic FPS > Demo Scene Assets>ZombieNPC>Object里面的ZombieNPC模型添加到场景,如图所示:

3.jpg

现在测试一下游戏效果,在运行后,只要玩家开始靠近到僵尸一定的距离后,僵尸就会开始奔向玩家进行攻击,此时玩家可用滚轮选择武器并对僵尸进行反击。

4.jpg
5.jpg

测试没问题后,现在我们开始进行NPC角色的替换,将ZombieNPC底下的子物件选取后删除,如图所示:

6.jpg

接下来安装我们提供的僵尸资源包,然后将里面的MT_Zombie_prefab拖曳到ZombieNPC里面成为子物件,如图所示:

7.jpg

Zombie High Quality Rigged Animated - 恶夜僵尸模型下载
http://www.narkii.com/club/thread-305188-1.html

9.jpg

导入新的僵尸模型后,需要对其大小进行调整,使其外形与原来的NPC模型尺寸大小一致,这个比例可以参照胶囊碰撞体,如图所示:

12.jpg

调整好导入的模型后,选择ZombieNPC,取消Animation的勾选,因为这个动画设置对目前的模型来说是不需要用到的,而留下这个组件是因为需参考Animation对应的名称。

10.jpg

选择导入的MT_Zombie_prefab模型, 在Inspector里面将Animations > Size设置为5,这个目的是让导入的模型动作与原来的NPC具有相同的动作设置。

14.jpg

如图所示,从Element0-5为MT_Zombie_prefab自带的动画设置,接下来的工作是将每一个Element的动作名称进行选择与更改,例如T-Pose更改为walk的走路动作,shoot改成run,Attack1改换为idle,以此类推来完成其他的设置,要注意的是,如需要较多的角色动作,可以在AI的脚本内进行添加与修改。

14_1.jpg

Animation设置完成后,选择ZombieNPC,这时要注意的是原来的角色模型已经被我们删除,所以在AI脚本里面是无法找到对应的模型来实行动作,这时需要将导入的模型添加到 Object With Aims,如此才能正确的执行角色的动作。

15.jpg

现在运行看看效果,导入的僵尸模型在游戏一开始会停留在Waypoints的巡逻范围内,待玩家靠近后就会奔跑过来进行疯狂的攻击。

16.jpg
17.jpg

当我们以滚轮切换武器后对僵尸进行攻击后,僵尸在倒地时却是换成了原来的模型,而不是我们所导入的角色,这是什么原因呢?

18.jpg

发生这种角色变换的情况,是因为Character Damage里面的Dead Replacement被指定为原本模型的Ragdoll物件,所以在僵尸收到攻击而倒地前会由这个物件所替换。

19.jpg

从Character Damage的脚本里面找到function Die()的内容,在红线标示的位置表示NPC在受到攻击倒地前由Dead Replacement指定的物件进行替换。

20.jpg

由于导入的模型资源里面并没有提供僵尸的Ragdoll物件,这部分我们就要手动来制作了,制作Ragdoll的方式可参考以下的教程:
Ragdoll 的设置与用法
http://www.narkii.com/club/thread-297439-1.html


制作完成Ragdoll的物件后,将这个物件添加到Dead Replacement里面,这样就可以完成NPC的攻击与倒地动作。

21.jpg

再次运行游戏,现在僵尸朝玩家跑过来进行攻击,在玩家反击后,僵尸倒地前后的动作就无缝的衔接起来。

22.jpg
23.jpg

更多的Unity技术交流与分享请加入:纳金网Unity论坛专属交流群 - 218689657





作者: ZackD    时间: 2013-9-26 14:07
NPC的动作对应有些不太了解,估计要自己再琢磨一下
作者: gududeashu    时间: 2013-9-26 14:26
给力,收藏了
作者: shotdead    时间: 2013-9-27 03:28
谢谢, 非常好
作者: 幸福小猪    时间: 2013-10-28 10:18
感谢楼主分享~
作者: 川流不息    时间: 2014-2-26 13:36
感谢楼主的无私分享
作者: azhengwin    时间: 2014-8-4 15:40
感谢楼主
作者: aspspspsp    时间: 2014-8-4 17:19
謝謝大大熱情分享!!!
作者: cgjch8    时间: 2014-8-29 11:01
非常好非常好
作者: may    时间: 2015-9-16 20:30
终于解决了一个替换的问题 这个教程好啊




欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5