unity中的状态机

状态机是unity中很重要的一个概念,不要听这个名词很复杂,其实是很简单的东西,比如一个人,有吃饭,睡觉,学习这些不同的状态,游戏中的东西,也有不同的状态,下面以怪物为例,说明unity中状态机的用法.

第一步 生成不同状态下的动画

美工一般会把不同的状态先做成一些序列贞,放在一个图里面.我们一般先确定开始的时候,怪物的状态要用到哪些图片,把这几个图选中,往Hierachy窗口一拖,就生成了第一个状态的动画.我们叫他idle状态,然后我们找到追赶玩家要用到的几张图片,全选后,拖到刚才的动画上(不要拖到新位置,拖到新位置的话,会生成新的),这样就会给刚才那个对象新加了一个动画,重复这个动作,直到所有动画添加完

第二步 添加不同的变量,来控制状态之间的切换

比如怪物跟玩家接近一定的距离,就要切换到追赶玩家的状态

怪物死的时候,就要切换到死亡状态,因此要设2个变量

Run,dead都是bool型的

然后在animator窗口,创建状态切换线,任何状态在dead等于true的时候,切换到dead,idle状态下run为true的时候,切换到run,run状态下,run为false就切换回idle

第三步在程序里设置动画的变量,以便状态机控制器能正确的切换不同状态


public class enemy : MonoBehaviour
{


    public Transform Player;
    public float attackDistance = 25;
    public Animator anim;
// Use this for initialization
void Start ()
{

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值