Unity3d之Animation(动画系统)
1,动画系统配置,2,代码控制动画
原文地址: http://blog.csdn.net/dingkun520wy/article/details/51247487
1,动画系统配置
创建游戏对象并添加Animation组件,然后将动画文件拖入组件。
进入动画文件的Debug属性面板
选中Legacy属性
选中游戏对象,打开Animation编辑窗口
添加动画变化属性
需改关键帧的属性值
配置完成后运行即可得到动画效果
2,代码控制动画
Play("ation 1" );,播放动画,传入参数为动画名字
Stop("ation 1") ,停止动画,传入参数为动画名字
CrossFade("ation 1", 0.5f); ,有过度的切换动画,传入参数(动画名字,过度时间)
实例代码
- using UnityEngine;
- using System.Collections;
- public class NewBehaviourScript : MonoBehaviour {
- Animation m_anim;
- private float scaleW = 1.0f; //宽度缩放比
- private float scaleH = 1.0f; //高度缩放比
- // Use this for initialization
- void Start () {
- //获取动画组件
- m_anim = GetComponent<Animation>();
- if (!m_anim.isPlaying)
- {
- //若没有动画播放,默认播放New Animation 1动画
- m_anim.CrossFade("ation 1", 0.2f);
- }
- }
- // Update is called once per frame
- void Update () {
- scaleW = (float)Screen.width / 800; //计算宽度缩放比
- scaleH = (float)Screen.height / 480; //计算高度缩放比
- }
- void OnGUI()
- {
- GUI.skin.button.fontSize = (int)(25 * scaleW); //调整按钮字体大小
- if (GUI.Button(new Rect(70 * scaleW, 50 * scaleH, 90 * scaleW, 40 * scaleH), "ation 1"))
- {
- m_anim.Play("ation 1" );
- }
- if (GUI.Button(new Rect(70 * scaleW, 110 * scaleH, 90 * scaleW, 40 * scaleH), "imation"))
- {
- m_anim.Play("imation");
- }
- if (GUI.Button(new Rect(70 * scaleW, 170 * scaleH, 220 * scaleW, 40 * scaleH), "有过度播放ation 1"))
- {
- m_anim.CrossFade("ation 1", 0.5f);
- }
- if (GUI.Button(new Rect(70 * scaleW, 230 * scaleH, 220 * scaleW, 40 * scaleH), "有过度播放imation"))
- {
- m_anim.CrossFade("imation", 0.5f);
- }
- }
- }
将代码添加到游戏对象,运行游戏。
Unity3d之Animation(动画系统)的更多相关文章
- Unity3D之Legacy动画系统学习笔记
Unity3D的Mecanim动画系统是非常强大的,而且作为Unity推荐的动画系统,其未来会完全代替老的一套动画系统,即Legacy动画系统.目前的情况是Mecanim与Legacy两套动画系统同时 ...
- Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统
Mecanim简介 Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能: 针对人形角色提供一套特殊的工作流. 动画重定向的能力,可以非常方便的把动画 ...
- [原]Unity3D深入浅出 - 新版动画系统(Mecanim)
Mecanim概述: Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了: 针对人形角色的简易的工作流和动画创建能力 Retargeting(运动重定向)功能,即把动画从一个角色模型应用 ...
- 使用Unity3D自带动画系统制作下雨效果
之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...
- 解决Unity3d 4.3 动画系统带来的烦恼
近期有非常多同学问我关于unity3d 4.3更新之后动画系统和曾经不一样了,并且之前用的非常熟练的创建动画和修修改画非常多操作都不好用了,那么在这里和大家分享一下三杀的个人经验,方便大家使用unit ...
- Unity3D之Mecanim动画系统学习笔记(二):模型导入
我们要在Unity3D中使用上模型和动画,需要经过下面几个阶段的制作,下面以一个人形的模型开发为准来介绍. 模型制作 模型建模(Modelling) 我们的美术在建模时一般会制作一个称为T-Pose( ...
- Unity3D之Mecanim动画系统学习笔记(九):Blend Tree(混合树)
认识Blend Tree 我们在Animator Controller中除了可以创建一个State外还可以创建一个Blend Tree,如下: 那么我们看下新创建的Blend Tree和State有什 ...
- Unity3D之Mecanim动画系统学习笔记(四):Animation State
动画的设置 我们先看看Animation Clip的一些设置: Loop time:动画是否循环播放. 下面出现了3个大致一样的选项: Root Transform Rotation:表示为播放动画的 ...
- Unity3D之Mecanim动画系统学习笔记(三):Animation View
动画组件之间的关系 我们先看一张图: 这里我们可以看到,我们在GameObject之上绑定的Animator组件是控制模型进行动画播放的. 而其属性Controller则对应一个Animator Co ...
随机推荐
- 【缓存】Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结
Sql server 7.0/2000下 SqlCacheDependency使用轮询的方式进行缓存失效检查, 虽然ms说对服务器压力不大, 但还是有一些的, 而且对于不常改动的混存内容无休止的轮询感 ...
- jQuery--each遍历使用方法
定义和用法 each() 方法规定为每个匹配元素规定运行的函数. 提示:返回 false 可用于及早停止循环. 语法 $(selector).each(function(index,element)) ...
- C# 中解决页面刷新后字体等变大问题
来源:http://blog.csdn.net/wcsjsdn/article/details/5109605 我们在.net开发中时常会遇到一个问题,那就是,当点击某个按钮后,调用js语句,当点击& ...
- Silverlight 独立存储(IsolatedStorageFile)
1.在Web中添加天气服务引用地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 2.在Web中添加Wcf服务接口I ...
- MongoDB 删除数据库
MongoDB 删除数据库 语法 MongoDB 删除数据库的语法格式如下: db.dropDatabase() 删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名. 实例 以下 ...
- canvas 绘圆加边框
HTML5中canvas元素,绘制圆形需要使用路径,开始时要取得图形上下文,首先使用路径来勾勒图形的轮廓,然后设置颜色,进行绘制. arc(cx,cy,radius,start_angle,end_a ...
- 【php学习之路】字符串操作
无论学习那种语言,字符串操作都是必备的基础.学php的时候总是会不知不觉的与C#比较,用起来总觉得怪怪的没有那么顺手,有些命名也差别很大,再加上很多函数命名是简写形式不百度下还真不知道什 ...
- android里面线程睡眠事件使用方法
SystemClock.sleep(时间); 不用Thread.sleep()的原因:要抛异常,占用资源
- 在usercontrol中如何使用验证控件CustomValidator 中的客户端验证
在用户控件中,为一个文本控件添加CustomValidator验证,然后设置CustomValidator 的ClientValidationFunction 属性为客户端的Validate(sour ...
- linux之i2c子系统架构---总线驱动
编写i2c设备驱动(从设备)一般有两种方式: 1.用户自己编写独立的从设备驱动,应用程序直接使用即可. 2.linux内核内部已经实现了一个通用的设备驱动,利用通用设备驱动编写一个应用程序(用户态驱动 ...