Unity 动画系统
Legacy动画系统:Animation组件(旧)
Mecanim动画系统:Animator组件(新)
动画播放过程:
//动画片段
[System.Serializable]
public class Anim
{
public AnimationClip idle;
public AnimationClip runForward;
public AnimationClip runBackward;
public AnimationClip runRight;
public AnimationClip runLeft;
} public class PlayerCtrl : MonoBehaviour
{
public Anim anim;
public Animation _animation; void Start()
{
tr = GetComponent<Transform>();
_animation = GetComponentInChildren<Animation>(); //_animation.clip = anim.idle;
//_animation.Play();
} void Update()
{
h = Input.GetAxis("Horizontal");
v = Input.GetAxis("Vertical"); Vector3 moveDir = (Vector3.forward * v) + (Vector3.right * h);
tr.Translate(moveDir.normalized * Time.deltaTime * moveSpeed, Space.Self);
tr.Rotate(Vector3.up * Time.deltaTime * rotSpeed * Input.GetAxis("Mouse X")); if (v >= 0.1F)
{
_animation.CrossFade(anim.runForward.name, 0.3F);
}
else if (v <= -0.1F)
{
_animation.CrossFade(anim.runBackward.name, 0.3F);
}
else if (h >= 0.1F)
{
_animation.CrossFade(anim.runRight.name, 0.3F);
}
else if (h <= -0.1F)
{
_animation.CrossFade(anim.runLeft.name, 0.3F);
}
else
{
_animation.CrossFade(anim.idle.name, 0.3F);
}
}
这个过程是很重要的,通过获取到的坐标的大小进行播放不同的动画,并且有着平稳的过度。
Unity 动画系统的更多相关文章
- Unity 动画系统 Animation 和 Animator的小实例
本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画De ...
- Unity 动画系统(Mecanim) 术语及翻译 表格
原文 翻译 Animation Clip 视频片段 Avatar 阿凡达 Retargeting 重定向 Rigging 绑定 skinning 蒙皮 Animator Component 动画组件 ...
- Unity 动画系统 Animation和Animator 常用小功能
- Unity 动画系统 Animation和Animator等常用类
- Unity 动画系统 AnimationEvent 动画事件
- Unity 动画系统 StateMachineBehaviour 动画状态机
- Unity 动画系统 Animation 和 Animator 联系与区别
- Unity 动画系统(Mecanim)的组成结构
三部分: Model Rigging(直译传动装置,术语翻译绑定)(连接Model与Animations) Animations
- Unity Animation System(动画系统)
动画系统: 支持:动画融合,混合,叠加动画,行走循环的时间同步,动画层,控制动画的各个方面(时间,速度,融合权重) 带有每顶点1.2或4骨骼的蒙皮网格,以及支持基于物理的布娃娃系统和程序动画. ...
随机推荐
- c/c++ 多线程 等待一次性事件 std::promise用法
多线程 等待一次性事件 std::promise用法 背景:不是很明白,不知道为了解决什么业务场景,感觉std::async可以优雅的搞定一切的一次等待性事件,为什么还有个std::promise. ...
- luajit官方性能优化指南和注解
luajit是目前最快的脚本语言之一,不过深入使用就很快会发现,要把这个语言用到像宣称那样高性能,并不是那么容易.实际使用的时候往往会发现,刚开始写的一些小test case性能非常好,经常毫秒级就算 ...
- python之sqlalchemy的使用
准备数据 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column from sqla ...
- canvas如何自适应屏幕大小
可以用JS监控屏幕大小,然后调整Canvas的大小.在代码中加入JS $(window).resize(resizeCanvas); function resizeCanvas() { ...
- Linux系统中常见的目录名称以及相应内容
目录名称 应放置文件的内容 /boot 开机所需文件——内核.开机菜单以及所需配置文件等等 /dev 以文件形式存放任何设备与接口 /etc 配置文件 /home 用户家目录 /bin 存放单用户模式 ...
- mybatis中大于等于小于的写法
第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & ' " ...
- 命令行获取zabbix最新的issues - jq 解释json
0.安装jq wget -O jq https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 chmod +x ./jq c ...
- PHP处理XML文档,没有CDATA部分数据处理
在博客备份时,导出了所有文章,导出是xml文档,文章内容在CDATA部分. 这里介绍下XML中CDATA: 所有 XML 文档中的文本均会被解析器解析.只有 CDATA 区段(CDATA sectio ...
- MyBatis 学习总结 01 快速入门
本文测试源码下载地址: http://onl5wa4sd.bkt.clouddn.com/MyBatis0918.rar 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级 ...
- odoo11 访问MSQL Server等第三发数据源
odoo框架默认的访问时Postgres数据库,但在实际的应用场景中,不可避免的使用到其他数据库,所以有必要研究如何连接其他第三方数据库,这里分享下OCA的相关模块,具体的源代码在这里. 我将第三方的 ...