查看: 1181|回复: 0
打印 上一主题 下一主题

[经验分享] Unity3d 浅析Animation与Animator组件[小白篇]

[复制链接]

14

主题

1

听众

272

积分

设计实习生

Rank: 2

纳金币
35
精华
0
跳转到指定楼层
楼主
发表于 2016-12-12 11:18:00 |只看该作者 |倒序浏览
   今天为大家浅析一下Animation与Animator组件之间的关系,其实对于刚刚开始学习unity3d的童鞋来说,总是搞不清楚Animation与Animator组件之间的关系,对它的概念也是很模糊的。所以在这里,我们可以一起深入探索一下它们的关系。

    Animation 官方地址:
    https://docs.unity3d.com/ScriptReference/Animation.html
    Animator  官方地址:
    https://docs.unity3d.com/ScriptReference/Animator.html
   
   
    区别:

    ①Animation和Animator 虽然都是控制动画的播放,但是它们的用法和相关语法都是大有不同的。Animation 控制一个动画的播放,而Animator是多个动画之间相互切换,并且Animator 有一个动画控制器,俗称动画状态机。
    ②Animator 利用它做动画的切换是很方便的,但是它有一个缺点就是占用内存比Animation大。

     
    好吧!下面直接通过操作,深入理解它们的用法。
    (一) Animation模块
    1.新建一个Unity3d 项目,在场景中新增一个TestAnimation对象,并且在对象上附加Animation组件;
图1.jpg
    2.选中TestAnimation对象,按快捷键:ctrl+6 打开动画编辑器,新建test.anim 动画。
图2.jpg
    3.添加AnimationPlay.cs 播放类。
using UnityEngine;
using System.Collections;
  
public class AnimationPlay : MonoBehaviour {
  
    Animation _anim;
        // Use this for initialization
        void Start ()
    {
        _anim = GetComponent<Animation>();
  
        if (_anim != null)
            _anim.Play("Test");
        }
         
}


图3.jpg
    4.直接运行看效果哈!
图4_0.jpg

图4_1.png    
  

    (二) Animator 模块
   
     1.新建一个Unity3d 项目,在场景中新增一个TestAnimator对象,在Unity 编辑器中Window -> Animation 弹出Animation 编辑页面,新建一个动画保存,命名为Move.anim;同时我们发现因为使用方式是直接用动画控制器创建动画,它还会生成一个TestAnimation.controller文件,而这个文件就是我们所说的状态机控制器Controller。
图1.jpg

图1_1.jpg

    2.选中需要制作动画的对象TestAnimator,例如我需要改变对象的Position,然后在Add Property 上面添加。
图2_0.png

图2_1.png

    3.选中TestAnimation.controller这个文件,Window -> Animator 打开Aniamtor 编辑器。
图3.png

    4.需要增加一个largen.anim动画,可以让它们互相切换。
图4.png
  
    5.直接运行看效果。
图5_0.jpg

图5_1.jpg

欢迎加群:575561285 一起交流分享

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏1 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 06:01 , Processed in 0.110663 second(s), 34 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部