Animation

news2024/11/30 8:53:46

1、Animation窗口

Window——>Animation——>Animation

Animation窗口 直译就是动画窗口,它主要用于在Unity内部创建和修改动画,所有在场景中的对象都可以通过Animation窗口为其制作动画

原理:
制作动画时:记录在固定时间点对象挂载的脚本的变量变化
播放动画时:将制作动画时记录的数据在固定时间点进行改变,产生动画效果

2、相关概念

  • 动画时间轴:

每一个动画文件都有自己的一个生命周期,从动画开始到结束,我们可以在动画时间轴上编辑每一个动画生命周期中变化

  • 动画中的帧:

假设某个动画的帧率为60帧每秒,意味着该动画1秒钟最多会有60次改变机会,每一帧的间隔时间是 1s / 60 ≈ 16.67毫秒,也就是说 我们最快可以每16.67毫秒改变一次对象状态

  • 关键帧:

动画在时间轴上的某一个时间节点上处于的状态

3、Animation窗口功能

4、创建动画 

  • 在场景中选中想要创建动画的对象
  • 在Animation窗口中点击创建
  • 选择动画文件将要保存到的位置

保存动画文件时,Unity会帮助我们完成以下操作

  • 创建一个 Animator Controller(动画控制器或称之为动画状态机) 资源(新动画系统)
  • 将新创建的动画文件添加到Animator Controller中
  • 为动画对象添加Animator组件
  • 为Animator组件关联创建的Animator Controller文件

5、相关操作(包括参数、关键帧模式下编辑动画、曲线模式编辑动画)

6、Animation和Animator(这里本文主要讲Animation)

Unity中有两套动画系统
新:Mecanim动画系统——主要用Animator组件控制动画
老:Animation动画系统——主要用Animation组件控制动画(Unity4之前的版本可能会用到)

目前我们为对象在Animation窗口创建的动画都会被Animator动画系统支配
有特殊需求或者针对一些简易动画,才会使用Animation动画系统

注意:
在创建动画之前为对象添加Animation组件之后再制作动画,这时制作出的动画和之前的动画格式是有区别的

 

7、代码控制播放

//1.播放动画
if(Input.GetKeyDown(KeyCode.Alpha1))
{
    animation.Play("1");
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
    animation.Play("2");
}
//2.淡入播放,自动产生过渡效果
if(Input.GetKeyDown(KeyCode.Alpha3))
{
    //当你要播放的动画的开始状态 和当前的状态 不一样时 
    //就会产生过渡效果
    animation.CrossFade("3");
    //animation.Play("3");
}

//3.前一个播完再播放下一个
if( Input.GetKeyDown(KeyCode.Alpha4) )
{
    //animation.PlayQueued("2");
    animation.CrossFadeQueued("2");
}

//4.停止播放所有动画
//animation.Stop();

//5.是否在播放某个动画
if( animation.IsPlaying("1") )
{

}

//6.播放模式设置
animation.wrapMode = WrapMode.Loop;

//7.其它(了解即可,新动画系统中会详细讲解)
//层级和权重以及混合(老动画系统需要通过代码来达到动画的遮罩、融合等效果)
//设置层级
animation["1"].layer = 1;
//设置权重,不同层级的动画播放时,weight=1的动画会覆盖层级低的动画
animation["1"].weight = 1;
//混合模式 叠加还是混合
animation["1"].blendMode = AnimationBlendMode.Additive;
//设置混组相关骨骼信息
animation[""].AddMixingTransform();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux]-----进程信号

文章目录前言一、什么是信号我们是如何得知这些信号呢?我们知道对应的信号产生时,要做什么呢?二、进程信号前台进程和后台进程注意三、信号列表信号的捕捉四、信号产生前用户层产生信号的方式signal函数killraiseabort由软件条件产生信号硬件…

【Java】才疏学浅·小石Java问道之路

大家好,这里是喜爱编程,又热爱生活的小石~———— ————个人情报昵称:小石(起源于姓氏啦~)破壳日:4月12日身高:1 m ↑技术基础:c node.js mysql 爱好:上网冲浪 听…

【学习笔记45】JavaScript的分页效果

highlight: an-old-hope 一、分页效果 (一) 首次打开页面 从数组内截取部分数据展示调整页码信息为:当前页 / 总页码处理按钮 3.1 如果当前在第一页,禁用上一页按钮(添加类名disable)3.2 如果当前页在最后一页(当前页 总页码),禁用下一页按钮(添加类名…

SpringCloud微服务实践之六 Feign最佳实践(抽取)

传统Feign面临的问题: 1、每个子项目都要写所要调用服务的pojo 2、每个子项目都要写所要调用服务的feign client客户端 优化思路:由提供服务服务的子项目统一归集代码,统一对外提供接口服务、Feign子项目统一管理服务远程调用、 将FeignClien…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-用逻辑回归制作评分卡-分箱

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 分训练集和测试集 from sklearn.model_selection import train_test_split X pd.DataFrame(X) y pd.DataFrame(y)Xtrain,Xtest,Ytrain,Ytest …

DSP-FIR滤波器设计

目录 Gibbs现象:用三角函数逼近间断点: Gibbs现象特点: 常见窗函数: 窗函数的主要频谱参数: 矩形窗(Rectangular): 汉宁窗(Hanning): 汉明窗(Hamming): 布莱克曼窗(Blackman): 窗函数之间的性能对比&#xff…

Script file ‘F:.....\pip-script.py‘ is not present 原因及解决办法

一 报错类型 二 原因 可能我们使用pip install --upgrade pip或者conda安装一下包时因为网络原因导致只是卸载旧版本而未安装。 三 解决策略 3.1 Anaconda 切换到你的anaconda安装目录并进入Scripts文件夹内(D:\Apps\anaconda3\Scripts) 运行以下代码: conda i…

【Kafka】Kafka基础架构及相关概念

文章目录前言一、Kafka基础知识二、Kafka分区副本参考前言 在以前的定义中,Kafka被定义为一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域,类似的产品主要有ActiveMQ、RabbitM…

flutter useRootNavigator属性的作用

useRootNavigator 用于确定是否将对话框推到距给定上下文最远或最接近给定上下文的Navigator 问题: 在使用showDatePicker的时候,android手机如果侧滑返回的时候,页面会关闭,showDatePicker弹出的dailog缺没有关闭。 使用如下…

【学习笔记42】操作DOM

操作DOM一、操作DOM1、步骤2、创建元素节点3、创建文本节点4、增加dom(添加到指定父节点的最后)5、增加dom(添加到指定父节点的最后)6、增加dom(添加到父节点的最前边)7、删除DOM8、修改某一个节点二、克隆DOM1、说明2、复制(克隆)一个LI三、获取元素尺寸(占地面积)四、获取浏览…

WordPress怎么禁止用户使用HTML标签,自动过滤HTML代码?

WordPress怎么禁止用户使用HTML标签,自动过滤HTML代码?出于安全考虑WordPress默认禁止角色为作者的用户写文章时直接添加HTML代码,包括读者留言时也是不允许的。如果想开放此限制,允许作者撰写文章和读者留言时添加HTML代码&#…

Java项目——博客系统(前后端交互)

项目展示 项目说明 使用servlet,实现前后端交互,通过jdbc和mysql数据库进行数据传输,使得可以将用户信息和博客列表存储在数据库中,实现真正的服务器,客户端,数据库三者的交互 项目代码 数据库 在sql数…

进阶的风控策略篇:如果筛选最佳策略帮我们锁定优质客群

在番茄风控往期的内容中,我们一直在跟大家介绍风控策略干货内容,相关内容包括: ①风控的拒绝捞回策略 ②多规则的策略筛选 ③策略的调优 ④策略的开发与应用 … 策略相关的内容可谓干货满满,比如关于策略开发与应用的内容上&#…

SpringBoot SpringBoot 原理篇 1 自动配置 1.15 自动配置原理【1】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.15 自动配置原理【1】1.15.1 看源码了1.15.2 Import({AutoConfig…

初识图学习

初识图学习 一、简单图的基础 什么是图 七桥问题的定义是:一个步行者怎样才能不重复,不遗漏的一次走完七座桥。最后回到出发点。 当年,大数学家在解答七桥问题的同时,也开创了数学的一个新分支图论。 可以毫不夸张的说&#xff…

半小时制作简单版澳大利亚导游地图,太简单了,你也可以

目录 1 前言 2 QQ扫码注册一个账号 3 编辑景区 3.1 新建一个景区 3.2 增加景点 4 预览 5 申请管理员审核 6 看一下发布后的效果 1 前言 不少景区为了提升游客旅游体验,需要制作自己的导游地图,游客扫一下二维码就可以看到景区全貌和景点介绍。制作这…

销售词汇Sell In、Sell Through、Sell Out辨析

原文出处:https://zhuanlan.zhihu.com/p/89563704 销售的过程其实是一个货物和资金双向流动的过程,货物从厂家流向消费者,资金从消费者流向厂家。 但是大多数情况下,厂家是没办法直接把货物卖给消费者的,或者说厂家是没…

虚拟机安装openEuler/MobaXterm工具登录系统

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

一个用C#开发的操作系统的开源项目

自从C#的AOT编译机制发布以来,有趣的项目越来越多,今天给大家推荐一个开源项目,用C#开发的64位操作系统。 文章目录项目简介项目源码开发环境虚拟机与裸机硬件支持功能列表完善的编译、安装文档操作系统界面项目地址项目简介 这是一个使用.N…

SpringBoot SpringBoot 原理篇 2 自定义starter 2.2 IP计数业务功能开发【自定义starter】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇2 自定义starter2.2 IP计数业务功能开发【自定义starter】2.2.1 大概看看别人…