unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆

本文主要是介绍unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

据说这个是4.6开始的,因为unity我中间很长时间没用过这个,现在重新再u3d5上认识下

首先认识下图标

上面单个的就是animation下面是animator

简单说就是animator是的animation的集合 创建animation的时候回自动创建animator,animator是管理器,通过它可以安排或者调用里面所有的animation

如果你没找到这两个窗口,那可以在window里面找


1.  建立动画animation

可以在Hierachy中选中需要建立动画的物体,然后打开animation窗口,随意点提示保存可以创建
这也会自动创建一个自动命名的animator文件(不同于4.6之前的,这里会多一个animator),为了管理最好改名字,不会影响其他的。

这里就不多说什么了,因为animation以前就有,主要提醒新手的就是animation窗口中有切换animation的按钮,比如一个animator包含了多个animation时会用到,如下图

2.  管理Animator中的animation

如果需要再追加多个animation(如下图),可以直接在project里面建立,然后拖动到物体上或者物体对应的Animator窗口,然后在Animation左上角选择你要跳转的(特别注意,不然调整的还是默认的)里面的Add Property是对同一个Animation添加参数,而不是添加新的Animation,当然会发现填不上同样的,切换后,选择Add Property可以添加同样的参数,然后红灯亮起,记录状态改参数就可以了。

(对于调节一开始并不可见的对象,没有setActive的可以先把钩打上,调节完了再去掉)


Animator 有两栏 一个是Layers 一个是Parameters,第二个里面可以设置trigger
就是点加号再点trigger,输入的名字就是等会要用到播放的名字,比如这里是playEnd
因为Animator如果不改动Parameters,默认是顺序播放的,如果有超过一个连线(就比如里面有至少两个Animation)那么第二根以后的线是带调节的,点击线,首先是has exit time,一般都是勾上的也就是会顺序播放,如果去掉勾就不自动播放了,是否播放就会取决于下面的Conditions,在这里可以填上刚刚名字playEnd,然后刚刚位置上的playEnd后面的控制器(就是那个圆的)就能控制是否播放这个节点了(必须运行时测试)


这样就可以构造循环,外部代码可以通过Animator.SetTrigger("name")来使用,

同样在animation时间轴上可以添加event,让脚本自动执行




2016.1.11更新

关于animation拖不到animator面板里面的motion里面

需要模型 rig里面 generic 才能将animation中分割好的clip放置在animator面板中,这样才有动画


多个trigger的问题,有时候切换的时候会产生重复,或者没反应的状况,这种因为settrigger有个问题就是如果你本身在这个animation,在次设置,那么将会一直触发这个trigger就像bool永远为true一样,这是一个bug

(trigger类似bool ,但是trigger使用结束后会自动设置为false,就相当于只触发一次,就像简化了bool而不用自己判断)

解决方案就是使用ResetTrigger,这个用来取消其他trigger被卡死的状况,这个设置了后能强制取消setrigger对应的动作(因为可以同时多个settrigger的情况)






这篇关于unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/439726

相关文章

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.