返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1586|回复: 0

[原创] 【原创】Unity创建动画讲解(Animation)

[复制链接]
发表于 2021-3-28 16:25:56 | 显示全部楼层 |阅读模式
1.首先调出动画窗口界面Animation。如下图所示调出,或者按 ctrl+6 (Unity 2019版本适用)



2.点选需要创建动画片段的游戏对象,然后点击新建动画片段。需要先创建动画文件。





3.点选需要创建动画片段的游戏对象,然后点击增加动画属性,这里测试选择Transform中的空间位置属性作为动画的属性




4.点击录制按钮,然后在所需的关键帧修改Transform中的空间位置属性,在此帧数之间,Unity引擎会自动补帧。



5.录制完成后,可以按播放键预览动画是否正确,如正确,停止录制即可。


6.选择游戏物体,添加动画组件(Animation),并拖入刚刚创建的动画片段







注意:自动播放按照需求自行决定开关。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
 楼主| 发表于 2021-3-28 16:28:38 | 显示全部楼层
//控制动画脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class tiao : MonoBehaviour
{
    Animation DH; //定义动画对象
    private string DHname = "tiao1";   //定义动画名称

    //判断动画的状态,这里表示判断动画是否移动至上方的状态,默认在下方,所以为false
    private bool pdAnimationISUP = true;

    private void Start()
    {
        //获取动画组件引用
        DH = this.GetComponent<Animation>();
    }

    private void OnMouseDown()
    {


        if (pdAnimationISUP==true)
        {
            print("点击上升");
            //播放动画速度调整为1倍数(正常播放速度)
            DH[DHname].speed = 1;

        }
        else
        {
            print("点击下降");
            //播放动画速度调整为-1倍数(倒着播放且是正常速度)
            DH[DHname].speed = -1;

            //如果动画在执行中,就不在动画时间轴的最后一帧开始播放。适用于倒着播放
            if (DH.isPlaying==false)
            {
                //注意,如果需要倒着播放,则需要将开始播放的时间调整为动画时间轴的最后一帧,所以使用DH[DHname].time = DH[DHname].length;
                //动画组件引用[动画名称].length  代表这个动画的长度
                DH[DHname].time = DH[DHname].length;
            }
        }

        //每次执行播放动画前完成判断动画的状态的取反
        pdAnimationISUP = !pdAnimationISUP;

        //开始播放动画,play后面可以无参数也可以选定动画
        DH.Play(DHname);

    }
}




回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 15:21:37 | 显示全部楼层
注意:任何组件以及材质的属性都可进行动画处理,即使是自定义脚本组件的公共变量。
回复 支持 反对

使用道具 举报

游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表