Unity (二) Animator:Events : 动画事件案例(呐喊出现字幕)

Events的运用案例1:

在呐喊动画中,加入字幕事件

1)在呐喊动画Shout里添加2个事件:

2)在画布里添加一个Text作为字幕

将Text设为不激活

3)给角色添加脚本:

把画布里的Text拖给脚本的text

在脚本里声明动画里的2个事件方法

注意:      * 事件必须是放置在该人物对象的脚本组件中

* 添加了帧事件,必须在代码里声明时间方法,否者报错,

* 函数必须是public权限的

* 参数只能增加一个,参数类型只能是Float,Int,String.Object之一,

Shout事件:出现字幕

ShoutStop事件:隐藏字幕

这样在呐喊动画开始的时候,执行出现字幕的事件,结束呐喊的时候,执行隐藏字幕的事件

时间: 2024-08-14 06:13:28

Unity (二) Animator:Events : 动画事件案例(呐喊出现字幕)的相关文章

Unity动画系统Animator动态添加事件

之前一直都是手动给模型动画添加事件,最近在做项目的时候,感觉很麻烦,而且经常要改,就变的更麻烦了.于是就在网上查了下,事件是可以在运行时自动添加的,在此记录一下,免得自己以后忘了. 现在有一个模型和动画控制器如下: 很简单,没有什么骚操作.并在模型上挂了一个 Test 脚本,我在 Test 脚本里,分别在动画的开始,结束,和播放一半的时候添加事件.运行打印如下: 截图没办法很好的表示动态效果,大家可以自己尝试一下,代码如下,逻辑很简单,就不多说了: 1 using UnityEngine; 2

Unity 动画系统 AnimationEvent 动画事件

AnimationEvent类 添加事件的方法: 1.创建一个动画事件 AnimationEvent evt = new AnimationEvent(); evt.functionName = "PrintEvent"; evt.intParameter = 12345; evt.time = 1.3f; 2.具体的事件函数,自己写的函数 public void PrintEvent(int i) { print("PrintEvent: " + i ); //自

Unity中获取Animator中动画片段的时长

开发环境:Unity5.6.2 private Animator animator; public void GetLengthByName(string name) { float length = 0; AnimationClip[] clips = animator.runtimeAnimatorController.animationClips; foreach(AnimationClip clip in clips) { if(clip.name.Equals(name) { leng

动画事件

当动画播放在某一帧,想要触发正在播放该动画物体上面的某一个方法,你就应该使用动画事件.  比如在攻击1播放过程中玩家点击A键就继续发出连招,播放攻击2动画.如何实现这种效果呢? public void NormalAttack(GameObject msg) { if (isAttackA) { animator.SetTrigger(Tags.PlayerAttackB); //播放攻击2动画 return; } animator.SetTrigger(Tags.PlayerAttackA);

iOS开发——动画编程OC篇&(二)核心动画

核心动画 一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue 如果fillMode=kCAFillModeForwards和removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态.但在实质上,图层的属性值还是动画

[Unity菜鸟] FBX模型动画提取

角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了,但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以提取出来了,然后你可以把整个fbx模型都删掉了,新生成的动画已经不再基于fbx了,这样可以大大减小资源大小. 如果是一个程序员的话你可能会想那这个实现代码是怎样的呢 using UnityEngine; using UnityEditor; using System.Collections; us

css3 animation动画事件

当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart  //动画開始 AnimationIteration  //动画每运行结束一次,这样的情况适用与animation-iteration-count大于1时. 对于transaction也有一个事件来捕获结束: transactionend $('.toggle-detail').on('transitionend',f

C# 序列化(二)二进制序列化的案例

这篇是针对上一篇讲序列化的文章的一个实际案例,WinForm程序的主界面如下: 思路:在点击保存按钮时,将标题和内容保存到集合中,自然想到应该是Dictionary<K,V>,而且用这个集合可以避免产生2个相同标题的日记.对添加到集合中的数据,采用二进制序列化到文件中,在程序执行目录中专门建一个“Notes”的文件夹存放日记文件,日记文件的文件名以标题命名.程序加载的时候,如果“Notes”文件夹下有文件,就在右侧列表中加载文件,点击时反序列化后显示在左侧.下面是具体代码: 在Form1类下定

CSS3动画事件

CSS3 的动画效果强大,在移动端使用广泛,动画执行开始和结束都可以使用JS来监听其事件. animationstart animationend 以下是一个示例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-sca