unity 一些坑

来源:互联网 发布:普联软件深圳分公司 编辑:程序博客网 时间:2024/06/05 10:19

新版unty动画系统,标记一下 需要去仔细研究,上午一个坑,到下午才搞定,动画 模型 骨骼 在我脑子里似乎没有这样的概念

新公司,新项目,模型还没有出来,然后我从网上下载了泰科的模型,我直接拷贝原先我做过的工程里面的model文件夹,下面就是噩梦的开始

,。。。。图片竟然不能上传。(被限制了)。。。尴尬。。,,后面补上吧

大概说下 ,首先添加animator组件,然后添加AnimatorCtorller脚本,到这我以为就好了,但是并没有,还需要添加骨骼Avatar,但是项目中有2个模型,一个是带动画的模型,一个是不带动画的模型,并且都没有骨骼,

尴尬了 后来询问大神,说需要修改模型的Rig模式 选择最后一个humanoid模式,这样就生成骨骼了,拖进去后,发现一切还是老样子,于是纠结了找了一个上午,最后发现需要添加带有动画模型的骨骼


2  坑  计算攻击的速度,这段代码你会发现,动画几乎来不及播放,time又重置了

    void PlayFight()    {        time_attack += Time.deltaTime;        Debug.Log(time_attack);        if (magicianState.Magic_cur_blue == magicianState.Magic_max_blue)        {            // R大招            // 接口,手机端接受            animation.CrossFade("Attack2");        }        else        {            if (time_attack > 1 / magicianState.Magic_Attack_rate)            {                time_attack = 0f;                animation.CrossFade("Attack1");            }            else            {                animation.CrossFade("Idle");            }                    }                   }


            animation.CrossFade("Attack1");            float speed = magicianState.Magic_Attack_rate / (animation.GetClip("Attack1").length);            if (speed > 1) //  攻速快,加快播放速度            {                animation["Attack1"].speed = speed;            }            else { //  攻速慢,增加停顿                if (time_attack > animation.GetClip("Attack1").length) animation.CrossFade("Idle");//  上个动画结束播放这个动画                if (time_attack > 1 / magicianState.Magic_Attack_rate)  //速率到达播放下一次攻击                {                    time_attack = 0f;                                    }            }