ue4 retarge记录
动画重定位(相同骨骼)
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记录的更多相关文章
- ue4 编辑器记录
Matinee 编辑器 菜单:Add New Empty Group->选择要变动的Actor->菜单:Add Actor->菜单:Add Key->变更Actor属性-> ...
- UE4 Android打包 问题 记录笔记
问题一:error: expression result unused [-Werror,-Wunused-value] 虽然看了输出日志知道了这行沉余代码删掉就行,但是不是很懂这个地方报错意义. 问 ...
- ue4 staticMesh属性记录
Light Map Resolution 光照贴图分辨率 Generate Mesh Distancde Field 生成网格距离场(一种不怎么消耗性能的阴影) http://api.unrealen ...
- UE4材质特别属生记录
tangent space normal 切线空间法线 材质默认使用的切线空间法线,可切换为对象空间法线(彩色贴图) Separate Translucency 单独半透明 允许半透明被渲染到一个单独 ...
- ue4配置分析记录
相关代码 UObject::CallFunctionByNameWithArguments ExecuteConsoleCommand << 配置.ini[???.类名] //要先 ...
- [UE4]记录瞬移目标点
1.判定射线是否击中一个物体:LineTraceByChannel的Return Value返回值 2.击中的目标点:LineTraceByChannel.Out Hit.Location,如图提示文 ...
- ue4 renderTexture简单记录
示例内容中的renderTexture 抓取部分 1 新建一个TextureRenderTarget2D 2 抓图 新建actor,一个camera,下面挂一个SceneCaptureComponen ...
- ue4 官网IK流程记录
基本流程 角色蓝图构造 角色蓝图 角色蓝图中新建的函数IK Foot Trace AnimGraph事件 这里注意下Make Vector时把z方向的偏移量设置到了X上 猜测原因是效应器的x方向跟世界 ...
- 【UE4游戏开发】安装UE4时报SU-PQR1603错误的解决方法
马三在开发过程中一直用的都是UE4.9版本(很久没有更新了.),因为功能都够用,所以也懒得去更新.这不最近UE4 发布了最新的4.14版本,本来想尝个鲜,试试新版的UE引擎怎么样,结果这一安装上就一直 ...
随机推荐
- mysql服务器启动问题
The server quit without updating PID file (/usr/local/mysql/data/snsgou.pid);可能的情况是启动的用户不对,
- iOS 9 Safari广告拦截插件
相对于谷歌对广告拦截的禁止,苹果与之态度截然相反,继Mac版Safari加入广告拦截工具之后,即将到来的iOS9对Safari也引入了内容拦截插件-Content Blocker,并且开发者可以使用最 ...
- 怎么样写一个能告诉你npm包名字是否被占用的工具
事情是这样的: 因为我经常会写一些npm包,但是有时候我写完一个包,npm publish 的时候却被提示说包名字被占用了,要不就改名字,要不就加scope,很无奈.npm 命令行可以通过 npm v ...
- HDU2296 Ring —— AC自动机 + DP
题目链接:https://vjudge.net/problem/HDU-2296 Ring Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- Spring当中的名称装配和类型装配有什么区别?
6 人赞同了该回答 Spring auto-wire的 五种方式:1:no 默认的方式是不进行自动装配,通过手工设置ref 属性来进行装配bean2:byName 通过参数名 自动装配,如果一个bea ...
- smokeping高级配置
摘自: http://mayulin.blog.51cto.com/1628315/514367 自定义报警 http://www.cnblogs.com/thatsit/p/6395506.html
- Go丨语言package github.com/Go-SQL-Driver/MySQL: exec: "git": executable file not found in %PATH%解决方法
Go语言在添加第三方MySQL驱动的时候报错: go: missing Git command. See https://golang.org/s/gogetcmd package github.co ...
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
py文件直接在cmd窗口用python命令执行时正常:代码逐句在ipython中也正常:但是, 在wingIDE中运行报错“UnicodeEncodeError: 'ascii' codec can' ...
- php设置编码格式的方法
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta htt ...
- Hover show tips
像上面这种效果,hover1时显示2,且1和2有一定间距的东东,一般有两种实现办法: 1.用JS,原理:over1时让2显示,out1时开个定时器延迟500ms再消失,over2时清除定时器,out2 ...