UE4动画功能整理
转自: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动画功能整理的更多相关文章
- CSS3中的动画功能(一)
css3中的动画功能分为transitions功能和animations功能,这两种功能都可以通过改变css属性值来产生动画效果.今天带大家一起来看看css3动画功能中的transitions的用法. ...
- CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能
一. CSS3 文字与字体相关样式 1. 给文字添加阴影 text-shadow: length length length ccolor; 属性适用于文本阴影,指定了水平阴影,垂直阴影,模糊的距离, ...
- css3动画功能介绍
一:过渡动画---Transitions 含义:在css3中,Transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能. Transitions属性 ...
- 不定期更新的IDEA功能整理
目录 不定期更新的IDEA功能整理 idea 命令 Preferences 和 Project Structure Keymap HTTP Proxy Postfix Completion 插件 插件 ...
- (六)Unity5.0新特性------新动画功能
unity 5.0 中的新动画功能 这里是你能够期待的新动画功能高速概述 ! State Machine Behaviours状态机行为 在Unity 5 中,你会能够将StateMachine ...
- Android 项目框架功能整理记录
用来记录自己在项目用到的框架工具等,新人新记录,希望能对你搭建项目有所帮助 常用框架整理 视图绑定注解框架: butterKnife 网络请求框架: OKHttp 图片加载缓存:Gilde 数据格式解 ...
- OpenCASCADE动画功能2
OpenCASCADE动画功能2 eryar@163.com OpenCASCADE是一个开发平台,主要提供三维曲面和实体建模.CAD数据交换及可视化等功能.OCCT最适用于开发三维建模CAD软件.加 ...
- OpenCASCADE动画功能
OpenCASCADE动画功能 eryar@163.com 1.Introduction OpenCASCADE提供了类AIS_Animation等来实现简单的动画功能. 从其类图可以看出,动画功能有 ...
- UE4高级功能--初探超大无缝地图的实现LevelStream
转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...
随机推荐
- matlab 学习笔记
脚本名称不能与matlab里面的关键字一样.否则会报当MATLAB中报错,“SCRIPT ******”怎么解决 保留已画图形:hold on 矩阵连接:横向 f=[m,n]; 纵向 f=[m;n ...
- 【C#笔札】 界面逐渐显现的实现
如果labview做 就如同上图,so eazy! 现改C#实现这个简单的功能. 在工具箱找到Timer控件 双击 思路如下,界面打开时触发timer事件,每隔一段时间调整界面透明度 开搞 属性框中的 ...
- WebService是什么?以及工作原理
WebService 就是一个应用程序,向外界暴露出公开的API使别人其能在WEB对其进行远程调用,具有跨平台和跨语言的等特点,采用Internet的Http协议进行客户端与服务器之间的交互 由XML ...
- 剑指offer--25.二叉树的镜像
时间限制:1秒 空间限制:32768K 热度指数:238655 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 ...
- Electron 使用 Webpack2 打包应用程序
Electron 使用 Webpack2 打包应用程序 前两天看了一下使用 Electron 来开发应用程序,今天说说所怎样集成 Electron 和 Webpack2 来打包应用程序. 安装依赖库 ...
- React Native探索(五)使用fetch进行网络请求
相关文章 React Native探索系列 前言 React Native可以使用多种方式来请求网络,比如fetch.XMLHttpRequest以及基于它们封装的框架,fetch可以说是替代XMLH ...
- jmeter 查看提取的参数
需求:查看“传入的参数”或者“正则表达提取的参数”等...... 解决:添加Debug Sampler组件,不需要配置,直接使用默认 1.使用CSV Data Set Config组件“传入的参数”直 ...
- canvas 绘制图像
结果: 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- C++常量const
常量折叠概念 常量折叠表面上的效果和宏替换是一样的,只是“效果上是一样的”,而两者真正的区别在于,宏是字符常量,在预编译宏替换完成后,该宏名字会消失,所有对宏的引用已经全部被替换为它所对应的值,编译器 ...
- Qt图形视图体系结构示例解析(视图、拖拽、动画)
本博的示例来自与QT Example:C:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\graphicsview\dragdroprobot 将通过分析示例完成主要功能: ...