Unity3d之Mecanim(新版动画系统)

Wesley13
• 阅读 454

1,动画系统配置,2,代码控制动画

原文地址:http://blog.csdn.net/dingkun520wy/article/details/51247491

1,动画系统配置

创建Animator

创建游戏对象并添加Animator组件,然后将动画文件拖入组件。

Unity3d之Mecanim(新版动画系统)

打开Animator编辑窗口,将事先创建好的动画单元拖入窗口。

(动画单元创建详情:http://blog.csdn.net/dingkun520wy/article/details/51247487

注意:在使用Mecanim动画系统时,动画单元(Animation)不需要进入Debug属性面板勾选Legacy属性

Unity3d之Mecanim(新版动画系统)

选中动画单元,将对应的动画拖入动画单元属性面板中的Motion中

Unity3d之Mecanim(新版动画系统)

右键单击动画单元

Unity3d之Mecanim(新版动画系统)

拉出白线后点击要变化的目标动画,创建动画过度。

Unity3d之Mecanim(新版动画系统)

同样的操作再做一条“imation”到“ation1”的过度动画。

然后创建条件参数

Unity3d之Mecanim(新版动画系统)

同样创建两个条件参数

创建完参数后点击过度动画白箭头,然后进行参数配置

Unity3d之Mecanim(新版动画系统)

将两个过度动画分别配置一个参数。

此时运行,将看到游戏对象执行ation1动画。

2,代码控制动画

实例代码

[csharp] view plain copy Unity3d之Mecanim(新版动画系统) Unity3d之Mecanim(新版动画系统)

  1. using UnityEngine;

  2. using System.Collections;

  3. public class NewBehaviourScript : MonoBehaviour {

  4. Animator m_anim;

  5. private float scaleW = 1.0f; //宽度缩放比

  6. private float scaleH = 1.0f; //高度缩放比

  7. // Use this for initialization

  8. void Start () {

  9. //获取动画组件

  10. m_anim = GetComponent();

  11. }

  12. // Update is called once per frame

  13. void Update () {

  14. scaleW = (float)Screen.width / 800; //计算宽度缩放比

  15. scaleH = (float)Screen.height / 480; //计算高度缩放比

  16. }

  17. void OnGUI()

  18. {

  19. GUI.skin.button.fontSize = (int)(25 * scaleW); //调整按钮字体大小

  20. if (GUI.Button(new Rect(70 * scaleW, 50 * scaleH, 90 * scaleW, 40 * scaleH), "ation 1"))

  21. {

  22. m_anim.ResetTrigger("New Trigger");

  23. m_anim.SetTrigger("New Trigger 0");

  24. }

  25. if (GUI.Button(new Rect(70 * scaleW, 110 * scaleH, 90 * scaleW, 40 * scaleH), "imation"))

  26. {

  27. m_anim.ResetTrigger("New Trigger 0");

  28. m_anim.SetTrigger("New Trigger");

  29. }

  30. }

  31. }

将代码添加到游戏对象,运行游戏。

Unity3d之Mecanim(新版动画系统)

工程源码:http://download.csdn.net/detail/dingkun520wy/9507387

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Unity3d之Animation(动画系统)
1,动画系统配置,2,代码控制动画原文地址: http://blog.csdn.net/dingkun520wy/article/details/51247487(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fdingkun520w
Wesley13 Wesley13
2年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Wesley13 Wesley13
2年前
unity2d之2d帧动画创建
在2d游戏中帧动画的应用是非常广泛的,那么如何在unity中创建一个帧动画,主要是下面几个步骤。原文地址 :http://blog.csdn.net/dingkun520wy/article/details/50936133(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Dubbo爆出严重漏洞!可导致网站被控制、数据泄露!附解决方案
http://dy.163.com/v2/article/detail/F5FPIFRU0511Q1AF.html  !(http://dingyue.ws.126.net/2020/0216/125ec4c4p00q5rcrs0019d200ig009qg00ig009q.png)  来源:华为云  原文地址:https://w
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这