动画重定位(相同骨骼)

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. Swift语言概览

                     Swift语言概览 关于 这篇文章简要介绍了苹果于WWDC 2014公布的编程语言--Swift. 前言 在这里我觉得有必要提一下Brec Victor的Invent ...

  2. MySQL——多版本并发控制

    核心心知识点: (1)MVCC的优点和缺点 (2)MVCC的工作机制 之前在提及幻读的时候,提到过InnoDB的多版本并发控制可以解决幻读问题. 大多数MySQL的事务性存储引擎,例如InnoDB.F ...

  3. 开始使用Python

    1. 开始使用Python 1.1 print使用str()函数显示对象,而交互式解释器调用repr()函数来显示对象. 1.2 在解释器中_表示最后一个表达式的值. 1.3 >>用来重定 ...

  4. HDU 1201 Fibonacci Again

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  5. RQNOJ 624 运动鞋:dp

    题目链接:https://www.rqnoj.cn/problem/624 题意: 小明有奖学金啦!所以他要去买运动鞋. 总共有n款鞋,分别属于t个品牌. 每款鞋的价格为c[i],在小明心目中的价值为 ...

  6. CI公用模型

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * SEO管理系统 -- 公用模型 ...

  7. html5--2.9新的布局元素(5)-hgroup/address

    html5--2.9新的布局元素(5)-hgroup/address 学习要点 了解hgroup/address元素的语义和用法 通过实例理解hgroup/address元素的用法 对照新元素布局与d ...

  8. dynamic 作为参数传入另一个程序集,获取值

    dynamicOBJ.GetType().GetProperty("key").GetValue(dynamicOBJ, null)

  9. python function with variadic arguments or keywords(dict) 可变参数与关键字参数

    *args 表示任意个普通参数,调用的时候自动组装为一个tuple **kwags 表示任意个字典类型参数, 调用的时候自动组装成一个dict args和kwags是两个约定俗成的用法. 变长参数可以 ...

  10. python 多模块文件共享变量

    Python import 包的机制是,import进来的和默认的系统的module了,都放在sys.module这个字典里面. 多个py文件再次import的时候,会先去sys.module里面检查 ...