- 3
- 0
- 约4千字
- 约 6页
- 2016-02-25 发布于江苏
- 举报
unity3d游戏开发之角色的动画脚本的编写(二).doc
?在上一篇,我们介绍了有关Animation这个类中的部分方法,我后来想了想,这么介绍也不是个办法(其实有些方法我自己也没用过),该介绍点实际的东西了,毕竟我们是要做东西出来的。那好,我们就开始吧。 该文章出自? ?? ?? ?? ?首先我们要介绍的主题是:Animation Blending ,即动画融合。我们来看官方文档上的描述:?? ?? ?? ?? ?用我自己的理解就是:在现今的游戏中,动画融合是一个必不可少的特性用以让你的的角色能够产生平滑的动画。动画设计师首先为角色创建了一些个动画片段,例如一个行走循环,跑步循环,还有站立或射击的。在你运行游戏期间,你需要从站立的动画状态转换到行走的动画状态并且看上去要足够平滑,不能突然跳转。??? ?? ?? ?? ?此时我们就需要 有一种处理方式来完成我们所想要实现的效果。这就是“动画融合”的用处。在Unity中,一个角色可以有多种不同的动画片段,Unity可以将这些动画片段融合起来并以一种组件的形式(即Animation)进行管理,并根据具体情形来比如脚本来生成最终的动画。看来我们其实一直在运用“动画的融合”。[size=12.8000001907349px]? ?? ?? ???那么我们来看一个例子吧,我就选官方的CharacterAnimation里的goober为例,直接给出代码:
using UnityEngine;
using System.Collections;
public class SuperMarioAnimation : MonoBehaviour {
? ?? ???
? ?? ???public float landBounceTime = 0.6f;//该动画在0播放到60%时之后立即结束,应该是后来根据主角在空中滞留的时间而调整的。
? ?? ???
? ?? ???private AnimationState lastJump;//存储“jump”的动画状态
? ?? ???// Use this for initialization
? ?? ???void Start () {
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? animation.wrapMode = WrapMode.Loop;//首先设置所有的动画片段播放时的播放模式为循环播放模式,之后我们也可以修改单个动画片段播放时的循环模式,比如此函数最后一行。
? ?? ?? ?? ?? ? AnimationState jump = animation[jump];//暂存“jump”的动画状态,记住,是暂存。仅仅只是用于下面三行代码中的动画设置。
? ?? ?? ?? ?? ? jump.layer = 1 ;//设置动画状态jump的动画层值为1,相对于默认层级值要高,为的是有更多的优先级取得动画权重。
? ?? ?? ?? ?? ? jump.enabled = false;//暂停该动画的播放,这个我会在后面进行相应的讲解,因为它有其独特的应用情景。
? ?? ?? ?? ?? ? jump.wrapMode = WrapMode.Clamp;//设置动画状态jump的循环模式为Once(单次,上一篇已经证明了)循环。
? ?? ?? ?? ?? ?? ?? ?? ?
? ?? ???}
? ?? ???void Update () {
? ?? ?? ?? ?? ? SuperMarioController marioController = gameObject.GetComponent();
? ?? ?? ?? ?? ? //取得该角色的SuperMarioController脚本组件。? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? float currentSpeed = marioController.GetSpeed();
? ?? ?? ?? ?? ? //每帧获取该角色的速度并存储在临时变量currentSpeed里。
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? if(currentSpeed 0.1){//以速度判断该播放何种动画,淡入淡出效果的核心就在这里
? ?? ?? ?? ?? ?? ?? ?? ?animation.CrossFade(walk);
? ?? ?? ?? ?? ?? ?? ?? ?//如果当前正在播放某个动画片段,那么淡出它,淡入名为“Walk”的动画。
? ?? ?? ?? ?? ? }else{
? ?? ?? ?? ?? ?? ?? ?? ?animation.CrossFade(idle);
? ?? ?? ?? ?? ? }
? ?? ?? ??
您可能关注的文档
- TP04-关系映射.ppt
- TRH高负荷问题解决.doc
- T梁成-桥-图片.ppt
- U8 采购业务-制单.ppt
- U870-集团财务-ZYM.ppt
- u880导航与手机电视.doc
- Ubuntu系统 入门lab03.ppt
- unity3d游戏开发之脚本实现模型的平移与旋转.doc
- UNIX系统文件基础.doc
- US GAAP vs. PRC GAAP.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 2021届高考物理三轮冲刺重难点训练:磁场(解析版).pdf VIP
- IDC数据时代2025白皮书_数据时代2025资源The Digitization of the World From Edge to Core.pdf VIP
- 《民航服务心理学(第2版)》项目二(改).pptx
- 民航服务心理学(第2版)严光玉课后习题答案.pdf VIP
- 《民航服务心理学(第2版)》课程标准.docx VIP
- 高考物理压轴题.pdf VIP
- 【高考真题】2023年新高考物理真题试卷——湖南卷(含答案).pdf VIP
- 欧洲规范-NF P18-561-中文版.pdf VIP
- 调相机系统构成及原理培训教材(课件49张).ppt VIP
- 2024届浙江省杭州市高考一轮复习培优提升卷(一)语文试卷含答案.docx VIP
原创力文档

文档评论(0)