Spine学习五- spine动画融合
在许多地方,都需要用到动画融合,unity的新版动画系统已经能够很方便的进行动画融合,那么使用spine的动画状态机的情况下,如何来进行动画融合呢?
官方有两种方案,一种是使用混合动作实现,另一种是使用spine的动画状态机实现,这里讲解一下状态机的实现:
public class cartoonCombine : MonoBehaviour {
SkeletonAnimation skeletonAnimation;
AnimationStateData stateData;
Spine.AnimationState state;
public float mixTime = 0.5f;
public float mixTime2 = 0.5f;
void Start () {
skeletonAnimation = GetComponent<SkeletonAnimation>();
state = skeletonAnimation.AnimationState;
//获取状态机动画数据
stateData = skeletonAnimation.SkeletonDataAsset.GetAnimationStateData();
//设置动画混合,第一个参数是 当前动画,第二参数是下一个动画,第三个参数是从当前动画过度到下一个动画所需时间
stateData.SetMix("walk", "run", mixTime);
stateData.SetMix("run", "walk", mixTime2);
skeletonAnimation.AnimationState.SetAnimation(, "walk", true);
}
void Update () {
if (Input.GetKeyDown(KeyCode.A))
{
skeletonAnimation.AnimationState.SetAnimation(, "run", true);
}
if (Input.GetKeyDown(KeyCode.D))
{
skeletonAnimation.AnimationState.SetAnimation(, "walk", true);
}
}
将该脚本挂到一个挂有 SkeletonAnimation 组件的物体上,需要确保 SkeletonAnimation的Spine资源里面有"walk" 和"run"这两个动画,否则会出错,然后在运行状态下查看动画融合的效果。
Spine学习五- spine动画融合的更多相关文章
- SVG 学习<五> SVG动画
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- Spine学习七 - spine动画资源+ Unity Mecanim动画系统
前面已经讲过 Spine自己动画状态机的动画融合,但是万一有哥们就是想要使用Unity的动画系统,那有没有办法呢?答案是肯定的,接下来,就说说如何实现: 1. 在project面板找打你导入的Spin ...
- spine动画融合与动画叠加
spine动画融合与动画叠加 一.动画融合setMix 1.概述:两个动作之间的平滑过渡 参数duration为需要多少时间从fromAnimation过渡到toAnimation,过渡时间为动画重叠 ...
- Spine应用--使用Spine动画制作动作游戏
在前面的文章中,已经陆陆续续的讲解了一些使用Spine动画的细节,有了这些细节,我们已经满足了在unity中使用Spine动画制作动作游戏的技术基础. 那么,要使用Spine动画在unity中制作一款 ...
- Spine(2D骨骼动画)
点击进入Spine官网 Spine 是一款针对游戏的 2D 骨骼动画编辑工具. Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画. 功能: 1.摄影表 Dopesheet 在动画制作 ...
- Unity---动画系统学习(6)---Avatar Mask动画融合、Layers动画分层、IK反向动力学
1. 介绍 Avatar Mask(动画融合) 前面我们一直介绍的都是动画混合,一般用于解决边跑边转弯的问题.而动画融合一般用于解决例如边跑边挥手的问题. 简单说就是让跑步去控制腿的骨骼,挥手控制手的 ...
- TweenMax动画库学习(五)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- cesium 学习(五) 加载场景模型
cesium 学习(五) 加载场景模型 一.前言 现在开始实际的看看效果,目前我所接触到基本上都是使用Cesium加载模型这个内容,以及在模型上进行操作.So,现在进行一些加载模型的学习,数据的话可以 ...
- 推荐系统遇上深度学习(十)--GBDT+LR融合方案实战
推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模 ...
随机推荐
- Asp.Net Core 3.0的依赖注入改变
Asp.Net Core 3.0出来很久了,预览版的时候就被我偶像Lemon大人,带着尝试摸索了一下这个 那么Asp.Net Core 3.0和Asp.Net Core 2.X到底有哪些区别呢? As ...
- 03-Thread类中的常用方法
Thread类中的常用的方法: * 1. start():启动当前线程:调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 ...
- MyFirstJavaWeb
源代码: Register.jsp <%@ page language="java" contentType="text/html; charset=utf-8&q ...
- e分钟带你利用Python制作词云图
随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法 ...
- 异步文件通道Java NIO你需要了解多少,来看看这篇文章
在Java 7,AsynchronousFileChannel 被添加到了Java NIO中.使用AsynchronousFileChannel可以实现异步地读取和写入文件数据. 创建一个Asynch ...
- 深入探究JVM之方法调用及Lambda表达式实现原理
@ 目录 前言 正文 解析 分派 静态分派 动态分派 单分派和多分派 动态分派的实现 Lambda表达式的实现原理 MethodHandle 总结 前言 在最开始讲解JVM内存结构的时候有简单分析过方 ...
- git使用-分支管理
1.查看分支 git branch 2.创建分支 git branch name 3.切换分支 git checkout name 4.合并分支上的内容到master分支 切换到master分支上 g ...
- python流程控制-if
在python中流程控制可以分为三种,分别是顺序结构.分支结构和循环结构.分支结构:if..else循环结构:while循环.for循环 一:分支结构 1:单项分支 语法: 含义:判断条件,条件结果为 ...
- Webpack 定义process.env的时机
定义 process.env的时机 如果已经提取了公共配置文件 webpack.common.js 分别定义了开发配置webpack.dev.js和生产配置webpack.prod.js 在webpa ...
- 基于.NetCore3.1系列 —— 日志记录之自定义日志组件
一.前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器( ...