添加敌人
像往常一样将敌人素材(这里选择opossum(负鼠)素材)拖入场景中(会自动创建一个游戏对象),在Sprite Renderer组件中将其排序层级设置为之前添加的Middle Ground,并适当调整Order in Layer。
注意这个Order in Layer不要和其他对象重复,这个值相同的物体在画面中重叠的时候可能会导致闪烁显示的bug。
敌人对象的基本设计
巡逻区域的层级关系
为Opossum对象添加一个父级空对象(Parent Empty Object),这里命名为Enemy Opossum。
注意将原先的Opossum对象的Transform组件重置以保证Opossum对象相对于这个父级空对象的位置不是奇怪的数字,要调整敌人对象的位置直接调整父级空对象的位置即可。
在Enemy Opossum对象下再添加两个空对象,作为巡逻范围的端点,其名为Point A和Point B。
这样的层级设计的好处在于:只需要移动Enemy Opossum对象,巡逻区域和敌人对象就能一起移动;而为Opossum对象添加移动脚本时,也不会影响端点对象的位置——也就是即可以做到作为一个整体管理,又可以在必要的时候分别控制。
为空对象添加显示图标
我们可以为端点对象添加显示图标:
这样即使是空对象也可以在场景中方便的找到其位置:
添加碰撞器、刚体、动画组件
这部分操作之前的笔记里写过就不赘述了,主要步骤是添加Box Collider 2D、Rigidbody 2D、Animator,设置好碰撞范围,锁定Z轴旋转。
敌人死亡动画
添加动画的方法之前的笔记里写过就不赘述了,主要步骤是添加Animator Controller并设置到Animator组件中,为Enemies创建动画文件夹(放所有敌人通用的动画剪辑)然后在里面为Opossum在专门设置一个文件夹放置其动画剪辑,新建Opossum的跑动以及所有敌人的死亡动画剪辑文件后,将素材拖拽到Animation窗口来导入动画素材,调整采样速率。
在Animator窗口中设置好参数和状态转移:
其中从任意状态切换到死亡动画的过渡按照下图设置好过渡选项。
这里取消Can Transition To Self的勾选是为了防止重复播放动画。
此外,还需要在Project窗口中找到这个敌人死亡的动画剪辑,选中后将Inspector窗口中的Loop Time取消选中。
逻辑部分统一放到下一篇说吧~不出意外的话今天连更两篇~
本文介绍如何在Unity中设计敌人对象及其动画,包括层级结构设计、巡逻路径设置、动画控制器配置及避免动画bug的方法。

36万+

被折叠的 条评论
为什么被折叠?



