快捷导航
网站首页
疑难问答
Foreign
手游源码
端游源码
页游源码
手游单机
开启辅助访问
登录
or
注册
永久会员提供整站资源下载
游戏源码
»
源码论坛 BBS
›
游戏引擎
›
游戏引擎资源/文档
›
虚幻4官网翻译文档
›
动画重定位(不同骨架)
返回列表
查看:
236
|
回复:
0
[引擎的各个功能]
动画重定位(不同骨架)
[复制链接]
admin
admin
当前离线
积分
75866
1
主题
342
帖子
7万
积分
管理员
积分
75866
发消息
发表于 2017-4-8 07:06:02
|
显示全部楼层
|
阅读模式
动画重定位(不同骨架)
Unreal Engine 4.9
本页面的内容:
开始操作
重定位调整
重定位动画蓝图
重定位基本姿势
注:在引擎 4.5 版之前的版本中未提供此功能
动画重定位(不同骨架)是一种允许在不共用相同骨架资产的角色之间复用动画的功能,它不同于在共用相同骨架资产的角色之间重定位动画的 动画重定位(相同骨架)
。
在具有不同骨架的角色之间重定位动画的过程使用一种名为 结构 的资产在不同骨架之间传递骨骼信息。选择结构后,您要在源骨架和目标骨架(您希望将动画重定位到的骨架)之间共享它。完成这一步后,要使目标骨架的骨骼与结构中存储的节点配对。
一旦目标骨架中的所有骨骼都在结构中设置完毕,您就可以将源骨架使用的动画重定位到目标骨架。如果您希望快速将所有动画资产从一副骨架移动到另一副,甚至可以将整套动画蓝图连同其所有关联数据一起重定位,从而节省时间。
开始操作
为了开始在不同骨架之间重定位动画,您需要为两副骨架选择用于共享的结构资产。本节将向您介绍如何访问引擎内容中附带的 人形结构,并指定它以供使用。
我们还要使用两个可通过 市场 免费获取的资产包,它们包含我们可用于重定位的多种骨架和动画。如果您已经准备好了两个骨架资产供使用,可以跳过下面的说明,使用您的资产。如果您没有准备骨架,可以按照下面说明中概述的步骤操作,添加两个包。
在这个示例中,我们使用可通过 市场 下载的下列资产。
我们使用的源骨架是 UE4_Mannequin_Skeleton,它包含在 动画初学者包 中。
我们使用的目标骨架是 SWAT_Skeleton,它包含在 Mixamo 角色包 中。
安装以上两个包之后,您可以在虚幻启动程序中通过 添加到项目(Add to project)按钮将它们添加到项目。
动画初学者包含有多种动画,我们将把它们重定位到 Mixamo 角色包中的角色。
您的虚幻引擎 4 版本可能与上图中的版本不同。
下面的步骤将说明如何访问默认结构并重定位动画:
在 内容浏览器 中的 Game/AnimStarterPack/UE4_Mannequin/Mesh 文件夹下,打开 UE4_Mannequin_Skeleton 资产。
单击 重定位管理器(Retarget Manager)按钮,然后在 设置结构(Set up Rig)下,单击 选择结构(Select Rig)下拉菜单,选择 选择人形结构(Select Humanoid Rig)。
单击查看大图。
单击 保存(Save),然后关闭窗口。
在 内容浏览器 中的 Game/MixamoAnimPack/Mixamo_SWAT/Anims 文件夹下,打开 SWAT_Skeleton 资产。
单击 重定位管理器(Retarget Manager)按钮,然后在 设置结构(Set up Rig)下,单击 选择结构(Select Rig)下拉菜单,选择 选择人形结构(Select Humanoid Rig)。
单击查看大图。
指定结构后,下一步需要使目标的骨骼与结构上的节点配对。
使用下拉菜单在骨架上选择与结构上的骨骼(节点)位置相似的骨骼。
单击查看大图。
在上图中,左边是我们的源骨架(启用了 显示骨骼名称(Show Bone Names)),右边是目标骨架(也启用了“显示骨骼名称”(Show Bone Names))。中间是 设置结构(Set up Rig)窗口,我们在其中设置目标骨架的那些骨骼与源骨架上的骨骼相同(或位置相似)。
虽然每副骨架的命名约定可能不同,但您可以看到每块骨骼在每副骨架上的位置,从而相应地将它们配对。您不需要指定所有骨骼,而且根据您的需求可能需要进行一些微调。
继续将目标骨架中的每块骨骼指定到结构上的相应节点。
下表演示了 UE4_Mannequin_Skeleton 和 SWAT_Skeleton 的设置
Root
None
Pelvis
Hips
spine_01
Spine
spine_02
Spine1
spine_03
Spine2
clavicle_l
LeftShoulder
upperarm_l
LeftArm
lowerarm_l
LeftForeArm
hand_l
LeftHand
clavicle_r
RightShoulder
upperarm_r
RightArm
lowerarm_r
RightForeArm
hand_r
RightHand
neck_01
Neck1
head
head
thigh_l
LeftUpLeg
calf_l
LeftLeg
foot_l
LeftFoot
thigh_r
RightUpLeg
calf_r
RightLeg
foot_r
RightFoot
在设置结构时可以使用两种配置:基本 或 高级。基本配置(上表所示)使用确保动画成功重定位所需的关键元素。高级配置允许您包括并指定更多应该在重定位过程中包括的骨骼。
在上面的示例中,左手和右手都包括在了重定位过程中,但没有包括各个手指。使用基本配置重定位动画可确保将基本动作复制到新骨架,但如果源骨架有活动的手指而目标骨架没有,那么重定位后的动画就不会显示活动的手指,手部就会显得很僵硬。
单击 显示高级(Show Advanced)按钮切换 高级 配置。
将目标骨架中的骨骼指定到高级配置下结构上的节点。
index_01_l
LeftHandIndex1
index_02_l
LeftHandIndex2
index_03_l
LeftHandIndex3
middle_01_l
LeftHandMiddle1
middle_02_l
LeftHandMiddle2
middle_03_l
LeftHandMiddle3
pinky_01_l
LeftHandPinky1
pinky_02_l
LeftHandPinky2
pinky_03_l
LeftHandPinky3
ring_01_l
LeftHandRing1
ring_02_l
LeftHandRing2
ring_03_l
LeftHandRing3
thumb_01_l
LeftHandThumb1
thumb_02_l
LeftHandThumb2
thumb_03_l
LeftHandThumb3
lowerarm_twist_01_l
LeftHand
upperarm_twist_01_l
LeftArm
index_01_r
RightHandIndex1
index_02_r
RightHandIndex2
index_03_r
RightHandIndex3
middle_01_r
RightHandMiddle1
middle_02_r
RightHandMiddle2
middle_03_r
RightHandMiddle3
pinky_01_r
RightHandPinky1
pinky_02_r
RightHandPinky2
pinky_03_r
RightHandPinky3
ring_01_r
RightHandRing1
ring_02_r
RightHandRing2
ring_03_r
RightHandRing3
thumb_01_r
RightHandThumb1
thumb_02_r
RightHandThumb2
thumb_03_r
RightHandThumb3
lowerarm_twist_01_r
RightHand
upperarm_twist_01_r
RightArm
calf_twist_01_l
None
ball_l
LeftToeBase
thigh_twist_01_l
LeftUpLeg
calf_twist_01_r
None
ball_r
RightToeBase
thigh_twist_01_r
RightUpLeg
有时一副骨架中可能有另一副骨架所不包含的附加骨骼;您可以忽略这些骨骼,因为可以对目标骨架进行调整来解决这个问题。
在此示例中,您也可以将 IK 骨骼指定到 Mixamo 角色上的 None,因为 IK 重定位功能尚在开发中。
在 内容浏览器 中的 Game/AnimStarterPack 下,选择一个要重定位到新骨架的动画。
右键单击 该动画,然后选择 重定位动画资产(Retarget Anim Assets) -> 复制动画资产并重定位(Duplicate Anim Assets and Retarget)。
在 选择骨架(Select Skeleton)窗口中,您应该会在窗口上部看到您的骨架,选择它并单击 选择(Select)。
系统将在目标骨架所在的文件夹中创建您选择重定位的动画的副本。
现在可以将此新动画用于您的角色。
重定位调整
设置要在骨架之间共享的结构时,您可能遇到一副骨架比另一副骨架多出一些骨骼的情况(在“开始操作”部分中,如果您使用了示例中指定的骨架,可能已经注意到 Mixamo 骨架在手部等处有更多骨骼)。有时这会引发问题,但可以通过递归地对骨架设置平移重定位来解决。
例如,这里有一张调整前的截图:
请注意,由于在结构设置过程中未指定多余的骨骼,手指显得很扭曲。
这里是经过调整后的示例:
您可以通过骨架树形视图来指定骨骼平移重定位。在这里我们在每根手指的最后一节 右键单击,将骨骼平移设置为 递归地设置平移重定位骨架(Recursively Set Translation Retargeting Skeleton)。
重定位动画蓝图
在您完成设置两副骨架资产共享的结构的过程后,如果源骨架有关联的 动画蓝图,您就可以选择重定位它,以用于目标骨架。
右键单击 动画蓝图,然后选择 重定位动画蓝图(Retarget Anim Blueprints) -> 复制动画蓝图并重定位(Duplicate Anim Blueprints and Retarget)选项。
将显示 选择骨架(Select Skeleton)窗口。选择您的目标骨架,然后按 选择(Select)。
系统将复制所有与动画蓝图关联的资产(动画资产、混合空间等)以及在动画蓝图本身中定义的所有逻辑,放置在与目标骨架相同的位置。
重定位基本姿势
有时您可能希望将动画重定位到基本姿势与源骨架不太一致的骨架。
以下图右边的骨架为例。
左边的源骨架摆出了 A 字姿势,而目标骨架摆出的是 T 字姿势。即使设置了两副骨架共用的结构,如果我们就这样重定位动画,可能遇到下图所示的问题。
在上图中,已经为目标骨架重定位了动画;但是因为基本姿势不同,它的双臂都被截掉了。好在您还可以在重定位动画前先重定位目标骨架的基本姿势,以减少或消除这样的问题。
在目标骨架中的 重定位管理器(Retarget Manager)下,有一个叫做 管理重定位基本姿势(Manage Retarget Base Pose)的选项。
如果您单击 查看姿势(View Pose)按钮,将看到当前的基本姿势。可以通过单击骨骼并使用 旋转 (E) 小部件来调整它。
在上图中,已经调整了右臂,但左臂还是使用默认的基本姿势(我们可以使用旋转小部件来调整)。调整完姿势后,可以单击 保存姿势(Save Pose)选项保存重定位后的基本姿势。由于两副骨架的基本姿势已经差不多,现在您可以重定位动画了。当“骨架选择”(Skeleton Select)窗口出现时,您将注意到目标骨架使用了重定位后的基本姿势。
用重定位后的基本姿势重定位动画,得到效果更好的动画。
完整内容索引
2004-2017, Epic Games, Inc. 版权所有。Unreal 及相关的商标是 Epic 在美国和其他国家的注册商标。
使用条款 | 隐私政策
回复
使用道具
举报
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
enginedx注册
本版积分规则
发表回复
回帖后跳转到最后一页
邮件留言:
游戏源码
返回顶部