查看原文
其他

让机器自己学动画?基于UE开发的机器学习转换动画

CG世界 CG世界 2022-05-24
点击上方蓝字CG世界关注我们
“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”
中国很有影响力影视特效CG动画领域自媒体


这几年,我们CG世界一直在关注机器学习,人工智能在CG行业的发展与应用。在技术高速发展的今天,很多传统流程都被一些新技术和新的方法所取代。比如我们之前多次提到的通过人工智能Roto、还有去年我们发布的一篇关于通过人工智能来做场景原画的,等等吧。当然,这些技术在距离真正的项目应用上还有很大差距的,但不可否认的是人工智能正在慢慢走入我们的制作流程。


 

动画制作流程一直被认为是最为不可被人工智能所代替的一个环节,因为涉及到很多自然,流畅,还有需要夸张的一些处理手法都是需要人为根据情节制作的,但往往越是这样想,却很容易被技术颠覆。在很早时候我们发表一篇关于四足动物机器学习动画走路的技术。大家还记得不?就是称为模式自适应神经网络的实时四足运动合成的新方法。系统以非结构化运动捕捉数据以端到端的方式进行训练,而不需要相位或运动步态的标记。这个系统可用于制作游戏和电影中的自然流畅动画,达到的质量可实际应用, 是可以在Unity 3D引擎和TensorFlow中执行的▼



这是2018年的一篇论文,目前好像还没有应用到实际项目中。但这几年中很多公司开始研究相关技术,并应用到实际中,比如今天我们介绍的这家公司Embark Studios。最近他们在Vimo平台发布了一段演示视频,视频中一个六条腿的机器人,通过机器学习自己学习走路并转换成动画。



我们如何利用机器学习来彻底改变动画工作流程,教授基于物理的人工智能代理独立行走,而不是手动K关键帧设置动画?这是Embark Studios一直以来研究的问题!


Embark Studios是由几位行业大咖在2018年建立公司,主要以技术为驱动来促进游戏和CG制作上的改进和发展。他们网站发表了很多技术内容,比如一键式摄影测量生成,Blender在游戏中的开发还有以全新方式创建游戏等等。



一直以来Embark的发展都在围绕使用机器学习自动完成游戏动画的工作。动画是所有游戏开发中的一大瓶颈。 很多时候必须手动设计和编排角色或生物脚本,实现与世界的看似现实的互动。那么在不扩大游戏团队的情况下这就很难实现规模化。


在过去的两年中,Embark一直在基于强化学习的物理动画方面不断做研究和开发。 简单的说就是他们训练基于物理的机器走路,通过奖励来让它们按照制作人的要求去做事,就像现实世界中训练狗狗一样,做对了就给喂它们好吃的作为奖励。而这里它们奖励的是虚拟狗零食。听起来是不是很有趣?



有人会问这样做有什么意义么?对于游戏来说机器学习的动作行为可以带来更沉浸和有趣的游戏体验感,让游戏世界变得真正有活力。不像原来传统游戏那样都是预先制作好的动画,动作姿势之间的过渡也卡顿,还有些奇怪的布偶动画。


在这个机器学习的世界里你可以把它想象成AI玩家,观察它的身体和周围的世界;并决定如何在接下来的几帧中移动腿。也就是说,如果代理(这里指的是机器人)发生碰撞、被攻击或自身产生某种力,它可以自己对遇到的状况作出自己的临场反应。如果在岩石上绊倒或被雪球击中,每次都会做一些出乎意料的游戏情节。


在下面这个动图中你会看到机器人朝着目标前进的过程中被物体击中后,它会做出反应并尝试在产生影响后实现平衡和恢复。



下面的动图你可以看到这个机甲已经学会了穿越复杂的环境,轻松地攀爬困难和不平的地形。



这样一来,在这个新的程序世界里,动画师可能就不是制作动画的动画师了。不需要你每天坐在那吭哧吭哧的绘制动画曲线、K关键帧或混合动画了。而是变成了训练师,就像我们平时训练家里的狗狗一样,教他们起坐。为什么不让工程师从算法的角度来做的,要用动画师来做呢?因为动画师“独具慧眼”,能观察细节,比如哪里看起来好看,动作是否正确,看起来是否真实等等。他们可直接感觉和意图的最后一个动作,而不再是自己移动每一条腿和胳膊的姿势。


那么在这个新工作流程中,开发工程师所做的工作是描述机器学习应该尊重的运动行为,而不是决定动画曲线。同样,游戏设计师也无法决定一个角色的确切动作。相反,设计师提供目标和指示,然后由角色根据其训练方式来实现。


大家在视频中看到的所有破坏因素都是在游戏引擎中实现的。只是为了做研究使用了完全不同的设置,专注于科学精确的高分辨率物理计算。另一方面,需要将性能考虑在内,且必须设计为用物理正确性换取更高帧速率的引擎中工作。


所以开发团队在UE中构建了自己的机器学习平台、基础设施和插件,同时还围绕物理引擎构建层,改进和控制其模拟能力,从而得到想要的结果。


当然了,到目前为止还只是起步阶段,只是小小的一步,在这个研究过程中也是经历各种测试,失败,再迭代,再测试的过程,但看目前的结果还是不错的。你想想在一个虚拟世界中,一个可以自学成才,以物理为基础的生物角色自己可以行走移动并对周围环境做出反应,试图保持自身的平衡时多么有意思的一件事,就像你在跟一个活的东西进行“沟通”,当你向它扔东西或拿走一根肢体时,它也会继续朝前移动,很强的说。这种动画的制作过程不再枯燥无味,而是变成了一场训练,而且在制作过程有着更多出现的意外收获。


全文完


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存