动画重定位(相同骨骼)

https://docs.unrealengine.com/latest/CHN/Engine/Animation/AnimationRetargeting/index.html

定义

动画重定位(相同骨架)是一种允许在共用相同骨架资产但比例差异很大的角色之间复用动画的功能。通过重定位,可以防止生成动画的骨架在使用来自不同外形的角色的动画时丢失比例或产生不必要的变形。

注意红字是同估计重定位前提

注意点:

1 原理部分

动画是绑定到 骨架资产 的。骨架资产其实就是一个骨骼名称和层次结构数据的列表,但它也存储了来自用于定义骨架资产的原始骨骼网格的初始比例。此数据是以骨骼平移数据的形式存储的。特别要注意的是,重定位系统只会重定位骨骼的平移分量。骨骼的旋转始终来自动画数据

动画(Animation) - 骨骼平移来自动画数据,不做改变。理解:就是点的位置不变,盆骨,武器(固定大小枪把手),ik(移动步幅)

骨架(Skeleton) - 骨骼平移来自目标骨架的绑定姿势。  理解:A骨骼动画a到B骨骼,使用B骨骼的绑定姿势,不做平移,只使用旋转

比例动画(AnimationScaled) - 骨骼平移来自动画数据,但按骨架的比例调整。

这是目标骨架(播放动画的骨架)与源骨架(制作动画的骨架)的骨骼长度之比。

2 二足常规设置

通常您需要对两足生物使用这些设置:

根骨骼、IK 骨骼、武器骨骼和任何一种将使用动画模式的标记。

骨盆将使用“比例动画”(AnimationScaled),以确保其在正确的高度,同时仍能动作。您希望平移和重定位动画的其他任何骨骼也应该使用“比例动画”(AnimationScaled)。

所有其他骨骼都应使用“骨架”(Skeleton)。它们将使用来自目标骨架的静态平移。

3 设置(某个骨骼)重定位(方式)

注:被设置的骨骼后面要作为重定向源在重定向管理器中被其他骨骼的动画选择

关于右键点击某根骨骼显示递归设置animation,skelete,animScale,

需要先显示出重定向骨骼,才能看到,直接右键看不到

相同骨骼重定向步骤(原文中: 使用重定位源管理器)

1 选中骨骼

2 把目标模型制作成重定向源(模型)

2 在要重定向的动画上的retargesource中选择做好的重定向源(模型)

个模型,不知道为什么要重定向,貌似直接就能用,找不到错误的示例

不同骨骼的重定向

https://docs.unrealengine.com/latest/CHN/Engine/Animation/RetargetingDifferentSkeletons/index.html

原理:

在具有不同骨架的角色之间重定位动画的过程使用一种名为结构(简单说就是人形骨骼)的资产在不同骨架之间传递骨骼信息。

选择结构后,您要在源骨架和目标骨架(您希望将动画重定位到的骨架)之间共享它。

完成这一步后,要使目标骨架的骨骼与结构中存储的节点配对。

一旦目标骨架中的所有骨骼都在结构中设置完毕,您就可以将源骨架使用的动画重定位到目标骨架。

具体方法步骤:

1 骨骼A,B都在重定向管理器中设置为人形骨骼,并且把各自命名的每根骨骼跟人形骨骼中默认命名的骨骼对应

2 关于(不同骨骼重定向)初始姿态问题

这里ue4.17跟之前版本(文档)稍微有些不同,编辑器做了升级

这里记录下详细步骤

a 选中要重定向的那个骨骼(SWAT_Skeleton),打开重定向管理器,点击查看姿势(如果不点这个,调了也没用,这里调整的是重定向时的初始姿态,并不是改变SWAT_Skeleton的初始骨骼姿态,所以才有查看姿势这个开关,当点击隐藏姿势,显示的就是SWAT_Skeleton的原始姿态了)

b 调整目标骨架(SWAT_Skeleton)肩部位置(目的是保证目标骨架SWAT_Skeleton和 原骨架UE4_Mannequin_Skeleton初始姿态一致),然后记得保存,这里保存并不是点保存按钮,需要使用ModifyPose->UseCurrentPose。

注:modifyPose中貌似还可以使用PoseAsset来直接复制姿态,这个还有待研究

3 选择骨骼A的动画a,右键-> 重定位动画资产->赋值动画资产并重定位,然后选择骨骼B,

可以使用修改按钮,选择生成新动画副本的位置,默认指定的是Game文件夹

然后点重定向按钮,就会在指定位置生成新动画副本

未进行步骤2前,执行步骤3

进行步骤2后,执行步骤3

4 动画蓝图重定位跟动画操作基本一致

ue4 retarge记录的更多相关文章

  1. ue4 编辑器记录

    Matinee 编辑器 菜单:Add New Empty Group->选择要变动的Actor->菜单:Add Actor->菜单:Add Key->变更Actor属性-> ...

  2. UE4 Android打包 问题 记录笔记

    问题一:error: expression result unused [-Werror,-Wunused-value] 虽然看了输出日志知道了这行沉余代码删掉就行,但是不是很懂这个地方报错意义. 问 ...

  3. ue4 staticMesh属性记录

    Light Map Resolution 光照贴图分辨率 Generate Mesh Distancde Field 生成网格距离场(一种不怎么消耗性能的阴影) http://api.unrealen ...

  4. UE4材质特别属生记录

    tangent space normal 切线空间法线 材质默认使用的切线空间法线,可切换为对象空间法线(彩色贴图) Separate Translucency 单独半透明 允许半透明被渲染到一个单独 ...

  5. ue4配置分析记录

    相关代码 UObject::CallFunctionByNameWithArguments  ExecuteConsoleCommand << 配置.ini[???.类名]    //要先 ...

  6. [UE4]记录瞬移目标点

    1.判定射线是否击中一个物体:LineTraceByChannel的Return Value返回值 2.击中的目标点:LineTraceByChannel.Out Hit.Location,如图提示文 ...

  7. ue4 renderTexture简单记录

    示例内容中的renderTexture 抓取部分 1 新建一个TextureRenderTarget2D 2 抓图 新建actor,一个camera,下面挂一个SceneCaptureComponen ...

  8. ue4 官网IK流程记录

    基本流程 角色蓝图构造 角色蓝图 角色蓝图中新建的函数IK Foot Trace AnimGraph事件 这里注意下Make Vector时把z方向的偏移量设置到了X上 猜测原因是效应器的x方向跟世界 ...

  9. 【UE4游戏开发】安装UE4时报SU-PQR1603错误的解决方法

    马三在开发过程中一直用的都是UE4.9版本(很久没有更新了.),因为功能都够用,所以也懒得去更新.这不最近UE4 发布了最新的4.14版本,本来想尝个鲜,试试新版的UE引擎怎么样,结果这一安装上就一直 ...

随机推荐

  1. 辛星跟您玩转vim第四节之操作文本内容

    首先值得一提的是.我的vim教程pdf版本号已经写完了.大家能够去下载,这里是csdn的下载地址:csdn下载,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...

  2. datetime-local设置初始值

    //全局变量 var format = ""; //构造符合datetime-local格式的当前日期 function getFormat(){ format = "& ...

  3. [UVA 12633] Super Rooks on Chessboard FFT+计数

    如果只有行和列的覆盖,那么可以直接做,但现在有左上到右下的覆盖. 考虑对行和列的覆盖情况做一个卷积,然后就有了x+y的非覆盖格子数. 然后用骑士的左上到右下的覆盖特判掉那些x+y的格子就可以了. 注意 ...

  4. 【转载】帧缓冲驱动程序分析及其在BSP上的添加

    原文地址:(四)帧缓冲驱动程序分析及其在BSP上的添加 作者:gfvvz 一.BSP修改及其分析   1. BSP中直接配置的四个寄存器 S3C6410数据手册的第14.5部分是显示控制器的编程模型部 ...

  5. 【博弈论】hihocoder

    #1163 : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob. Alice与Bob总是在进行各种各样 ...

  6. zabbix api支持的数据类型

    bool flag integer float string timestamp array object query countOutput editable excludeSearch filte ...

  7. Java_Time_01_获取当前时间

    1. Date SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// ...

  8. Promise 入门与使用

    Tags: ECMAScript6 参考资料 promises-book Promise对象 we-have-a-problem-with-promises Promise最初被提出是在 E语言中, ...

  9. Tensorflow知识点学习

    1.TensorFlow中Tensor维度理解: (1)对于2维Tensor 0维对应列 1维对应行 (2)维度操作举例: 对于k维的,tf.reduce_sum(x, axis=k-1)的结果是对最 ...

  10. vijos:P1285佳佳的魔法药水

    背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水……怎么样才能得到0号药水呢?你要知道佳佳的家境也不是很好,成本得 ...