
大家好! 我们是
Banzai Games的开发工作室。 我们很高兴最终在这里打开我们的博客。 我们将撰写有关我们的技术,项目的文章,并分享公司生命中的故事。 第一个材料是对工作室创始人叶夫根尼·达宾(Yevgeny Dyabin)的访谈的译文,他从80lv版本开始就给同事们了。 在其中,他谈到了我们用于创建Cascadeur的基于物理学的动画的程序,以及它相对于Mocap动画的优势。
尤金,告诉我们一些有关您自己以及您现在正在做什么的事情。我是开发工作室Banzai Games的创始人和首席制作人。 我们的办公室位于莫斯科,主要合作伙伴是Nekki,我们正在为其开发多个项目,包括旗舰移动格斗游戏
Shadow Fight 3 。 我从事制作和游戏设计,并参与游戏机制的开发。 但是很长一段时间以来,我对动画这个主题非常感兴趣,而动画在我们的项目中起着关键作用。 多年来,我们与动画师一起开发了一种特殊的方法来创建动画并将其用于我们的软件中。 于是出现了Cascadeur-一种无需使用运动捕捉即可创建物理上正确的动画的程序。
现代游戏具有非常先进的动画,但是大多数都是使用简单的关键帧或使用动作捕捉在Maya中创建的。 这些方法的局限性是什么,它们如何使简单的任务复杂化?我同意当今游戏中的动画非常先进。 创造它的人有丰富的经验。 但是,无论您有多专业,都很难创建出令人难以置信的动画,甚至连立方体都在关键帧中掉到桌子上。 当然,许多人会注意到动画是手工制作的,与立方体在现实生活中的下落方式不同。 因此,逐帧动画的主要问题是难以获得物理上正确的结果。
另一方面,mocap看起来很逼真,但由于演员和特技演员而受到限制。 因此,仅在游戏中还不够。 您需要对动画进行更多控制-精确的定时,运动参数,例如,跳跃的高度和范围。 从演员那里很难做到所有这些,一个人的许多动作根本不可能,或者只有少数动作可以实现。
例如,您将找到一名武术家,并跳起一脚。 但是,当您使动画适应游戏设计的要求时,或者如果您想使打击更加强大,那么很可能会违反物理定律-并且移动将变得难以置信。
更不用说游戏中充满了怪物,这些怪物的动作很难从一个人身上移除。
Cascadeur如何解决这些问题? 您如何应用迪士尼的12条原则来创建此程序?
我们添加到动画处理过程中的第一件事是物理骨架。 它连接到角色的装备,并且在创建动画时,还可以对实体的移动进行动画处理。 我们的工具会提供有关它们的信息,对其进行分析并向您显示姿势或运动的物理特征。
此外,我们还有用于编辑动画物理特征的工具。 例如,当角色进行后空翻时,跳跃中的角动量应保持不变。 如果不考虑这一点,那么筋斗看起来是不现实的。 并且我们的程序试图找到一个旋转选项,以使角动量保持不变。
为了寻找这样的解决方案,程序内部进行了许多物理计算。 这种方法使您可以在程序本身中创建整个动画,并且结果在物理上是正确的。
至于迪斯尼的12条原则:如果仔细观察,几乎所有这些都考虑到了物理学。 但是当动画师在没有精确建模的情况下模仿它时,他被迫夸大,夸大了物理定律。 因此,我们得到了富有表现力的卡通动画。 出乎意料的是,如果您严格遵守物理学定律,那么迪士尼的许多原理就是惯性的结果。 但是主要的区别是,通过精确的物理模拟,我们可以避免卡通效果。
在旧金山的动画训练营中,您说过许多逼真的动画(例如头发,组织和肌肉)只是一种模拟。 那么为什么我们不仅在动画片中而且还在大型AAA项目中仍然使用关键帧? 在这里,开发人员创建了动画,但被迫手动对其进行额外的编辑。 怎么了通常,模拟仅用于“次级”运动。 也就是说,您具有角色的某种基本动画,并且您想知道他的头发和衣服将如何与她互动。 同时,次要动画不会影响主要动画。 但是角色身体的动画取决于其所有部分。 如果在现实生活中挥手,将会影响整个身体的旋转。 这就是为什么在不违反真实感的情况下编辑运动捕捉动画如此困难的原因。 而且几乎总是需要对这种动画进行更改。 即使在生产的后期阶段,也会经常出现一些新的要求和想法。
此外,有时在游戏中,您需要借助Mocap无法实现的动作。 例如,您需要一个角色跳到高于生理可能的水平。 或者您有一款格斗游戏(例如《暗影格斗3》),其中所有动作(包括跳跃)都很快发生-因为这对游戏玩法很重要。 只有在这里,在地球引力作用下的跳跃总是很慢的。 因此,您将需要增加重力,这在Shadow Fight 3中用于所有跳跃。
通常,角色动画的主要问题是动画师对结果的控制。 即使我们总有一天会创建一个可以创建并模拟角色动作的神经网络,仍然存在一个问题:我们如何向神经网络传达它应该创建什么样的动作? 如何向她解释我们到底想要什么?
因此,需要一种综合的方法:动画师应具有动画编辑工具,人工智能应帮助他获得高质量和逼真的效果。 现在,Cascadeur只帮助我们进行物理学,但我们不会止步于此。
模拟两足动物角色的问题是什么? 是什么使它们如此难以使用,以及如何避免Cascadeur的“险恶谷”效应?平均而言,两条腿的人物在每个时间点的支持点更少,这意味着您必须更加注意保持平衡。 为了使所有这些看起来现实,您必须考虑物理学。
制作动画时很难欺骗人眼。 如果即使在制作最简单的动画时都违反了物理定律,则一个人会注意到这一点。 简单对象的物理建模并不困难,但是整个角色要复杂得多。 这就是为什么Mocap如此重要的原因:使用此技术记录了技巧的人会根据物理定律执行技巧。 他不能否则。 没错,这主要适用于人形角色。
因此,如果我们想避免“险恶的山谷”效应并使观看者相信正在发生的事情,则该机芯不仅应美观,而且还应考虑物理定律。 动画师在摆姿势和运动美感方面做得很出色,但是几乎不可能考虑到物理因素。 Cascadeur可以为此提供帮助。
Cascadeur的作品就像某种魔术。 您能否谈谈它的工作原理以及在开发游戏时如何使用它?回到技术上-我们现在拥有的,我绝对不会称之为魔术。 我自己很惊讶,您在Cascadeur中看到的工具在大多数旨在与动画一起使用的3D软件包中没有默认包含。
我们的管道如下所示。 动画师创建动画的草图-关键姿势和插值。 在草拟草图的过程中,他可以看到质心及其轨迹。 动画师可以标记角色的支撑点,使质心的轨迹物理上正确,并使用我们的工具正确旋转整个角色。 我们的算法尝试保留草稿中的角色姿势,但是要获得所需的结果,您只需要在过程中进行某些编辑,然后观察这会对整个动画产生怎样的影响。 最重要的是,动画师可以根据需要修改动画,同时保持物理正确性。
如果我们能够自动化这些工具,那将像魔术一样-它们将为动画师提供物理上正确的结果,而无需他的任何努力。 但是就目前而言,这正是仍然需要掌握的工具。
模拟进展如何? 你有运动基地吗? 您是否模拟了人体运动的整个物理过程? 例如,您给身体的每个部分提供特定的物理属性,动量和矢量,然后看看会发生什么?动画师首先绘制草图。 在其中,我们在每个帧中都有角色姿势-关键帧和插值帧。 如果我们直接模拟这些姿势,我们将看到角色在精确考虑身体部位相对于彼此的运动时将如何运动。 最有可能的是,这将导致以下事实,即角色只是掉下来了,而动画师是不希望的。 因此,我们从另一侧进来。
例如,如果角色跳跃,那么我们知道跳跃从哪个位置开始,在哪个位置结束。 动画师可以标记对他很重要的中间帧。 此外,该算法在每个帧中移动和旋转角色,以便其质心沿弹道曲线移动,并保留了角动量。 同时,算法尝试保存每个姿势并使动画尽可能接近原始草稿。 如果有支持的要点,任务将变得更加困难,但本质是相同的。
动画师可以更改动画,并观察动画如何影响结果。 我们越接近期望的结果,对物理的改变就越不严重。 您可以根据需要尽可能地研磨和改进动画。
让我们谈谈您的智力系统的进一步发展。 您是否有一个神经网络研究您的所有运动?我们方法的一个特点是我们希望赋予动画师对结果的完全控制权。 无论我们的智能系统做什么,这些只是对改善已创建动画的纠正和建议。 现在仅仅是物理学。 但是我们也正在探索动画师如何帮助身体部位的姿势和轨迹。 我们有能力训练神经网络,以区分曲线中的自然姿势和不自然的姿势。
我们将此概念称为“绿色幽灵”。 在我们的梦中,它看起来是这样的:动画师摆出关键姿势,而人工智能本身可以理解支点在哪里,跳跃在哪里开始和结束以及它们的高度是多少。 该系统不仅可以提供正确的物理特性,而且还可以为人体的每个部位提供自然的姿势和轨迹。 动画师以绿色鬼魂的形式观察到这一点,该动画与动画草稿平行移动。
当已经在创建动画的第一阶段时,您可能会在Phantom上看到适合您的结果并将其复制到自己的情况,这是有可能的。 但是,如果这不是您所需要的,则可以继续工作,添加更多键,更改姿势-Ghost将考虑所有这些。 您可以随时复制自己喜欢的姿势和片段。 因此,人与AI携手合作,相互接近。
这种方法可以节省大量时间,因为运动的概念通常在几帧内就已经很清楚了。 动画师90%的时间不花在创造力上,而是花在对最终结果的例行抛光上。
您打算如何分发Cascadeur?我们尚未准备好谈论发行,因为 我们的程序尚未正式发布;无法购买。 但是我们启动了封闭Beta测试。 您可以亲自熟悉该程序-为此,您需要在
cascadeur.com网站上提交申请,我们将在2周内向您发送下载链接。
由于我们的工具尚未可供公众使用,因此该版本目前不包含索具。 但是,如果您现在想在项目开发中使用Cascadeur,那么我们愿意进行对话。 而且,如果您想在自己的模型上测试Cascadeur,我们准备为您制作个人装备。 说明将在Beta测试邀请函中。
目前,我们支持.fbx导出,这使得使用Unity和Unreal成为可能。 将来,我们希望增加对更多游戏引擎的支持。 还值得补充的是,尽管我们主要关注动作动画,但我们的目标是涵盖所有必要的动画工具集,以便您可以从头开始创建任何复杂的动画。
一个Cascadeur项目需要一个C ++开发人员。 在此处阅读有关空缺的更多信息。
请继续关注Cascadeur开发新闻:
脸书VKontakte优酷