老公原谅我在老公面前,小情侣在废弃楼房里约会电视剧,大赛每日一赛吃瓜爆料

  • 您的位置:首页 > 新闻动态 > Unity3D

    Unity3D自带动画系统教程

    2017/8/9??????点击:

    导入人物模型,模型是不会动的,因为没有添加动画

    首先给模型添加Animator组件

    有的模型上自带组件,是因为我们给他设置成了人形动画,如果是普通动画就需要自己添加。添加好组件以后,我们发现上面缺少了一个animator controller(动画控制器),我们需要添加一个拖进去。在controller里面添加动画剪辑。点击进入animator视图,找到文件中的Idle动画,拖进去。橘黄为默认动画。再拖进一个攻击动画Atrrack,右键Make Transition(创建过渡),此时运行会发现动画自动播放了,如果我们不想让动画自动过渡,我们需要给过渡添加一个条件,点击过渡线,选项卡中有一个过渡条件

    但是现在过渡条件是空的,所以我们要自己创建一个过渡条件,回到左面的Parameters选项中,我们给他添加一个Triggerr(触发)条件,然后在Conditions中设置。现在Attack是一次性的动作,不会重复,所以这个动作播放完就会停止,所以我们要让Attackk回到Idle状态。连回去。我们会发现当点击Trigger后,并不会马上从Idle状态跳转到Atrrack状态,这是因为我们默认勾选了Has Exit Time

    如果勾选了这个按钮,动画就会默认播放完才会播放下一个动画,如果不勾选,就会马上播放。

    用代码去控制人物攻击触发条件。给人物添加C#脚本。

    public class controller: MonoBehaviour {

    private Animator animator;

    void start(){
    animator = GetCompenent();

    }

    void Update(){

    if(Input.GetMouseButtonDown(0))

    {

    animator.SetTrigger("New Trigger");

    }

    }

    } //MonoBehaviour

    再添加一个人物跑动的动画并用代码控制(Run动画),因为跑是一个持续性动作,当我按住W的时候他就应该持续的跑,所以我们要设置一个Bool类型的条件。跑和停都是要马上完成,所以都不应该勾选Has Exiit Time。代码实现 :

    if(Input.GetKeyDown(KeyCode.W))

    {

        animatorSetBool("isBool", true);

    }


    if(Input.GetKeyUp(KeyCode.W))

    {

        animatorSetBool("isBool", false);

    }


    主站蜘蛛池模板: 关岭| 岑巩县| 甘德县| 阜南县| 治县。| 老河口市| 樟树市| 绍兴市| 永川市| 大厂| 托克逊县| 五河县| 梓潼县| 新龙县| 固安县| 曲水县| 江达县| 汝阳县| 密山市| 太康县| 嘉黎县| 清苑县| 永春县| 临夏市| 湟源县| 道孚县| 沙坪坝区| 青神县| 叙永县| 原阳县| 探索| 内乡县| 佛教| 宁安市| 曲麻莱县| 封丘县| 上思县| 金堂县| 南投县| 永新县| 永康市|