《我学院:Unity3d动画脚本AnimationScripting使用方法.docxVIP

《我学院:Unity3d动画脚本AnimationScripting使用方法.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《我学院:Unity3d动画脚本AnimationScripting使用方法

Unity3d动画脚本 Animation Scripting使用方法Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理) 也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片断或者素材并让玩家操控的角色动起来栩栩如生,那么这真是一篇好文章(当然我仅仅是翻译了一下)动画脚本 Animation ScriptingUnitys 动画系统允许你创建一个漂亮的动画蒙皮角色. 动画系统支持动画融合,混合,添加动画,步调周期时间同步.动画层.控制动画回放的所有方面(时间,速度,混合权重) 每个顶点有1.2.4个骨骼影响的mesh,基于物理系统的布娃娃系统,另外还有程序动画.为了获得最佳效果推荐您在制作模型和动画绑定前阅读一下 Modeling Optimized Characters 章节.制作一个动画角色主要包括两个方面; 在世界中移动 和 由此产生的动画. 如果你想了解角色移动相关的更多内容, 请参阅 Character Controller page.? ?实际上角色动画是由Unitys 脚本界面完成的 .你可以下载 example demos 中预设置好的动画角色. 当你学完本页的基础部分你还可以看一看 animation script interface.如果需要你可以点击并快速转到以下主题:·? Animation Blending? ? 动画融合·? Animation Layers? ?? ?动画层·? Animation Mixing? ?? ? 动画混合·? Additive Animation? ?? ?附加动画·? Procedural Animation? ? 程序动画·? Animation Playback 和 Sampling? ?动画重放和取样Animation Blending 动画融合在现今的游戏中Animation Blending是一项保证游戏动画顺畅过渡的基本的特性.动画师创建的动画例如: walk 循环, run 循环, idle原地空闲动画 或射击动画.在游戏的任何时间点你都有可能从空闲站立转换到走动,反之亦然. 当然你不希望两个不同的动作之间突然跳转, 你需要动画平滑过渡.而这个问题的解决就依赖动画融合技术. 在Unity中你可以让同一个角色拥有任意数量的动画.所有这些动画融合添加成为一个总的动画.首先我们来为一个角色添加两个动画原地空闲站立和走动并平滑的使这两个动画过渡. 为了使我们在写脚本时简单些, 首先我们设置动画的 Wrap Mode为 Loop. 然后关闭 Play Automatically来让我们的脚本来独占动画的播放.我们第一个动画脚本很简单; 我们需要一些方法来探查角色移动的有多快, 然后在走和站立之间淡入淡出. 在这个简单的测试中我们使用 pre-setup input axes.function Update () {?if (Input.GetAxis(Vertical) 0.2) animation.CrossFade (walk);?else?animation.CrossFade (idle);}下面我们来让这个脚本运行:1.? ?? ? 创建一个js脚本 Assets-Create Other-Javascript.2.? ?? ? 把代码拷贝进去3.? ?? ? 把脚本拖拽给角色 character (It needs to be the same GameObject as the animation)点击Play 按钮, 当你按上下键时角色会走动,松开上下键时角色站立不动.动画层Animation Layers层是一个非常有用的概念它可以让你将动画片段任意成组并且区分优先顺序.在Unitys动画系统中, 你可以混合任意数量的动画片段. 你可以手工分配权重或者直接使用animation.CrossFade(),来自动分配权重.混合权重混合权重总是在应用前被规格化 normalized比如说我们现在有一个 walk cycle 和一个run cycle, 权重都是1 (100%).当unity计算最终动画时会规格化权重, 这意味着 walk占50% 权重,? ?run cycle占50% 权重.这在大多数情况下都是不错的, 但当两个动画片段同时运行而其中一个权重明显大于另外一个. 那么你需要手动调整权重值,但如果你使用动画层来解决这个问题过程会容易得多.制作动画层的范例Layering Example例如现在你有一个射击动画, 一个空闲站立,一个走动循环??. 你需要在走和站两个动作间持续的淡入淡出(在玩家走动速度的基础上) 但当玩家射击时我们只想展示射击动画. 因而射击动画

文档评论(0)

yingxiaorong28 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档