Unity (一) Animator:Curves : 曲线运用的两个案例

案例1:

在角色死亡动画中,角色倒地,然而碰撞体并没有进行调整,如果对此角色位置进行射击,还会有碰撞检测,为了避免这种问题,可以运用曲线Curves将角色的碰撞体进行调整

 

Curves:曲线

在动画的Animations下面

如图:角色死亡动画播放后(播放过程中),碰撞体不变

运用曲线Curves将角色的碰撞体随着死亡动画进行调整:

1、设置好角色的碰撞体,以及计算好倒地后碰撞体需要调整后的值

角色原始碰撞体,高Heright为:2, 中心点Center的高为 1

死亡后变成:Heright=0.5,Center的高为0.25

注:为什么不能只改变碰撞体的高,还要改变中心点的高?:

因为中心点不下降的话,碰撞体会在原来1位置,进行上下回缩:

不改变中心点的话死亡动画播放时将如图:

2、在死亡动画的Curves里定义2个float变量,绘制曲线,

曲线Hight:将身高从2变成0.5,

曲线Center:将中心点从1变成0.25

在Parameters里定义2个跟曲线名字一致的float变量

Hight,

Center

3、给角色添加脚本:

这样播放死亡动画时,碰撞体就可以随着死亡动作降低了

案例2:角色呐喊动画,运用曲线喊出高低不同的声音

1、绘制曲线从1渐变到0

2、定义参数

 

3、给角色添加AudioSource组件和音乐片段

4、添加脚本:

从动画中将曲线的值拿到 赋给AudioSource.volume

这样AudioSource的音量会随着呐喊动画的曲线呈现1到0的Volume值,

时间: 2024-09-30 06:45:30

Unity (一) Animator:Curves : 曲线运用的两个案例的相关文章

在Unity中使用贝塞尔曲线(转)

鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是起点,一个是终点.在这条曲线之上还会有两个可以任意移动的点来控制贝塞尔曲线的角度.如下图所示,点1 和点4 就是起点和终点,点2 和点3 就是控制曲线角度的两个动态点. 如下图所示.使用拖动条来让曲线发生旋转,大家会看的更加清晰.目前我们看到的被塞尔曲线是在平面中完成的,其实贝塞尔曲线是完全 支持3

NGUI研究院之在Unity中使用贝塞尔曲线(六)[转]

鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是起点,一个是终点.在这条曲线之上还会有两个可以任意移动的点来控制贝塞尔曲线的角度.如下图所示,点1 和点4 就是起点和终点,点2 和点3 就是控制曲线角度的两个动态点. 如下图所示.使用拖动条来让曲线发生旋转,大家会看的更加清晰.目前我们看到的被塞尔曲线是在平面中完成的,其实贝塞尔曲线是完全支持3D

NGUI研究之在Unity中使用贝塞尔曲线

鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是起点,一个是终点.在这条曲线之上还会有两个可以任意移动的点来控制贝塞尔曲线的角度.如下图所示,点1 和点4 就是起点和终点,点2 和点3 就是控制曲线角度的两个动态点.上一章分享了开发项目的一些使用心得比较细节对新手很有用可以看下. 如下图所示.使用拖动条来让曲线发生旋转,大家会看的更加清晰.目前我们看到

Servlet学习的两个案例之网站访问次数的统计

一.统计次数的Servlet源码 package com.shanrengo; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.

unity 对Animator动画系统的研究

unity的新动画系统叫Mecanim,使用Animator来取代旧系统Animation,按Unity文档的惯例:知识点主要分2部分:unity manual和unity script,读者可以边看文章边查阅文档,最好能动手测试. 文章的开始之前,先讲几个基本的知识的: 1.创建动画的一个基本步骤是设置一个unity3d可理解的简化后的骨骼到骨架中实际骨骼的映射:在Mecanim的术语中,这个映射称为Avatar,即avatar是骨骼到骨架的映射. (图片来自网) Avatar主要用于类人骨骼

Unity中三次样条插值曲线的实现

最近需要用到插值,但是总觉得线性插值得出来的太过硬了,所以想看一下三次样条曲线怎么做.关于算法和程序实现的文章已经有很多了.这一篇文章写下来主要的目的是为了 帮助自己理解,固化 已有的代码不是在unity平台上实现的,所以代码相对繁杂,这里进一步做简化 我的理解,分段三次样条曲线求解就是: 已知:n个点,n-1个三次方程(a+bx+cx^2+dx^3),而这些三次方程2一阶和二阶导数连续,这些三次方程当然在已知点上也是连续的 一阶二阶导数连续,就是在中间的连接点上(去掉头尾总共n-2个),前后两

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

Events的运用案例1: 在呐喊动画中,加入字幕事件 1)在呐喊动画Shout里添加2个事件: 2)在画布里添加一个Text作为字幕 将Text设为不激活 3)给角色添加脚本: 把画布里的Text拖给脚本的text 在脚本里声明动画里的2个事件方法 注意:      * 事件必须是放置在该人物对象的脚本组件中 * 添加了帧事件,必须在代码里声明时间方法,否者报错, * 函数必须是public权限的 * 参数只能增加一个,参数类型只能是Float,Int,String.Object之一, Sho

Android从圆点导航的两个案例(ViewPager)

案例一效果: 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_view_pager" android:layout_width="match_parent" and

关于mybatis中typeHandler的两个案例

在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个User类,User类中有一个属性叫做interest,这个属性用来描述用户的爱好,它的数据类型是一个List集合,那么我想在把这个List集合存入数据库的时候能够自动的变成{XXX,XXX,XXX}这样一个字符串然后存起来,当我从数据库读取的时候也是读取到这样一个字符串,读取成功之后再自动的将之转为一个List集合,OK,以上两种需求