从零开始学习Unity学习笔记:Day13 巡逻敌人:基本设计

本文介绍如何在Unity中设计敌人对象及其动画,包括层级结构设计、巡逻路径设置、动画控制器配置及避免动画bug的方法。

添加敌人

像往常一样将敌人素材(这里选择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取消选中。
逻辑部分统一放到下一篇说吧~不出意外的话今天连更两篇~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值