视频地址:https://www.youtube.com/watch?v=1UOY-FMm-xo

主要内容:该视频由Paragon游戏制作者Laurent Delayen(Senior Programmer, Gameplay)和RayArnett(Senior Artist, Animation)讲述制作过程中使用到的动画技术。

包括:Transitions(动画过渡),Synchronize marker(同步标记),Turn(转向动作),Speed Warping(使用IK根据速度调整步幅),Slope Warping(使用IK根据斜坡斜率调整脚步位置),Jump动作的制作,以及AnimGraph。

声明:以下英文部分为个人听力记录,视频无字幕,不保证准确性,其中带问号的为听不清的单词。中文翻译部分更不保证准确性,建议结合视频看英文部分。

24'50'' Transitions.Our idea is to do motion prediction. Predict where the character is going to stop. Gives a few frame to do the anticipation for the stop. When we do the starts, we drop the marker and look backwards. Drop
the marker location in the world, and we are using them to synchronizing our animations. We translate the physical movement to a curve, a distance curve.

In the case of start transition, look backing time and where the marker was, that curve describes the distance of the actor to that marker.

我们的想法是做动作预测。预测角色将要停止的位置。用一些动作帧来做停止动作。当做起步动作时,在起点放标记然后往回看。在世界中放下标记位置,用他们来同步我们的动作。我们把物理移动转换成一个距离曲线。

在起步的过渡时,往回看标记所在的位置,曲线描述actor到标记的距离。

26'46'' 使用DistanceCurve保存Actor to Marker的位置。

28'21'' Backward动作的Transition.

28'50'' Pivoting。两个动作的结合。Reach the pivot and leave that pivot.

29'39'' when we call the actor in the studio, remap the recorded motion to the map. Using the distance, we get really precise foot placement, no foot sliding at all.

30'15'' For people who are familiar with root motion, like the animation tells the capsule whereto go. If I cross the room in the animation, the capsule will follow the animation along. With this kind of foot slide ahead(?) basically the capsule
is gonna cross the room, and looks that curve it say, it walks? across the room,am I in this animation, and plays that for aim. so uses the motion of the capsule to pick which frame to play in the animation. the animation stay is locked. to the capsule is
doing movement. If the capsule is sitting still and starts moving forwards , the animation says OK, 2 units from where I started,I'll find that on this curve and play that for aim.

对熟悉RootMotion的人来说,动画告诉胶囊该移动到哪里。如果人物在动画中穿过房间,胶囊会跟随动画。所以用胶囊的运动来选取哪一帧来在动画中播放。在胶囊运动的过程中,动画所在位置是锁定的。如果胶囊还在原地准备向前移动,动画说距离出发的位置有2个单位距离,会在曲线上找到那帧来播放。

33' synchronize marker? 从start到loop动作。当toe和root交叉时,有标记。

33'47'' The reason for doing that way is, they sort of tells us, spash? you where the foot is and we can synchronize animation that way. We thought about this, other people seem to describe the movement when the foot touch the ground and leave
the ground,sort of like the anpitute? of the step. and we decided to go instead with the spash? where it was around the player to minimize foot sliding. So when you transition between animations, we sort of try to get the closest position. to where the capsule
is basically to minimize sliding. So we sacrifice bits the where the foot is, we try to keep the position.

35'10'' 以脚的动作为标准,可以保证不会滑步。

37'50'' 转向

38'50'' 角度Curve。

41'02'' 动画蓝图。

42'40''Backward-Forward转换。DistanceCurve标记Turn角度。

43'40''  .速度低会导致动作慢,用Speed Warping可以小步移动。

45'55'' 显示Speed Warping和无Speed Warping的区别。

51' 原理:根据SpeedScale移动IKBone。

53'24'' 比如2X速率移动,IKBone在2X距离位置

54'50'' 后退动作的有无SpeedWarping比较

58' BlendSpace。JogForwardSlopeLean。slope斜率。左右倾斜角度。速度

60' Jogging状态机节点。Blend->AimOffset->RotateRoot

60'50'' 移动效果。

62'40'' Slope移动效果。

64'43'' SlopeWarping开关的区别。

66'41'' 斜坡上开启网格模式的效果。能看到地板位置,Normal,IKBone的位置

68'14'' TwoBoneIK for legs蓝图节点

68'47'' 改变角度观察BlendSpace

70'50'' 脚悬空不可避免。

73'30'' Jump动作。Jumping分解为3个部分。InAir,Apex,Landing。用DistanceCurve标记到地面的距离。We use it here to get a few extra frames of compression. Because animation runs after physics. So when we note that you are jumping, it's already too late
you are already in jumping.  So this allows it to compensate and have a few extra frames that feet on the ground.

Because the capsule is moving.

74'53'' Jump动作演示。

75'43''DistanceCurveForLanding. Put a marker on where you are gonna lands. Use that to synchronize the feet getting close to the ground. The arc is synchronizing with the apex?

76'06'' Apex。DistanceCurve. How far before it and go past it.

76'30'' Recovery Additive.Play on top of anything in the game. 为了nice landing compression.如果不用additive。会Blending Jogforward, backward。Maybe the result is not what would be blended exactly, you still get a nice feel without making
a time to time content.

77'38'' when we do blend between animations, it have difference. Blend feet quickly, Upperbody lowly.

78'50'' AnimDynamics. Not show. 可以在另一个视频中看到专门讲这个节点。AnimDynamic features used in Paragon.https://www.youtube.com/watch?v=5h5CvZEBBWo

79'36'' AnimGraph.

总结:

一、曲线的使用。

根据曲线同步动作。如起步过渡动作中,进入过渡状态时在起点放置标记marker,actor移动时根据当前actor和marker的距离distance,在DistanceCurve上查找该Distance应该对应的帧进行播放。

如原地转身动作(Rotate)中,根据当前actor的旋转角度angle,在Curve上查找该Angle对应的帧进行播放。

二、Synchronize Marker 左右脚同步标记

在动画中,当toe和root重合时,添加Notify记录当前是左脚还是右脚。动画过渡时,以脚为基础,避免了滑步的出现。

三、IK的使用

SpeedWarping和SlopeWarping,使用IK使脚在动画中处于正确的位置。

四、Jump动作

由于胶囊运动,动画制作原地起跳时需要考虑胶囊的移动。Curve标记当前和地面的距离。通过Curve同步动画。

[UE4]Animation Techniques used in Paragon部分翻译及索引的更多相关文章

  1. UE4 Animation]IK Related

    转自:https://dawnarc.com/2018/05/ue4animationik-related/ Examples 工程1 在油管上看到一个UE4 IK动画的demo工程示例 该示例作者的 ...

  2. Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效

    当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题,比如当前绘制了一个 ...

  3. [翻译] 聚集索引表 VS 堆表

    前言: 本文对这篇博客Clustered Tables vs Heap Tables 的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步. 问题描述 创建一个新表时,一个非常重要的设计原则 ...

  4. [大牛翻译系列]Hadoop 翻译文章索引

    原书章节 原书章节题目 翻译文章序号 翻译文章题目 链接 4.1 Joining Hadoop(1) MapReduce 连接:重分区连接(Repartition join) http://www.c ...

  5. Web Analytics 2.0 中文翻译 [ 系列索引 ]

    引言 内容概述 第一章:网站分析2.0的新奇世界 第二章:选择你的网络分析灵魂伴侣的最佳策略 第三章:点击流分析的奇妙世界:指标 第四章:点击流分析的奇妙世界:实际的解决方案 第五章:荣耀之钥:度量成 ...

  6. [翻译] EnterTheMatrix

    Enter The Matrix https://github.com/mpospese/EnterTheMatrix The sample application to accompany my c ...

  7. CSS3 Transitions, Transforms和Animation使用简介与应用展示

    CSS3 Transitions, Transforms和Animation使用简介与应用展示 by zhangxinxu from http://www.zhangxinxu.com本文地址:htt ...

  8. Unity3D用户手册

    Unity Manual 用户手册 Welcome to Unity. 欢迎使用Unity. Unity is made to empower users to create the best int ...

  9. drawRect - 谈画图功能的内存优化

    作者介绍 作者:毕洪博 ( @毕洪博 ),iOS 开发者,pop Art 追随者.现在正在鼓捣 AVFoundation,博客 bihongbo.com, 欢迎大家找我讨论技术. 作者已将本文在微信公 ...

随机推荐

  1. Eclipse 的常用快捷方式

    快捷方式<!--[if !supportLists]-->0. Ctrl + 1 (快速修复)<!--[if !supportLists]-->1. Ctrl + D (删除当 ...

  2. 【POJ2828】Buy Tickets(线段树)

    题意:有一个输入序列,每次操作要把b[i]插入到第a[i]个,在第a[i]个后面的要后移,问最后序列. n<=200000 思路:顺序来只能用splay维护 考虑倒序,对于插入到第K个位置,在线 ...

  3. POJ2186

    poj2186 popular cows   Every cow's dream is to become the most popular cow in the herd. In a herd of ...

  4. Win10切换中英输入法问题

    用此方法解决后的效果: Win10系统只剩下"美式键盘"和"搜狗拼音"两种输入法,且默认为美式键盘. 按Ctrl+Shift切换到搜狗拼音,输入完成后,再按Ct ...

  5. 纯JS实现中国行政区域上下联动选择地址

    一.实现目的: 如标题所述,通过JS来实现地址的选取,上一篇博客介绍的方式是通过java读取txt资源文件来实现地址的选择,通过ajax方式访问服务器实现省市区联动.此篇中将介绍如何使用JS实现相同功 ...

  6. java_js_检查是否全为数字

    //检查所有输入文本都是数字类型 var len=blackNumber.length; var regExp=new RegExp("\\d{"+len+"}" ...

  7. A*搜索

    1,从点A开始,并且把它作为待处理点存入一个"开启列表".开启列表就像一张购物清单.尽管现在列表里只有一个元素,但以后就会多起来.你的路径可能会通过它包含的方格,也可能不会.基本上 ...

  8. flash中设置文本字体样式

    txt.setTextFormat(tf);  txt.defaultTextFormat = tf;

  9. MAC 安装j2ee.sh的办法

    It says it needs the DISPLAY variable set - what do I need to set it to? Instead of saying: ./java_e ...

  10. django 1.8 评论库comments配置问题

    comments库是django框架内置的评论库,可以快速搭建网站需要的评论系统.不过1.8的配置和1.6的出现了一点小小配置,由于刚刚接触,按照网上的文档配置,需要在 settings.py的INS ...