一个专注音视频领域问答的小圈子

最近在学习 UE 相关的使用,正好看到一篇文章讲解用 Control Rig 实现简单捏脸功能,这种小而美的完整案例挺适合来练手的,涉及到了 UI、蓝图、动画、骨骼等方面,值得推荐一下。

从这个小功能出发,在学习其他内容时如果有个简单案例可以将一系列功能点都串起来,那么往往会起到事半功倍的效果。

正好我也实现了一个简单捏脸效果,视频号里分享一下:

欢迎大家关注我的视频号,后续考虑更多地以视频形式来展示内容。

接下来就是这个捏脸功能的实现逻辑了。底层的实现很复杂,很多都是由 UE 虚幻引擎来提供的,但是理论上的实现很简单,体现在个人上更多的是操作经验。

UE 在导入人物模型时会带有一个骨架,如下图所示。人物的行动就是由一根根骨骼的变化来实现的,而面部的捏脸调节也是基于这一点。通过改变脸部相关骨骼的位置从而实现面部的变形,间接达到一个类似捏脸的效果。

由于不会 3D 建模,使用了 UE 提供的免费模型。图上这个就是 “虚幻争霸:心菲” 模型了。

想要调节人物的骨骼,就要用到 Control Rig 插件功能了。它是一套骨骼绑定系统,可以对人物的骨骼建立相关的控制点,然后通过调节控制点的变换,就实现对骨骼的变换啦。

如下图所示,针对眉毛、眼睛、鼻子、脸颊、嘴唇这五个部位建立了相应的控制点。

控制点的性质、颜色以及位置都是可以调节的,建立的时候要选择好相应的骨骼位置。这个地方其实挺考验审美的,因为我只是写个小功能,就没有用到很复杂的骨骼,但是很逼真的调节效果就需要反复打磨骨骼模型以及控制点了。

然后就是在蓝图中把骨骼和控制点的变换进行关联,并且暴露相关的调整参数让外部进行调整。

由于 UE 的很多功能都是由蓝图来实现的,也不太好贴代码,就只能贴个蓝图的连接了,比拼一下谁的蓝图连线方式更优雅~~

完成了骨骼和控制点的绑定之后,就可以在动画蓝图中设置人物的姿势是由 Control Rig 调整后的姿势(哪怕就是调整了个脸部)。

在动画蓝图中增加了几个变量去调节 Control Rig 中控制点的范围,这几个变量的值是由 UI 界面中的滑竿来调节的,并且在动画每次更新时都会更新这些值。

这里用代码来实现了 UE 中的一个子系统 FaceEditSubsystem ,主要功能就是用来存储数据的值,并且它可以在动画蓝图和 UI 蓝图中访问到,这一点很重要,否则这两个蓝图无法建立数据上的关联了。

接下来就是设置 UI 界面了,和用 Android Studio 操作界面差不多,拖一下控件绑定相关事件就好,具体效果就和上面视频展示的一样了。

完整了上面全部功能之后,再把相机位置调整一下对准人物的脸部,就可以看到运行效果啦。

总结一下整体的实现就如上面所说,UE 虚幻引擎提供的功能很强大,强大到只要熟练一点使用就可以实现一点小功能了,而这些功能的实现都可以不需要一行行代码的。

那么问题来了,在这种情况下,程序员学习 UE 怎样才能算是有自己的独特竞争力呢?莫非要比拼对 UE 软件的使用熟练度吗?那反而还失去了程序员的编码能力,恐怕还是要深入其源码,研究更多的底层功能实现。

知识星球

一个专注音视频领域问答的小圈子

公众号音视频开发进阶对应的知识星球,一个编程开发领域的专业圈子,贩卖知识和技巧!

※ 入群须知:了解该星球能提供的价值和帮助,在提问时务必阐述好背景,附带相关的信息。

iOS 用户可以加我微信 ezglumes 邀请你进星球,有疑问也可以加我微信咨询。

※ 星球内容:

基础教程:

在知识星球连载的干货教程,可以在专栏中找到,随着时间的推移,教程也会越来越多:

- 音视频基础概念
- WebRTC 入门教程及源码实践
- 播放器教程及源码实践
- OpenGL 和特效开发教程
- Vulkan 入门教程

部分内容可以在博客 https://glumes.com 中检索到,后面会在星球里持续更新.

干货分享:

涵盖了移动开发和音视频工程领域的绝大部分,从项目实战角度出发,提升能力,包括但不限于以下领域:

- Android/iOS 移动开发
- Camera 开发
- 短视频编辑 SDK 项目实践
- 在线直播和推流
- WebRTC 开发
- 播放器基础和提高
- OpenGL 图像渲染及特效开发
- C++ 基础和提高
- FFmpeg 使用和分析
- 干货资源和书籍分享

不止于技术方面的,各种 IT 新闻、茶余饭后、生活趣事也欢迎大家分享!!!

技术答疑解惑:

针对上述基础教程和干货分享的答疑,另外还有音视频和 IT 开发中的各种交流讨论。

- 基础知识点答疑
- 工业项目实践答疑
- 问题排查思路分析

一个 BUG 排查很久,不如来星球里提个问题,效率提升百倍。

求职和面试辅导:

一站式职场服务,每份工作都值得用心对待!!!

- 面试题和面试经验分享
- 简历修改和模拟面试
- 大厂内推和信息同步
- 职场经验分享
- 职业规划和发展分析

※ 星主和合伙人介绍

星主是公众号音视频开发进阶的作者,也是网站 https://glumes.com 的作者,曾参与过抖音、剪映等头部音视频 APP 底层 SDK 的开发。

合伙人也是在头条、快手从事音视频架构师的职位,具有多年的音视频开发经验,能力圈覆盖了音视频的绝大多数领域,资深音视频从业人员为你保驾护航。

微信公众号

扫描下面的二维码关注我的微信公众号《音视频开发进阶》,推送更多精彩内容!

添加我的微信 ezglumes 拉你入音视频与图形图像技术群一起交流学习~

wechat-account-qrcode

原创文章,转载请注明来源:    用 UE4 虚幻引擎做个捏脸小功能~~