转自:http://blog.ch-wind.com/ue4%E5%8A%A8%E7%94%BB%E5%8A%9F%E8%83%BD%E6%95%B4%E7%90%86/

工欲善其事必先利其器,最近一段开始了对UE4动画功能的系统性整理和学习。好在现在UE4的文档中文化已经开始了,有的文档是中文的,读起来也轻松很多。

当前使用的UE4版本为4.6.1。

AnimBlueprints

动画蓝图分为通常的事件图表和专有的动画蓝图两种,其中动画蓝图主要负责通过读取到的变量进行相应的动画播放。事件图表则是负责更新数值和状态变量。

Animation Composite

动画合成的作用是将多个动画进行组合变成新的合成动画,对于经常性的会进行序列播放的动画将其整合成一个进行管理和使用比较方便。

Skeletal Controls

骨骼控制可以实现在动画播放的过程中精确到单个骨骼的播放控制,这样可以使得代码对动画的播放拥有更多的灵活性。操作相对简单,可以在使用到时参考文档

Physics-Based Animation

基于物理的动画,可以对骨架中的部分骨骼开启物理模拟。不过要正常的打开物理模拟需要为物体指定物理资源。

IK

IK的作用相信玩过相关游戏的童鞋都比较清楚,简单的来说就是用脚来控制大腿的感觉。通过脚、手的位置来逆向的沿着骨架调整动画。其作用是让动画变得更加真实,和骨骼控制相配合即可。需要用到时参照官方的示例即可。

Animation Retargeting

就是将动画共享给其他模型,减少动画制作的成本。主要分为两种形式,一种是在骨骼相同的模型之间使用相同的动画。另一种是通过Rig这个中间件使得骨骼结构不同的模型得以使用共享的动画。Rig的原理类似于对骨骼进行映射,相对的同骨骼架构本身就是可以共享动画的。这个部分相对简单,需要实际应用时参照官方文档操作即可。

Animation Notifications

动画通知可以使得我们在动画播放的某个阶段进行声音的播放、粒子系统的演出或者触发事件接口。

Animation Curves

通过曲线来对变形动画动画的数值进行更改和控制。

AnimMontage

Montage的主要功能是动画的管理和组织,通过将放置于slot中的一个或多个动画在sections中重组,可以让代码更好的对动画播放进行控制。同时Montage还提供了section播放时的分支点功能,分支点的功能和动画通知事件类似,区别之处在于分支点是同步的。因此分支点在时间上将会更加精确,同时也更加消耗系统资源。AnimMontage的一个重要作用之一,就是通过Slot的形式给予了代码层对AnimGraph的动画播放的控制权限。

Root Motion

根骨骼的功能是为会产生移动的动画提供锁定。例如美术资源的动画是包含位移的情况,直接应用这个动画就会导致角色的碰撞检测实体和显示的物体之间的分离。官方的演示图片很直观的展示了这个问题:

Blend Space

动画混合可以将两个或多个动画混合起来,通过调整暴露出来的值来调节混合的程度。例如当速度小于100时播放行走动画,当速度大于300时播放奔跑动画。而在100~300之间则播放行走和奔跑动画的混合。而如果进一步的混合向左、向右和向后的行走和奔跑动画的话,就可以轻松的实现八方向行走动画了

Additive Animations

UE4可以在动画混合时将动画单独指定给某个骨骼以及其所有的子节点。这样以来就可以实现只给上半身播放特定的动画,而人物可以进行行走、下蹲或者站立不受其影响。其核心的部分是Layered blend per bone结点:

在其属性LayerSetup中进行指定:

就可以实现只将射击动画传递到上半身。详细的实现可参照文档

Aim Offset

Aim Offset是用来实现多方向瞄准的动画混合。和其他的动画混合一样,需要提供面向各个方向瞄准的动画作为blend的基础。官方的示例中演示了如何从动画中通过删除帧数来生成这些动画的过程。

得到上面那些动画之后,给每一个动画指定Additive Settings为正射的动画即可新建Aim Offset了。

操作模式是blend通用的。

Socket

通过在骨骼上附加Socket,可以使得额外的物体可以附加在骨骼上。

可以在游戏逻辑中通过蓝图进行附加操作,也可以直接在编辑其中进行附加以检测或改变模型的外观。

———————

总体而言,UE4提供的动画工具都是比较直观明了的。主要的概念也就上面总结的这些,有需要具体使用时再详细的参照文档进行实现。操作过两三遍之后应该就能熟练掌握了。

UE4动画功能整理的更多相关文章

  1. CSS3中的动画功能(一)

    css3中的动画功能分为transitions功能和animations功能,这两种功能都可以通过改变css属性值来产生动画效果.今天带大家一起来看看css3动画功能中的transitions的用法. ...

  2. CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能

    一. CSS3 文字与字体相关样式 1. 给文字添加阴影 text-shadow: length length length ccolor; 属性适用于文本阴影,指定了水平阴影,垂直阴影,模糊的距离, ...

  3. css3动画功能介绍

    一:过渡动画---Transitions 含义:在css3中,Transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能. Transitions属性 ...

  4. 不定期更新的IDEA功能整理

    目录 不定期更新的IDEA功能整理 idea 命令 Preferences 和 Project Structure Keymap HTTP Proxy Postfix Completion 插件 插件 ...

  5. (六)Unity5.0新特性------新动画功能

     unity 5.0 中的新动画功能 这里是你能够期待的新动画功能高速概述 ! State Machine Behaviours状态机行为 在Unity 5 中,你会能够将StateMachine ...

  6. Android 项目框架功能整理记录

    用来记录自己在项目用到的框架工具等,新人新记录,希望能对你搭建项目有所帮助 常用框架整理 视图绑定注解框架: butterKnife 网络请求框架: OKHttp 图片加载缓存:Gilde 数据格式解 ...

  7. OpenCASCADE动画功能2

    OpenCASCADE动画功能2 eryar@163.com OpenCASCADE是一个开发平台,主要提供三维曲面和实体建模.CAD数据交换及可视化等功能.OCCT最适用于开发三维建模CAD软件.加 ...

  8. OpenCASCADE动画功能

    OpenCASCADE动画功能 eryar@163.com 1.Introduction OpenCASCADE提供了类AIS_Animation等来实现简单的动画功能. 从其类图可以看出,动画功能有 ...

  9. UE4高级功能--初探超大无缝地图的实现LevelStream

    转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...

随机推荐

  1. mysql 如果数据不存在,则插入新数据,否则更新 的实现方法

    CREATE TABLE `table_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `my_key` int(11) NOT NULL DEFAULT ...

  2. python中多线程,多进程,队列笔记(一)

    threading简介:If you want your application to make better use of the computational resources of multi- ...

  3. 四十六 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中

    前面我们讲到的elasticsearch(搜索引擎)操作,如:增.删.改.查等操作都是用的elasticsearch的语言命令,就像sql命令一样,当然elasticsearch官方也提供了一个pyt ...

  4. MySQL数据库维护、备份、和复制

    预防性维护的基本原则:1)启动MySQL服务器提供的自动恢复功能2)有计划的开展预防心维护工作,定期对表进行检查,日常的表检查有助于及时发现各种小问题,并在问题变得更糟之前将其纠正.3)建立数据库备份 ...

  5. Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)

      Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...

  6. python----标准库概要

    操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...

  7. TI IPNC Web网页之GoDB开发环境

    介绍 下面介绍DM8127/DM385 IPNC RDK中网页制作相关的东东. 具体来说,各位获得这个RDK包时有以下文件: IPNC_RDK_DM812x_DM385_Version3.5.0.ta ...

  8. [Beego] 内置的模板函数(不同格式的字符串和html的互转)

    在使用beego框架的时候,常常需要把不同形式的字符串转化为html,有时候为了安全考虑会将html转义,而有时候希望能显示html标签.在存储到db中后,再取出来的显示是原本的,即html标签不会生 ...

  9. Hadoop集群中节点角色定义

    Hadoop分别从两个角度将主机划分为两种角色. 最基本的划分原则为Master和Slave,即主人和奴隶: 第一,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中 ...

  10. Linux部分常用命令学习(一)

    什么是linux命令? 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样. 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写 ...