Unity入门操作_动画系统_Legacy_031

来源:互联网 发布:围巾品牌 知乎 编辑:程序博客网 时间:2024/05/18 17:02

Unity提供了Animation编辑器,它可以为我们编辑物理动画。举个例子比如场景中有一个来回摇动的秋千,这个秋千在项目中完全只起到衬托作用,它不会与别的游戏对象有任何交互。如果这个秋千也用代码来写控制它来回摇动,会感觉小题大做。此时完全可以使用Animation编辑器来完成。

Legacy动画:
首先我们要在Assets面板创建一个动画
这里写图片描述
创建完成后(生成一个Animation)
这里写图片描述
单击打开
FPS(表示一秒多少帧)
Loop Time(是否重复(一般不用重复))
这里写图片描述
这里可以预览动画。
这里写图片描述

此时我们就可以添加游戏对象了,创建完成后,将生成的Animation动画拖入到对象里,然后进入动画编辑框(此时生成一个Animation动画和对象动画)。
这里写图片描述
因为系统默认隐藏了一些功能所以我们要修改动画的默认方式:
这里写图片描述
修改后的Animation动画,此时需要注意因为我们是用的是Legacy动画左移我们要勾选此项。
这里写图片描述
Wrap Mode(播放模式)
此时需要注意在游戏对象上已经多了一个组件,这是生成动画是系统默认生成的组件。
这里写图片描述
然而我们不需要这个组件,所以我们可以删除它,我们需要添加一个Animation组件。
这里写图片描述
Animation(默认动画)
Size动画列表
AnimationType:
Wrap Mode(播放模式)
None : 不使用动画
Legacy:旧版动画
Generic:Mecanim动画系统,适用于四肢行走的3D模型或者未使用动作复制功能的公话制作
Humanoid:Mecanim动画系统,适用于像人一样的直立行走模型
alt+6 进入动画编辑框,我们就可对对象做动画处理了,在下图中我们可以添加要变化的组件信息,
这里写图片描述
在右下角有个Curves按钮
这里写图片描述
点击进入如下图,图上的三条线代表了游戏对象的世界位置(x,y,z)信息的变化趋势,在这里可以修改游戏对象在游戏里的变化。
这里写图片描述

有些复杂的动画我们需要提前做好,这是我们可能需要对其进行切割:
首先我们导入资源
这里写图片描述
单击进入下图的面板,我们就可以进行动画的切割了,在Clips中进行切割和命名
这里写图片描述
切割完之后我们在动画上
这里写图片描述
添加Animation组件,并进行编辑
这里写图片描述
此时我们就可以添加脚本了
animation.CrossFade(动画切换)
using UnityEngine;
using System.Collections;
public class Jiansheng : MonoBehaviour {

public Animation m_animation;// Use this for initializationvoid Start () {    m_animation = GetComponent<Animation>();    m_animation.Play();}// Update is called once per framevoid Update () {    if (Input.GetKey(KeyCode.W))    {        m_animation.CrossFade("Run");    }    if (Input.GetKeyUp(KeyCode.W))    {        m_animation.CrossFade("Wait");    }    if (Input.GetKeyDown(KeyCode.Alpha1)&&m_animation.IsPlaying("Attack01")==false)    {    //队列        m_animation.PlayQueued("Attack01", QueueMode.PlayNow, PlayMode.StopAll);    }    if (Input.GetKeyUp(KeyCode.Alpha1))    {        m_animation.PlayQueued("Wait", QueueMode.CompleteOthers, PlayMode.StopSameLayer);    }}

}

原创粉丝点击