unity 什么时候用到unity 二维unity 动画混合合树

Unity3D游戏开发之Unity3D动画与Mecanim动画系统
Unity3D动画与Mecanim动画系统Mecanim是Unity新增的动画系统,其功能强大而灵活,让人类和非人类角色栩栩如生。Mecanim的重定向极大的提供了工作效率,而且占用
轻松地构建和编辑复杂的状态机和混合树。Unity编辑器提供强大的工具,用于分割、创建循环和从导入的动画文件中提取轨迹。然后可以把这些动画短片用作一个多层混合树的叶子,或者作为分层状态机中的一种状态。混合树让您只使用几个动画剪辑就能创建各种各样的运动。在混合树编辑器中,您可以定义混合参数并在3D视图中预览混合动画。
简单地说,由父骨骼的方位和子骨骼的相对变换得到子骨骼的方位,称为正向动力学(Forward&Kinematics,FK);而反向动力学(Inverse&kinematics,IK)则是先确定子骨骼的方位,,反向推导出其继承链上n级父骨骼方位&从而确定整条骨骼链的方法。
MecAnim&角色动画系统中,我们需要通过以下步骤实现Unity中的角色动画:
1.导入角色动画
2.创建角色动画Avatar
3.添加角色动画控制器、设置状态机、设置混合树。
4.实现编码等控制角色动画
你最喜欢的unity3D游戏开发之动画混合与动画重定向_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
unity3D游戏开发之动画混合与动画重定向
上传于|0|0|文档简介
&&unity3D游戏开发之动画混合与动画重定向
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院之在项目中使用Unity4新Mecanim动画(五十三)
Unity3D研究院之在项目中使用Unity4新Mecanim动画(五十三)
围观87052次
编辑日期: 字体:
Unity4的Mecanim动画很早以前就有体验过,迟迟没有加到项目中有两个原因,今天写这篇博客来记录我在做的过程中遇到的一些问题。
1.以前的代码代码量比较多,修改起来动的地方太多了。
2.使用Mecanim动画,还得需要美术的动画做配合才行。
在3.x中播放动画的时候使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画。
animation.Play("name"); animation.CrossFade("name");
也可以使用队列播放,让动画形成一个队列。
animation.PlayQueued("name"); animation.CrossFade("name1");
我举一个我现在项目的例子。主角攻击敌人是一套连招,连招一共分为4套动画。也就是当玩家连续按下4次攻击键时这四套动画是连续播放的,假如玩家只连续按下2次攻击,可能只会播放前两套动画。代码中你需要判断其中某个动画是否播放完毕,只有播放完毕才能继续播放下一个动画。
if(animation.isPlaying)
if(animation.IsPlaying("attack1"))
大家在仔细想想这个命题,我们可以把动画分成4中可能的队列,也只可能分为这几种队列。
站立动画- 》攻击动画0 -》站立动画
站立动画- 》攻击动画0 -》攻击动画1 -》站立动画
站立动画- 》攻击动画0 -》攻击动画1 -》攻击动画2-》站立动画
站立动画- 》攻击动画0 -》攻击动画1 -》攻击动画2-》攻击动画3-》站立动画
此时如果用unity3以前的动画方式,无非就是上面这几种方法加上一些逻辑判断完成。现在Unity4加入了Mecanim动画,可以很好的帮我们解决这个问题。详细的动画使用教程我就不多说了,网上已经有很多人写过了。
如下图所示,以前我们在使用模型的时候。一个原始模型,原始模型中没有动画。然后是动画模型,每一个动画都会依赖原始模型。动画的名称末尾用 名称 + @name来表示。 这样的做法使用起来非常方便,但是由于每一个动画都会依赖原始模型所以文件会非常大。
Unity4已经将默认模型与动态导入的类型做了修改,你会发现你的模型拖拽入Hierarchy视图中没有Animation组件而是Animator组件。如果你还是想在Unity4中使用以前的动画系统。你需要把每个模型和动画的类型改成 Rig-& Animation Type -& Legacy,如下图所示。
手动的改起来会非常的累。建议你将下面这条脚本放在项目Editor文件夹下(没有创建一个)。这样当你将模型或动画拖入Project视图中,程序会自动帮你修改它的类型,显然Unity已经不建议大家继续使用以前的动画系统了。
12345678910
using UnityEditor;&public class MyEditor : AssetPostprocessor{&&&&public void OnPreprocessModel()&&&&{&&&&&&&&ModelImporter modelImporter = (ModelImporter) assetImporter;&&&&&&&&
modelImporter.animationType = ModelImporterAnimationType.Legacy;&&&&}&& }
下面开始说说新的动画。在Animations选项卡中先勾掉Import Animation 点击Apply。如下图所示,在Rig选项卡中修改Animation Type的类型为Humanoid。 如果你希望现在选择的这个模型做为标准模型的话,在Avatar Definition中选择Create From This Model。点击下方的Configure可以预览你的骨骼。
让美术修改一下以前的动画,将动画中的原始模型去掉,这样还可以减少文件的大小。然后在Porject视图中找一个原始模型拖拽入右侧Preview中,可以看到这个模型已经播放奔跑动画。
此时换一个模型拖入同样可以预览奔跑效果。
如下图所示,在动画的.fbx中 因为动画需要用刚刚生成的骨骼。所以这里Avatar Definition中你需要选择Copy From Other Avatar 。在Source中选择刚刚生成的Avatar 以后所有动画都需要这样来设置。。
下面我们来让这个女模型和男模型共用男模型的那一套动画,在游戏视图中播放。在Project视图中选择Crate-&AnimatorController。然后把Project中男模型和女模型都拖拽入Hierarchy视图中。 将刚刚创建的AnimatorController放置在Controller处。
此时在Unity导航菜单栏中选择Window -》 Animator。 将动画文件拖入Animator窗口中,你会发现两个模型都开始发生运动。如下图所示,黄颜色表示它为原始动画,也就是根动画。用箭头将它们一一前后相连,箭头实际上就是动画播放的条件。请注意看图中两个蓝色的箭头,A播放完后将会播放B动画,可是B却对应了两个箭头,也就是说B播放完后可以播放C也可以回过头来播放A。
那么B播放完到底是播放C还是播放A呢?用鼠标点击一下箭头,看看这这两个箭头的条件吧。分别点开BA 和BC的两个箭头,在右侧监测面板视图中你都会发现Conditions下有一个Exit Time的条件。根据动画的不同对应数值也会不同,我的数值是0.94。也就是当B动画播放0.94s后将播放下一个动画。默认BA和BC的动画时间是一样的,Unity会有限选择下一个动画,也就是A -》 B-》-》C-》D-》A这样循环播放下去。假设我现在需要动画是 A-》B-》A这样循环播放,只需要修改一下BA箭头的条件,将Exit Time改小一点只要比BC箭头上的小就可以。。 其它的播放虚列原理类似。。
接着还有问题了,用时间来做动画切换的条件是不是有点太限制了。Animator还支持自定义条件,在Animator窗口的左下角处,点击“+”按钮就可以添加变量。这里我添加三组变量, float 、int、bool。
变量添加完毕后,继续点击箭头的条件,箭头上可以有一个条件 或者多个条件。如果是多个条件需要多个条件同时满足才可以。 Conditons左键是变量名称,中间是变量条件,右边是变量值。
Greater 表示左边变量大于右边时触发
Less 表示左边变量小于右边时触发
Equals 表示左边变量等于右边时触发
NotEquals表示左边变量不等于右边时触发。
int 变量上述四种都有,float变量只有Greater 和Less, bool变量只有true和false。
此时我们在加深一下理解。选择AB的箭头,也就设置A动画切换B动画的条件。
5 表示 当ft的值大于5的时候触发。
3 表示 当 it的值小于3的时候触发。
表示 当ib的值等于true的时候触发。
只有上述三种条件全部达成时将A动画将切换播放B动画。否则将一直停留在播放A动画处。
那么ft it ib的这三个变量到底在那里设置呢?如下图所示,才记得前面我们创建的三个变量吗? 这三个变量对应的值就是右边的 0.0 0 false 。在编辑器中你可以通过修改这三个数值来满足播放动画的条件。可是在代码中怎么办呢?
在代码中你可以这样来设置或变更它们的条件。 如果说你需要在程序中判断当前动画的一些信息,可以使用 GetCurrentAnimatorStateInfo(0),我查了一下Animator不能直接拿到当前播放动画的名称, 只能拿到它对应的Has值,也就是说你需要将原始的动画名称转换成Hash来判断。
1234567891011121314151617181920212223242526272829303132333435363738
using UnityEngine;using System.Collections;&public class NewBehaviourScript : MonoBehaviour {& private Animator animator ; void&&Start() {
//得到Animator对象
animator = GetComponent&Animator&(); }& void OnGUI() {
if(GUILayout.Button("play",GUILayout.Width(50)))
&&&&//在这里设置变量的条件
animator.SetFloat("ft",6f);
animator.SetInteger("it",2);
&&&&animator.SetBool("ib",true);&
} }& void Update() {
AnimatorStateInfo animatorState = animator.GetCurrentAnimatorStateInfo(0);&
if(animatorState.IsName("Base Layer.Run_FastStop_Idle"))
Debug.Log("动画相等");
Debug.Log("动画不等");
另外Mecanim还支持多个动画的混合。目前Mecanim还有一个最大的难题,也是文章最上面我说的需要美术配合的那部分。之前我们看到的动画都是应用于人型模型,也就是说它支持人形的骨骼, 举个例子我们的项目人和武器是两个骨骼,这样在用Mecanim就悲剧了。因为不同模型武器的骨骼不一样所以公用模型的话会出现武器位置不对的情况。最后我想到的办法就是美术将以前做的武器骨骼重新导出,每个人对应一套自己武器骨骼(或者一些特殊的骨骼)最后生成武器的动画 ,比如 站立动画、攻击动画、死亡动画等。当Mecanim播放动画的时候,同时在播放该模型对应的武器动画,我想这样就可以解决这个问题吧。。
最后欢迎大家一起讨论。。
今天有朋友QQ上问了我已下,是不是非人形动画还得使用老的动画系统?如下图所示,当你把模型导入Unity的时候,这里可以选择它的类型。
legacy:是老的动画系统,这里就多说了。
Generic:是新的动画系统,它就是支持非人形的动画,建议使用它。但是它不能向Humanoid重定向动画。
Humanoid:就是新的人形重定向动画系统。
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
查看: 762|回复: 12
最新unity 手册 chm
本帖为抢楼帖,欢迎抢楼!&
61474/1500排名<font color="#FF昨日变化2主题帖子积分
蛮牛粉丝, 积分 1474, 距离下一级还需 26 积分
蛮牛粉丝, 积分 1474, 距离下一级还需 26 积分
蛮牛币1321
在线时间57 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
Unity is made to empower users to create the best interactive entertainment or multimedia experience that they can. This manual is designed to help you learn how to use Unity, from basic to advanced techniques. It can be read from start to finish or used as a reference.
Unity为使用户创建最佳的交互式娱乐或多媒体体验。该手册用于帮助你学习怎样使用Unity,从基础到高级技术。你可以从头到尾阅读来系统学习或仅作为一个参考。
The manual is divided into different sections. The first section, User Guide, is an introduction to Unity's interface, asset workflow, and the basics of building a game. If you are new to Unity, it is recommended that you start learning by reading the Unity Basics subsection.
本手册分为不同的部分。
第1部分,用户指南,是介绍Unity的接口,资源工作流程和构造一个游戏的基础。如果你新接触Untiy,建议你从基础部分开始阅读。
Guide addresses Android specific topics such as setting up the Android SDK and general development questions.
安卓指南,安卓的特定主题,如设置Android SDK和一般开发。
The next section, FAQ, is a collection of frequently asked questions about performing common tasks that require a few steps.
第2部分,常见问题,开发中的一些常见问题。
The last section, Advanced, addresses topics such as game optimization, shaders, file sizes, and deployment.
第3部分,高级,这类主题如,游戏优化,着色器,文件大小和部署。
When you're done reading, be sure to take a look at the Reference Manual and the Scripting Reference for further details about the different possibilities of constructing your games with Unity.
当你阅读完本手册,一定要看组件参考手册和脚本参考手册来进一步了解使用Unity。
If you find that any question you have is not answered in this manual please ask on Unity Answers or Unity Forums. You'll definitely find your answer there.
如果在本手册没有找到需要的答案,请在Unity Answers和Unity Forums提问,你一定会找到答案。
User Guide 用户指南
Unity Basics Unity基础 翻译:U_鹰
Learning the Interface 学习界面 翻译:U_鹰
Project Browser 项目浏览器视图 翻译:U_鹰
Hierarchy 层级面板视图翻译:U_鹰
Toolbar 工具栏翻译:U_鹰
Scene View 场景视图翻译:U_鹰
Game View 游戏视图翻译:U_鹰
Inspector 检视面板翻译:U_鹰
Other Views 其他视图翻译:U_鹰
Customizing Your Workspace 自定义工作区翻译:第七把剑
Asset Workflow 资源工作流程翻译:第七把剑
Creating Scenes 创建场景翻译:第七把剑
Publishing Builds 编译发布翻译:第七把剑
Tutorials 教程翻译:U_鹰
Unity Hotkeys 快捷键翻译:U_鹰
Preferences 首选项翻译:U_鹰
Building Scenes 构建场景
GameObjects 游戏对象翻译:第七把剑
The GameObject-Component Relationship 游戏对象和组件的关系翻译:第七把剑
Using Components 使用组件翻译:第七把剑
The Component-Script Relationship 组件和脚本之间的关系翻译:第七把剑
Deactivating GameObjects 停用游戏对象翻译:feicheng2005
Using the Inspector 使用检视面板翻译:第七把剑
Editing Value Properties 编辑值属性翻译:第七把剑
Preset Libraries 预设库翻译:U_鹰
Assigning References 指定引用翻译:第七把剑
Multi-Object Editing 多重对象编辑翻译:colin3dmax
Inspector Options 检视面板选项翻译:第七把剑
Using the Scene View 使用场景视图翻译:第七把剑
Scene View Navigation 场景视图导航翻译:第七把剑
Positioning GameObjects 定位游戏对象翻译:第七把剑
View Modes 视图模式翻译:第七把剑
Gizmo and Icon Display Controls Gizmo和图标显示控制翻译:U_鹰
Searching 搜索翻译:第七把剑
Prefabs 预制翻译:第七把剑
Lights 灯光翻译:第七把剑
Cameras 摄像机翻译:第七把剑
Terrain Engine Guide 地形引擎指南翻译:第七把剑
Asset Import and Creation 资源导入与创建翻译:第七把剑
Primitive Objects 基本对象翻译:U_鹰
Importing Assets 导入资源翻译:第七把剑
Models 模型翻译:用生命舞蹈
3D formats 3D格式翻译:用生命舞蹈
Materials and Shaders 材质与着色器翻译:第七把剑
二维纹理翻译:第七把剑
Procedural Materials 程序材质翻译:U_鹰
Movie Texture 影片纹理翻译:U_鹰
Audio Files 音频文件翻译:U_鹰
Tracker Modules 音轨模块翻译:U_鹰
Using Scripts 使用脚本翻译:colin3dmax
Creating and Using Scripts
Controlling GameObjects Using Components
Event Functions 事件函数翻译:RICO
Creating and Destroying GameObjects
Coroutines
Special Folders and Script Compilation Order
Namespaces
Asset Store 资源商店翻译:肥耀
Asset Store Access and Navigation
Asset Store Publisher Administration 资源商店发布者管理翻译:13y32r
Asset Store FAQ
Asset Server (Team License Only) 资源服务器(仅团队许可)翻译:colin3dmax
Setting up the Asset Server 设置资源服务器(仅团队许可)翻译:青青子矜
Cache Server (Team License Only) 缓存服务器(仅团队许可)
Cache Server (Team license only) 缓存服务器(仅团队许可)翻译:一米的馒头
Cache Server FAQ 缓存服务器常见问题翻译:13y32r
Behind the Scenes 场景幕后翻译:colin3dmax
Creating Gameplay 创建游戏翻译:U_鹰
Instantiating Prefabs at runtime 运行时实例化预置翻译:U_鹰
Input 输入翻译:U_鹰
Transforms 变换翻译:U_鹰
Physics 物理翻译:U_鹰
Adding Random Gameplay Elements 添加随机的游戏元素翻译:一米的馒头
Particle Systems 粒子系统翻译:小yue
Particle System Curve Editor 粒子系统曲线编辑器翻译:小yue
Colors and Gradients in the Particle System (Shuriken) 粒子系统中的颜色和渐变翻译:小yue
Gradient Editor 渐变编辑器翻译:小yue
Particle System Inspector 粒子系统检视面板翻译:小yue
Introduction to Particle System Modules (Shuriken) 粒子系统模块介绍翻译:小yue
Particle System Modules (Shuriken) 粒子系统模块翻译:小yue
Particle Effects (Shuriken) 粒子效果翻译:小yue
System Mecanim动画系统翻译:FancyBit
A Glossary of Animation and Mecanim terms 动画和Mecanim术语表翻译:FancyBit
Asset Preparation and Import 资源准备和导入翻译:FancyBit
Preparing your own character 准备你自己的角色翻译:FancyBit
Importing Animations 导入动画翻译:FancyBit
Splitting Animations 分割动画翻译:FancyBit
Working with humanoid s
Creating the Avatar 创建Avatar翻译:FancyBit
Configuring the Avatar 配置Avatar翻译:FancyBit
Muscle setup 肌肉设定翻译:FancyBit
Avatar Body Mask 阿凡达身体遮罩翻译:Karsion
Retargeting of Humanoid animations 为类人动画重新定位目标翻译:Karsion
Inverse Kinematics (Pro only)
Generic Animations in Mecanim Mecanim中的通用动画翻译:bwhale
Bringing Characters to Life 为角色赋予生命翻译:bwhale
Looping animation clips 循环动画剪辑翻译:bwhale
Animator Component and Animator Controller 动画组件和动画控制器翻译:bwhale
Animation State Machines 动画状态机翻译:bwhale
Animation States 动画状态翻译:bwhale
Animation Transitions 动画状态转移翻译:bwhale
Animation Parameters 动画参数翻译:bwhale
Blend Trees 混合树翻译:bwhale
1D Blending 一维混合翻译:bwhale
2D Blending 二维混合翻译:bwhale
Additional Blend Tree Options 附加混合树选项翻译:bwhale
Mecanim Advanced topics Mecanim进阶主题翻译:bwhale
Working with Animation Curves in Mecanim (Pro only) 使用Mecanim的动画曲线(仅限Pro版本)翻译:bwhale
Sub-State Machines 子状态机翻译:bwhale
Animation Layers 动画层翻译:bwhale
Animation State Machine Preview (solo and mute) 动画状态机预览(独立 和 关闭)翻译:bwhale
Target Matching 目标匹配翻译:bwhale
Root Motion - how it works 根动作-如何工作翻译:bwhale
Tutorial: Scripting Root Motion for &in-place& humanoid animations 教程:为一个人形场景动画编写根动作脚本翻译:bwhale
Mecanim Performance and Optimization Mecanim性能和优化翻译:feicheng2005
Mecanim FAQ Mecanim问答翻译:feicheng2005
Legacy animation system 旧版动画系统翻译:feicheng2005
Animation View Guide(Legacy) 动画视图指南翻译:U_鹰
Animation Scripting(Legacy) 动画脚本翻译:U_鹰
Navmesh and Pathfinding (Pro only) 导航网格和寻路(仅专业版)翻译:肥耀
Navmesh Baking 导航网格烘焙翻译:肥耀
Sound 声音翻译:U_鹰
Game Interface Elements 游戏界面元素翻译:U_鹰
Networked Multiplayer 多人网络翻译:U_鹰unity 混合树;learn unity 2d;2d characununity舞蹈;unity 5 2unity 2d混合树;unity 2unity 2d unity 5unity的舞蹈;unity 2d game tutorial
每日推荐:
7排名22昨日变化主题帖子积分
在线时间676 小时
好东西哈,unity3d必备文档。。
每日推荐:
15/50排名<font color="#FF昨日变化135主题帖子积分
注册看看, 积分 5, 距离下一级还需 45 积分
注册看看, 积分 5, 距离下一级还需 45 积分
在线时间1 小时
好东西哈,unity3d必备文档。。
每日推荐:
2101/150排名<font color="#FF昨日变化5主题帖子积分
初来乍到, 积分 101, 距离下一级还需 49 积分
初来乍到, 积分 101, 距离下一级还需 49 积分
在线时间27 小时
来自Mobile---
unity必备啊
每日推荐:
145/50排名<font color="#FF昨日变化7主题帖子积分
注册看看, 积分 45, 距离下一级还需 5 积分
注册看看, 积分 45, 距离下一级还需 5 积分
在线时间15 小时
可以下载吧?
每日推荐:
3247/300排名<font color="#FF昨日变化1主题帖子积分
偶尔光临, 积分 247, 距离下一级还需 53 积分
偶尔光临, 积分 247, 距离下一级还需 53 积分
在线时间79 小时
好东西哈,unity3d必备文档。。
每日推荐:
7排名<font color="#FF昨日变化1主题帖子积分
蛮牛币1373
在线时间194 小时
顶顶顶顶顶顶顶顶
每日推荐:
18/50主题帖子积分
注册看看, 积分 8, 距离下一级还需 42 积分
注册看看, 积分 8, 距离下一级还需 42 积分
在线时间5 小时
来自Mobile---
顶顶顶顶顶顶顶顶
每日推荐:
3164/300排名<font color="#FF昨日变化2主题帖子积分
偶尔光临, 积分 164, 距离下一级还需 136 积分
偶尔光临, 积分 164, 距离下一级还需 136 积分
在线时间59 小时
找很久这东西,谢谢楼主分享
每日推荐:
4489/500排名<font color="#FF昨日变化1主题帖子积分
四处流浪, 积分 489, 距离下一级还需 11 积分
四处流浪, 积分 489, 距离下一级还需 11 积分
蛮牛币1607
在线时间65 小时
楼主辛苦,我先睹为快,沙发吧。
每日推荐:
4489/500排名<font color="#FF昨日变化1主题帖子积分
四处流浪, 积分 489, 距离下一级还需 11 积分
四处流浪, 积分 489, 距离下一级还需 11 积分
蛮牛币1607
在线时间65 小时
楼主辛苦,我先睹为快,沙发吧。
[]: 林晓佳 乐于助人,奖励 3
每日推荐:
5829/1000排名<font color="#FF昨日变化1主题帖子积分
熟悉之中, 积分 829, 距离下一级还需 171 积分
熟悉之中, 积分 829, 距离下一级还需 171 积分
蛮牛币1328
在线时间302 小时
找到下载的地方再说
[]: ale26 在网吧通宵,花了 3
每日推荐:
252/150排名<font color="#FF昨日变化135主题帖子积分
初来乍到, 积分 52, 距离下一级还需 98 积分
初来乍到, 积分 52, 距离下一级还需 98 积分
在线时间34 小时
我瞅瞅,瞅瞅
每日推荐:
社区QQ达人
使用QQ帐号登录论坛的用户
购买游戏蛮牛书籍
游戏蛮牛QQ群会员
加入游戏蛮牛官方QQ群
在“新人报到 ”版块发过自己的照片

我要回帖

更多关于 unity 二维游戏 的文章

 

随机推荐