79 lines
5.5 KiB
Markdown
79 lines
5.5 KiB
Markdown
|
---
|
|||
|
title: 实时重定向与骨骼动画共用相关
|
|||
|
date: 2022-09-25 21:20:07
|
|||
|
excerpt:
|
|||
|
tags:
|
|||
|
rating: ⭐
|
|||
|
---
|
|||
|
|
|||
|
## IK Rig
|
|||
|
本质上是分离了以前版本动画蓝图中的IK解算逻辑。
|
|||
|
|
|||
|
大致步骤为:
|
|||
|
1. 创建IK Goal与Solver。
|
|||
|
2. 选中IK Goal,并在想要的解算器上右键Connect Goal To Selected Solver,来指定Solver的目标。
|
|||
|
3. 选中Solver,并且在想要的骨骼上右键Set Root Bone On Select ed Solver,来指定Solver的根骨骼目标。
|
|||
|
|
|||
|
### IK Goal
|
|||
|
意为IK目标。
|
|||
|
|
|||
|
### Solver
|
|||
|
解算器类型主要为:
|
|||
|
- Body Mover:**躯体运动解算器**。需要一个根骨骼和至少两个IK目标相连。主要用于地面对齐,应作为第一个解算器与其他解算器配对使用,Limb IK或者Full Body IK。
|
|||
|
- 
|
|||
|
- Limb IK:**手足/肢体 IK**。需要一个根骨骼和一个IK目标才能起作用。该解算器要求链中有**至少三根骨骼**才能正确工作。
|
|||
|
- 
|
|||
|
- Full Body IK:**全身IK**,是个功能齐全的多IK Goal解算器。必须连接一个根骨骼和至少一个IK目标。
|
|||
|
- 
|
|||
|
- 可以对指定的骨骼设置FullBody设置来限制一些骨骼的旋转/位移。
|
|||
|
- 
|
|||
|
- Pole Solver:**极解算器**,为单个骨骼链提供 **极向量(Pole Vector)** 控制。必须同时指定根骨骼和末端骨骼,右键点击根骨骼和末端骨骼并选择 **在选定解算器上设置根/末端骨骼(Set Root / End Bone on Selected Solver)**。在大多数情况中,应将"极解算器(Pole Solver)"与另一个解算器配对,并将"极解算器(Pole Solver)"设置为最后执行。
|
|||
|
- 
|
|||
|
- Set Transform:通常情况下,最好将该解算器与其他解算器配对,并设置为先执行"设置变换(Set Transform)"。在这个示例中,臀部的 **设置变换(Set Transform)** 与腿上的 **手足IK(Limb IK)** 进行了配对。
|
|||
|
- 
|
|||
|
|
|||
|
解算器的添加顺序很重要,因为解算器将根据名称旁边显示的数字按顺序执行。对于此IK系统,肢体IK应该最后求值。
|
|||
|

|
|||
|
### IK Rig In Animation Blueprint
|
|||
|
在为一个SkeletalMesh创建IK Rig之后,还可以动画蓝图中进行控制。只需要使用IK Rig动画蓝图节点并且指定**Rig Definition Asset**。并在**IK Rig Editor**中将对应的**IK Goal**设置**Exposure Position/Rotation**。
|
|||
|

|
|||
|
|
|||
|
## IK Rig Retarget
|
|||
|
IK Rig的另一个作用就是IK Rig Retarget,可以使用IK算法把部分从定性有问题的骨骼动画修正。比如穿高跟鞋=>不穿高跟鞋。大致步骤如下:
|
|||
|
|
|||
|
1. 为**Source/Target SkeletalMesh**分别设置**IK Rig**资产。
|
|||
|
2. 在2个IK Rig资产设置用于重定向的**根骨骼**,一般是骨盆或者臀部骨骼。在对应骨骼上右键选择**Set Retarget Root**。
|
|||
|
3. 为肢体部分分别创建骨骼链。
|
|||
|
1. 
|
|||
|
4. 创建**IK Retargeter**资产。 需要设置**Source IKRig Asset**与**Target IKRig Asset**。
|
|||
|
6. 在编辑器中的**Current Retarget Pose**设置重定向Pose(如果为APose需要设置成TPose)。
|
|||
|
7. 对于脚部部的穿帮可以设置**Fullbody IK**(也可以是别的IK解算器)与**IK Goal**,并且在对应骨骼链中设置对应的IK Goal。
|
|||
|

|
|||
|
|
|||
|
最后导出想要重定向的动画。
|
|||
|

|
|||
|
|
|||
|
PS.
|
|||
|
1. 在**IK Retargeter Editor**的details面部中可以通过**Retarget IK**来预览IK Targeting的效果。
|
|||
|
2. ThirdPerson模板采用FullBody IK进行IK Retarget。
|
|||
|
|
|||
|
### UE5实时重定向
|
|||
|
在执行以上步骤之后,在新SkeletalMesh的动画蓝图中使用**Retarget Pose From Mesh**节点。再设置**IK Retarget**资产即可。
|
|||
|
|
|||
|
需要注意:角色类需要2个模型一起挂载,其中一个模型隐藏,并且将**Visibility Based Anim Tick Option** 选项设置成**Alway Tick Pose And Refresh Bone**
|
|||
|
|
|||
|
### Skeleton Compatibility
|
|||
|
官方翻译为**可兼容的骨架**,不同骨骼之间共享动画的功能。
|
|||
|
https://docs.unrealengine.com/5.0/en-US/skeletons-in-unreal-engine/#compatibleskeletons
|
|||
|
|
|||
|

|
|||
|
|
|||
|
这个功能可以用来共享动画,并且不需要重定向。
|
|||
|
|
|||
|
## 其他
|
|||
|
UE5的新功能实时重定向
|
|||
|
https://www.bilibili.com/video/BV1HZ4y117Yk/?spm_id_from=333.999.0.0&vd_source=d47c0bb42f9c72fd7d74562185cee290
|
|||
|
|
|||
|
可以用来制作一些角色特有的动画。也可以用于共享动画。
|
|||
|
- https://docs.unrealengine.com/5.0/zh-CN/facial-animation-sharing-in-unreal-engine/
|
|||
|
- https://docs.unrealengine.com/5.0/zh-CN/using-sub-anim-instances-in-unreal-engine/
|