转自: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. ubuntu16.04 安装OpenNI并运行kinnectfusion

    由于OpenNI是ubuntu12.04以前使用的驱动kinnect的库,现在用起来有很多的不便,用心的系统运行旧的设备,有诸多问题.现总结流程如下: 环境:Ubuntu16.04 64bit Kin ...

  2. poj2446

    题解: 二分图匹配 看看是否能达到目标 代码: #include<cstdio> #include<cstring> #include<algorithm> #in ...

  3. 前端 velocity(.vm)模板里写ajax出现解析异常

    异常信息:Caused by: org.apache.velocity.exception.ParseErrorException: Encountered "{" at dist ...

  4. 【linux】ulimit限制打开的文件数量

    以限制打开文件数为例. ulimit -Hn 查看硬限制. ulimit -Sn 查看软限制. ulimit -n 查看两个中更小的限制(软限制始终比硬限制低, 所以查看的是软限制) 设定规则 1.软 ...

  5. Apache Tomcat Server Options 选项说明

    Apache Tomcat Server Options 选项说明 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neu ...

  6. Java Thread类的yield()和join()的区别和用法

    yield: 解释它之前,先简述下,多线程的执行流程:多个线程并发请求执行时,由cpu决定优先执行哪一个,即使通过thread.setPriority(),设置了 线程的优先级,也不一定就是每次都先执 ...

  7. findContours()的使用崩溃问题

    之前用的好好的,不知咱弄得就突然崩溃.然后网上搜了半天. 各种试,不行. 有一种改变代码方式的做法,可行,但是心里用着很是不爽.vector<vector<Point>>con ...

  8. php果然是世界上最好的语言

    这两天参加Hackathon,作为一个什么都半吊子的家伙,两人小队伍被逼上岗,于是我不得不着手写代码.由此,我体验到了php的魔力-- 首先,我深刻地意识到了更新版本的重要性. 偷懒不想搭Apache ...

  9. NGINX 配置文件配置url重写

    1.项目在根目录: location / {            index  index.html index.htm index.php l.php;            autoindex  ...

  10. wlan经常掉线怎么办?

    有没有这样的情款,好好的网络总是突然断掉然,之后就需要重新连接,连接以后没多久有需要重新连接.本次经验就来和大家一起分享一下几种情况的解决方法,非常的简单实用. 工具/原料 电脑 电源设置问题 1.本 ...