纳金网
标题:
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的范围内进行巡逻。
2013-9-26 06:10 上传
下载附件
(50 KB)
如图所示,三个小方块的位置显示出了Waypoint的巡逻范围:
2013-9-26 06:10 上传
下载附件
(66.38 KB)
接下来将Realistic FPS > Demo Scene Assets>ZombieNPC>Object里面的ZombieNPC模型添加到场景,如图所示:
2013-9-26 06:10 上传
下载附件
(57.88 KB)
现在测试一下游戏效果,在运行后,只要玩家开始靠近到僵尸一定的距离后,僵尸就会开始奔向玩家进行攻击,此时玩家可用滚轮选择武器并对僵尸进行反击。
2013-9-26 06:10 上传
下载附件
(51.07 KB)
2013-9-26 06:10 上传
下载附件
(145.34 KB)
测试没问题后,现在我们开始进行NPC角色的替换,将ZombieNPC底下的子物件选取后删除,如图所示:
2013-9-26 06:10 上传
下载附件
(22.36 KB)
接下来安装我们提供的僵尸资源包,然后将里面的MT_Zombie_prefab拖曳到ZombieNPC里面成为子物件,如图所示:
2013-9-26 06:10 上传
下载附件
(18.55 KB)
Zombie High Quality Rigged Animated - 恶夜僵尸模型
下载
http://www.narkii.com/club/thread-305188-1.html
2013-9-26 06:10 上传
下载附件
(59.7 KB)
导入新的僵尸模型后,需要对其大小进行调整,使其外形与原来的NPC模型尺寸大小一致,这个比例可以参照胶囊碰撞体,如图所示:
2013-9-26 06:10 上传
下载附件
(62.95 KB)
调整好导入的模型后,选择ZombieNPC,取消Animation的勾选,因为这个动画设置对目前的模型来说是不需要用到的,而留下这个组件是因为需参考Animation对应的名称。
2013-9-26 06:10 上传
下载附件
(50.92 KB)
选择导入的MT_Zombie_prefab模型, 在Inspector里面将Animations > Size设置为5,这个目的是让导入的模型动作与原来的NPC具有相同的动作设置。
2013-9-26 06:10 上传
下载附件
(42.44 KB)
如图所示,从Element0-5为MT_Zombie_prefab自带的动画设置,接下来的工作是将每一个Element的动作名称进行选择与更改,例如T-Pose更改为walk的走路动作,shoot改成run,Attack1改换为idle,以此类推来完成其他的设置,要注意的是,如需要较多的角色动作,可以在AI的脚本内进行添加与修改。
2013-9-26 06:26 上传
下载附件
(30.52 KB)
Animation设置完成后,选择ZombieNPC,这时要注意的是原来的角色模型已经被我们删除,所以在AI脚本里面是无法找到对应的模型来实行动作,这时需要将导入的模型添加到 Object With Aims,如此才能正确的执行角色的动作。
2013-9-26 06:10 上传
下载附件
(55.35 KB)
现在运行看看效果,导入的僵尸模型在游戏一开始会停留在Waypoints的巡逻范围内,待玩家靠近后就会奔跑过来进行疯狂的攻击。
2013-9-26 06:10 上传
下载附件
(43.15 KB)
2013-9-26 06:10 上传
下载附件
(42.18 KB)
当我们以滚轮切换武器后对僵尸进行攻击后,僵尸在倒地时却是换成了原来的模型,而不是我们所导入的角色,这是什么原因呢?
2013-9-26 06:10 上传
下载附件
(34.29 KB)
发生这种角色变换的情况,是因为Character Damage里面的Dead Replacement被指定为原本模型的Ragdoll物件,所以在僵尸收到攻击而倒地前会由这个物件所替换。
2013-9-26 06:10 上传
下载附件
(46.04 KB)
从Character Damage的脚本里面找到function Die()的内容,在红线标示的位置表示NPC在受到攻击倒地前由Dead Replacement指定的物件进行替换。
2013-9-26 06:11 上传
下载附件
(66.45 KB)
由于导入的模型资源里面并没有提供僵尸的Ragdoll物件,这部分我们就要手动来制作了,制作Ragdoll的方式可参考以下的教程:
Ragdoll 的设置与用法
http://www.narkii.com/club/thread-297439-1.html
制作完成Ragdoll的物件后,将这个物件添加到Dead Replacement里面,这样就可以完成NPC的攻击与倒地动作。
2013-9-26 06:11 上传
下载附件
(35.61 KB)
再次运行游戏,现在僵尸朝玩家跑过来进行攻击,在玩家反击后,僵尸倒地前后的动作就无缝的衔接起来。
2013-9-26 06:11 上传
下载附件
(49.03 KB)
2013-9-26 06:11 上传
下载附件
(42.07 KB)
更多的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