unity-动画

目录

Animation(旧版组件)

Animation 组件的基本概念

如何使用 Animation 组件

Animator(新版组件)

基本使用步骤:

详细步骤说明


Animation(旧版组件)

在 Unity 中,Animation 组件是一种用于播放和控制简单动画的组件。虽然 Animator 组件(基于 Mecanim 动画系统)现在更为常用且功能强大,但 Animation 组件仍然适用于一些简单的动画需求。

Animation 组件的基本概念

Animation 组件用于处理传统的关键帧动画,它可以播放一个或多个 Animation Clip(动画片段)。每个 Animation Clip 包含关于对象属性如何随时间变化的数据。

如何使用 Animation 组件

  1. 创建动画片段(Animation Clip)

    • 在项目窗口中,右键点击并选择 Create > Animation 来创建一个新的 Animation Clip
    • 编辑这个 Animation Clip,定义对象的属性如何随时间变化。
  2. 添加 Animation 组件到游戏对象

    • 选择需要动画的游戏对象。
    • 在 Inspector 窗口中,点击 Add Component 按钮,搜索并添加 Animation 组件。
  3. 分配 Animation Clip

    • 将创建的 Animation Clip 拖到 Animation 组件的 Animation 字段中。
    • 你可以在 Animation 组件中添加多个 Animation Clip,并为每个片段设置名称。
  4. 控制动画播放

    • 你可以通过脚本来控制动画的播放。例如:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AnimationTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            GetComponent<Animation>().Play("right"); // 如果参数为空,则播放默认的动画片段
        }
    }
}

Animator(新版组件)

在Unity中,Animator是用来处理复杂动画系统的组件,比旧版的Animation组件功能更强大。Animator使用Animator Controller来管理和切换动画状态,支持动画混合、参数控制、状态机等功能。

基本使用步骤:

1. 添加Animator组件:
   - 在Unity编辑器中,选择一个GameObject。
   - 在Inspector窗口中,点击`Add Component`按钮。
   - 搜索并选择`Animator`组件。

2. 创建Animator Controller:
   - 在项目窗口中,右键点击空白区域,选择`Create > Animator Controller`。
   - 给Animator Controller命名,比如`MyAnimatorController`。
   - 将创建好的Animator Controller拖拽到GameObject的Animator组件的`Controller`字段中。

3. 创建动画片段:
   - 在项目窗口中,右键点击空白区域,选择`Create > Animation`。
   - 创建不同的动画片段(如`Idle.anim`, `Walk.anim`, `Run.anim`)。
   - 在Animator窗口中,打开Animator Controller,将这些动画片段拖拽到Animator状态机中。

4. 设置动画转换(Transitions):
   - 在Animator窗口中,选择一个动画状态(如`Idle`),右键点击选择`Make Transition`,然后点击另一个动画状态(如`Walk`)。
   - 配置转换条件,比如根据参数来触发转换。

5. 控制动画播放:
   - 使用代码控制动画参数,从而触发动画状态转换。

示例代码:

using UnityEngine;

public class AnimatorExample : MonoBehaviour
{
    private Animator animator;

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            animator.SetBool("isWalking", true);
        }
        else if (Input.GetKeyUp(KeyCode.W))
        {
            animator.SetBool("isWalking", false);
        }
    }
}

详细步骤说明

1. 创建参数:
   - 在Animator窗口中,点击`Parameters`标签。
   - 点击`+`按钮,添加一个布尔参数,命名为`isWalking`。

2. 设置转换条件:
   - 选择Idle状态到Walk状态的转换箭头。
   - 在Inspector窗口中,点击`+`按钮添加条件。
   - 设置条件为`isWalking == true`。

3. 返回Idle状态的转换条件:
   - 选择Walk状态到Idle状态的转换箭头。
   - 设置条件为`isWalking == false`。

通过以上步骤,当按下`W`键时,动画会从Idle转换到Walk;松开`W`键时,动画会从Walk转换回Idle。

这样,Animator组件可以帮助你创建更复杂和灵活的动画系统,适应不同的游戏开发需求。

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值