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

  • 您的位置:首页 > 新闻动态 > 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);

    }


    主站蜘蛛池模板: 大埔县| 什邡市| 弥渡县| 郧西县| 南平市| 扎囊县| 静乐县| 青神县| 文成县| 务川| 简阳市| 雷州市| 浮梁县| 安达市| 海晏县| 定结县| 北票市| 南乐县| 定安县| 九龙城区| 信宜市| 泸水县| 阿克陶县| 仙桃市| 金溪县| 连江县| 虞城县| 卓资县| 皮山县| 乌鲁木齐县| 台安县| 武隆县| 黑河市| 河西区| 莒南县| 仙桃市| 云阳县| 和平县| 镇赉县| 龙州县| 铜山县|