使用UEFY插件创建兼容UE4和Blender/Rigify的人物骨骼

发表于2020-07-20
评论0 1.45w浏览

本文旨在帮助UE4独立开发者使用市场购买的动画资源以及人物模型素材。

UEFY插件购买地址:https://www.rakiz.com/uefy/

 

开始前的准备:

 

一个任意的人物模型

Blender2.80+版本

UEFY插件

从UE4中导出的Mannequin小白人

 

1.导入模型

 

首先打开Blender,新建一个项目并且将单位设置中的缩放单位调整至0.01。

这么做是因为虽然Blender的模型与UE4的比例是1:1,但骨骼的单位比例却是100:1。

IZ6shqsJTYXkEYVuJ1an.png

现在,导入你想要构建骨骼的人物模型,将其放置在原点,确认它的面向是X轴正方向

pUmZEUZSKgvRqeoK4BRR.png

然后导入UE4标准的Mannequin模型。模型可以在UE4新建的项目中找到并导出,在Blender中的导入设置应如下

yL35taWWKPUt1ZgmPrvV.png

即不导入动画,并且勾上自动骨骼坐标系。导入完成后我们选中Mannequin以及它的骨架,向Y轴方向移动一个单位。

e6AnQU4pgCgbHtK9XZW8.png

我们现在暂时不需要用到Mannequin,可以把他放在一个新的集合里隐藏。

 

2.基础骨架的构建

 

首先我们需要构建人物模型的基础骨架。

 

脊柱

 

设置光标到原点,新建一个单节骨骼,点选他进入编辑模式(一定要确保进入编辑模式再移动!不能改变它的原点位置——作为UE4编辑器内骨骼的root位置)放大一点,将他放置到人物的盆骨位置并调整大小。在属性——骨架属性——视图显示中调整他为始终在前。H键可以隐藏选中物体,alt+H可以显示所有隐藏物体。

z8vrsH0CMghrnKSKeSCc.png

现在,还是在编辑模式中,我们点选这根骨骼的上端使用E键进行扩展,创建三段脊柱,一段脖子和头部骨骼。

74sa8sOVU2nFb7cCpOXl.png

 

左腿

 

进入前视图,选择盆骨骨骼,按E键扩展生成一段临时骨骼,然后通过它生成左大腿——小腿——左足——趾尖,再选中临时骨骼删除它。

96CWiaNixxrdMMW6qWpi.png

这里我们可以通过一种方式调整关节的位置:进入物体模式,点选网格体,进入网格编辑的边模式

rRLG78bj5LmEGu5Q38gW.png

找到关节应该在的位置,使用alt+左键点选横边选择这一圈边,使用shift+S将光标移至所选位置。

CVdNjYBVROFz2c4UIFY8.png

现在回到物体模式,点选骨架,进入骨骼编辑模式,点选你要移动的关节,使用shift+s将所选移至光标位置

CMhhmjxaJhiRPOBykghE.png

这样我们就可以很方便的对其所需放置的关节位置。

 

左臂

 

现在构建上肢部分。从脊柱和脖子骨骼的中间关节创建一段临时骨骼,创建出我们的左肩膀骨骼,然后再创建一段临时骨骼,延伸出左上臂——小臂——左手

zpjzVy2d5bPQAPedw0tS.png

删除这两段虚拟骨骼。仔细观察UE4 Mannequin的肩膀位置!将肩膀骨骼调整到图示位置

PorGpLRD4zkfWeJmCRZS.png
jNsxXjUMjdAof5AztTD4.png

然后根据左腿部分调节关节位置的方法,调整好每个关节的位置。

 

左手

 

现在进入手掌部分的编辑。

从左手骨骼的末端延伸出一段虚拟骨骼,再延伸出食指的骨骼,删除这段虚拟骨骼(图中所选)。

ikqqdcuUbDixCyb4y4a1.png

在UE4 Mannequin的骨骼中,手掌骨骼的位置是稍微偏向食指的。

我们点选生成的手指骨骼,shift+D复制他到五个手指。

BTqC8ADDBJF5LTq8EGhq.png

将每一段手指骨骼细分成三节,使用之前的方法对齐到手指上的关节骨骼。

DJp05Z1mz2OsOt9EETuo.png

 

3.骨架的更名和坐标轴的修改

 

UBwEz8lzRiN8zMfYr46L.png

我们需要把创建的骨骼修改为和UE4骨骼同样的名字

脊柱部分:pelvis-spine_01-spine_02-spine_03-neck_01-head

左腿部分:thigh_l-calf_l-foot_l-ball_l

左臂部分:clavicle_l-upperarm_l-lowerarm_l-hand_l

五指:手指名(thumb,index,middle,ring,pinky)_001/002/003_l

这个部分可以使用最新版的uefy插件一键完成。点选blender上方选项卡的Scripting,选择uefy.py,点击运行,我们就可以在骨骼属性选项卡中看到UEFY面板。

Gr4ftGsK52mzAqkXAsDQ.png

点选对应骨骼段的第一根骨骼,在面板中选中对应骨骼链点击Rename Bones即可完成。

接下来我们需要调整骨骼的坐标轴朝向。在UE4中默认的骨骼坐标轴朝向规则如下:

脊柱和左大腿/小腿/肩膀/左上臂/下臂部分:X轴穿过网格体向网格体后方

左手手掌:穿过手掌向掌心

左手手指:向掌心

左脚脚掌:向Y轴正方向(模型左侧,前视图右侧)

左脚脚尖:向上(z轴正方向)

对于脊柱和上下肢的编辑我们可以使用shift点选多个,在UEFY面板中找到bone roll tools进行快速坐标轴旋转。

3DoND1e0EGyTfYpJV8bw.png

对于手指,我们可以只编辑01骨骼,然后用shift依次选择03-02-01,使用shift-N菜单中的活动骨骼进行快速调整。

至此。我们的骨架就创建完成了。在骨骼编辑模式全选骨架,右键点击对称即可快速生成右侧的骨骼。

 

在物体模式下shift依次选择网格体和骨架,使用ctrl+P选择自动生成权重的骨架依附即可绑定模型和骨骼

JojeBtWeYreAUX2YDj5K.png

在物体模式下shift依次选择骨架和网格体,进入权重绘制模式,在视图叠加层中选择权重绘制——零权重——活动项可以更好的观察自动生成的权重

ZQGlRLjfx0HtZwMlxJ1R.png

4.生成兼容rigify动画的骨架

 

调整导入的Mannequins

 

将Mannequin的脚骨骼末端对齐至脚趾骨骼的首端,将脚趾骨骼旋转-90度使其向前并缩放至正确大小,shift选择这两个骨骼右键点击镜像以应用至另一边

lObYsM9EF1wm1SXf9chb.png

返回物体模式。确认你的人物模型和骨架的旋转为(0,0,0),坐标为(0,0,0)并且缩放比例为(1,1,1)。

如果不是,分别选择他们使用CTRL+A应用所有变换。

w15Pot8G4oJypOtTLjh7.png

将光标移至原点,新建一个骨架Human(meta-rig)

如果找不到这个选项请确认自己已经开启rigify插件

uF6rZ64XLrI6NGqi2gAq.png

选择这个骨架,缩放至100倍大小,再手动调整至肩膀与我们创建的骨架对齐。

应用这个骨架上的全部变换。

372MATU01ndISkOhN3In.png

在uefy面板上设置好你的人物-UE4 Mannequin-metarig骨架的对应名称

点击Setup Character Bone Names,然后点击Pose Character,你的人物就会转换为与UE4 Mannequin 相同的A-POSE。

如果你的人物是从其他姿势转换到A-POSE,最好修改脚步骨骼让脚部垂直着地。

kfOGUa11Qqr9TtO0ydE4.png

在姿势模式下,选择一边骨骼,使用ctrl+C,Shift+Ctrl+V可以应用至另一边

xHhqVbjMi2au7thvHJdD.png

因为UE4 Mannequin的手指问题,你的人物骨骼可能手指会有问题。框选这些骨骼,使用alt+R来调整他们。

现在如果我们进入编辑模式我们会发现人物的姿势没有变化。要解决这个问题,我们先要进入物体模式,选择网格体,在属性栏的修改器属性中复制第一个修改器,然后应用新生成的那一个,选择骨架,进入姿势模式,使用CTRL+A应用当前姿势为休息姿势。

 

创建与rigify兼容的骨架

 

现在点击下方的Pose Metarig,metarig的姿势就会与你的骨架大致相同了。

7GlSqrkSI3kqgVPNZV2Z.png

我们还需要修改metarig的脊柱。隐藏除了两个骨架之外的所有物体,用shift选择两个骨架,进入编辑模式,隐藏除了脊柱之外的其他所有骨骼,在右视图中调整metarig的脊柱和我们创建的脊柱相同。

首先选择metarig脊柱对齐脖子位置。然后再分上下两段分别调整,使所有关节对齐。

进入物体模式,选择网格体,在属性菜单的修改器属性中应用所有修改器,在物体属性的关系中与父级断开联系。

3WTjgS4KC8ZXitw2exjN.png

 

现在,我们手动生成的骨架基本没有用了,我们隐藏他。将metarig置于前端,调整脚部骨骼

8Kk76MX2TllSReUsifKy.png

在前视图中将heel骨骼对齐至与脚掌同宽,两端Z轴值为0,在右视图中将两端对齐至水平之后移至脚跟处

qxBcRlMBczbbdeE21ms4.png

右键点击这根骨骼点击对称至另一端

回到物体模式,选择metarig。在属性面板-骨架属性-Rigify Buttons中点击Generate Rig即可生成兼容于Rigify的骨架。

现在,隐藏metarig,点击网格体,shift选择创建的新的骨架,CTRL+P选择骨架绑定。

X2c7nNFAboxYuUDlR1q9.png

现在在姿势模式下,点击新生成的Rigify骨架,在骨架属性的UEFY面板中点击Build Unreal Skeleton,再点击Weight Paint,我们就能使用Rigify调整它的姿势了。

如果我们需要更改权重的绑定或者增加新的骨骼,我们需要在图层的这三层中编辑:

9OvxwUEZOeVbiJiPao2E.png

只有这三层的骨骼会被导出至FBX中。新生成的关节也需要在这里绘制权重!

这三层中,左侧的是会被导出的骨骼,中间层是面部Rig骨骼,右侧层是IK虚拟控制骨骼的部分。

在姿势模式中,在Rig Layers shift选择Rig层可以去移动控制骨骼的位置,调整人物的姿势以制作动画。

FjePrBuRcoegltka6dAA.png

5.骨骼模型与动画的导出

 

使用Rigify制作动画的导出

 

首先,将rig和网格体放在同一个集合中,并且将rig重命名为Armature(否则在UE4中的骨架会多一层rig导致无法兼容!)如果我们要导出我们调好的动画和骨骼网格体,我们应该选择骨架和网格体,FBX导出设置应为导出选中物体,并且在骨架设置中去掉增加叶骨,勾选上仅使骨骼形变。

OkjHRavLPZeZ1f8fpy47.png

 

导入至UE4中时,骨骼网格体的骨架设置应为创建新的骨架。

 

导出兼容UE4 Mannequin的骨骼网格体以兼容虚幻引擎市场资源

 

我们需要在UEFY面板中点击Set Original Bone Rolls(会破坏Rigify骨骼!)

bhYU0Qn5ACoe1iN0Cj1m.png

然后再使用之前的设置导出。

导入至UE4中时,骨骼网格体的骨架设置应为UE4 Mannequin骨架。这样这个人物模型就可以使用市场上购买的动画资源了。

  • 允许他人重新传播作品,但他人重新传播时必须在所使用作品的正文开头的显著位置,注明用户的姓名、来源及其采用的知识共享协议,并与该作品在磨坊上的原发地址建立链接
  • 不可对作品做出任何形式的修改
  • 不可将作品进行商业性使用

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引