真实感设计:计算机图形中的物理学应用探索

企业   2024-08-26 15:19   北京  

视觉媒体的趋势之一是对真实感和图形保真度的要求越来越高,这在真人实景拍摄中表现得最为明显,也是情理之中的,由于实景媒体本身就具有真实感,因为在真人作品中使用视觉特效时,这些特效也必须同样逼真,才能避免突兀。

完全实现照片级别的视觉效果并不容易,有时甚至没必要。事实证明,只用在整体风格化的图像中添加一定程度的现实主义元素,就足以显著提升其外观效果。例如,即使是最简单的场景,复杂的光照效果也能带来非一般的改善。

相同的场景、相同的灯光设置,但结果完全不同,唯一的区别是计算灯光的算法。动画也是如此,即使是完全夸张的特技动作,如果看起来像是可能在现实生活中发生的事情,也会显得更好。那么,我们如果提高作品的逼真度呢?

通常,这需要通过研究参考文献和仔细复制现实生活中的例子来实现,但随着技术不断进步,如今我们知道,要让某些东西看起来真实意味着使其符合物理定律。


在今天,物理学在计算机图形技术中得到了广泛的应用,最好的例子之一就是“基于物理的渲染(Physically Based Rendering)”简称PBR,一种高级的图像可视化方法,它指的是一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。正因为基于物理的渲染目的便是为了使用一种更符合物理学规律的方式来模拟光线,因此这种渲染方式与我们原来的Phong或者Blinn-Phong光照算法相比总体上看起来要更真实一些。除了看起来更好些以外,由于它与物理性质非常接近,因此我们以直接以物理参数为依据来编写表面材质,而不必依靠粗劣的修改与调整来让光照效果看上去正常。使用基于物理参数的方法来编写材质还有一个更大的好处,就是不论光照条件如何,这些材质看上去都会是正确的,而在非PBR的渲染管线当中有些东西就不会那么真实了。

虽然如此,基于物理的渲染仍然只是对基于物理原理的现实世界的一种近似,这也就是为什么它被称为基于物理的着色(Physically based Shading) 而非物理着色(Physical Shading)的原因。判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件:

1、基于微平面的表面模型

2、能量守恒

3、应用基于物理的BRDF

通过 PBR,计算机图形学能够更准确地模拟现实世界中的光照和材质行为,使虚拟世界中的视觉效果更加真实和自然。


随着计算机技术的发展,逐渐引入了刚体动力学模型,用于模拟物体的运动和碰撞。这些模型遵循牛顿力学原理,计算物体在力和碰撞下的运动轨迹。

在这里,我们有基本的几何形状,一些基本的物理定律,主要是重力和摩擦一一被应用到这些形状上。这样的场景最早是在商业广告、电影和电视节目等预渲染作品中引入的。但是,这种物理模拟不需要过于复杂的计算,因此随着技术的进步,它们也开始出现在实时应用中,并且仍然被广泛使用。


还有布料模拟,也是物理模拟中一个重要的课题,它涉及模拟布料在不同条件下的行为和表现。

另外一个例子是流体动力学。在这里,大量的物理体被用来模拟近似水体的运动:

与前面的例子相比,这样的场景确实需要相当多的计算处理能力。在很长一段时间内,这限制了它们在预渲染媒体上的适用性,尽管今天简化的版本开始进入实时渲染领域。

虽然这些东西看起来非常令人印象深刻,但任何叙事作品的核心都是人物。动画人物不是一项简单的任务,尤其是当动画看起来很逼真的时候。那么,我们如何将物理学应用于角色动画呢?


看电影或玩电子游戏时,我们有时会注意到一些看起来不对劲的场景。但大多数时候,我们无法解释到底哪里出了问题。例如,我们可能看不到演员身上的钢丝,但我们的直觉告诉自己,他们的动作不正常。然而,这种感觉并不会欺骗我们,我们的大脑可以轻松识别不切实际的动作,换句话说,我们总是能注意到动画在物理上不正确的情况。

迪士尼12项动画原则很好的展示了如何制作动画,但它们并没有告诉我们如何让动画变得逼真。

这些原理是在 20 世纪 30 年代提出的,至今仍被用作现代动画的基础。

2022年,索尼动画总监杰里米·坎托在迪士尼的12项原则的基础上补充了自己的12项原则。他们通过引入作用于角色的力量,提高了人们对如何制作更好动画的理解。这些力量可以是内部力量,例如重量或肌肉运动,也可以是外部力量,例如重力或与空气、水或其他角色的相互作用。

这些条件必须由动画师手动施加,它们可以改善动画的外观和感觉,但实际上并不能使其更加逼真。制作逼真动画的关键是考虑施加在角色身上的真实物理效果,以及这些效果来自何处。这就是动作捕捉可以帮助我们解决的问题。因为它是在现实生活中完成的,所以它将捕捉到自然受到这些力量影响的动作。

动作捕捉并不总是解决方案。即使是一个简单的马戏场景,也需要租用宽敞的场地、支付喂养和照料马的费用、支付事后清理费用等。但至少你不会遇到找不到马的问题,因为它存在于现实生活中,但当你需要一条龙或一个超级英雄时,动作捕捉就无能为力了。

下一个步骤就是将物理模拟直接集成到角色动画中。

通常,经典的动画方法不包括任何物理工具。角色的移动方式完全由制作动画的人决定,尽管动画师有时严重依赖现实生活中的参考,但他们的主要目标始终是艺术意图。

此外,传统的动画流程实际上不允许将任何类型的物理模拟集成到自身中。即使将此流程改编为 3D 动画,这种情况也没有真正改变。直到今天,动画仍需要手动完成,一些顶级动画师很少使用重心控制器之类的东西。

然而,最近,这种情况开始发生变化。视觉保真度水平的提高导致对动画真实感的需求增加,这反过来又要求进行各种实验将物理与角色动画相结合。今天,我们有几种并行的方法来完成这项任务:

第一种方法是 Ziva VFX (https://zivadynamics.com/ziva-vfx) 等解决方案:

这是Maya的一个插件,旨在模拟皮肤、脂肪和肌肉等软组织。它的工作原理是让3D艺术家定义这些组织是什么,它们如何连接到骨骼和彼此,然后软件计算当骨骼移动时它们将如何移动、变形和相互作用。在某种程度上,这是一种“反向”解决方案:肌肉不会像在现实生活中那样移动骨骼,而是自己与骨骼一起移动。

即使这种模拟不会影响动画本身,但将其应用于任何动画都会大大增强它给观众的印象。

但尽管令人印象深刻,这种效果仍然依赖于已经存在的动画。因此,从逻辑上讲,下一步应该是使用物理学来生成姿势和动作本身。

另一种方法是使用物理学来计算实际的角色姿势,这里的总体思路类似于布娃娃物理:角色被表示为多个相互连接的刚体,用于确定角色的身体在任何给定姿势下的反应。然而,这些数据并不是用来简单地让角色跌倒的:相反,它与已经存在的角色动画混合在一起。这样做会给动画增加一种重量感和惯性感,使其看起来更加逼真。

虽然这种方法本身不会产生任何动画,但它极大的简化了实现物理准确运动的任务,而且同样重要的是,它保留了完全控制最终结果的能力,在某种程度上,这是两全其美的。

另一种方法是使用人工智能来实际移动角色。这种方法也使用类似布娃娃系统设置的角色简化表示,但它也依赖于参考动画来“了解”角色应该如何移动和其他行为。该系统使用从参考资料中获取的数据来尝试让物理模型执行特定任务,例如移动到特定位置,抓取或击打特定物体等等。这个过程几乎完全自动化,除了提供参考资料和设置任务之外,几乎不需要用户输入。

此外,最终结果可以很容易定制,因此实际上有无限的变化,使这种方法对许多任务非常有用。例如,它可以用来修改现有的动作,或者产生相同动作的许多变化。

这种方法也有缺点:需要大量的时间来训练一个角色执行某些动作,结果可能不稳定,训练算法中的错误并不总是容易修复。此外,上述的“没有用户输入”意味着对最终结果几乎没有控制。将来,这种方法很可能会发展成为角色动画最有趣的技术之一,但目前它仍然只是一种概念证明,而不是适合实际使用的工具。

因此,我们可以看到,在图形学领域中,有很多方法可以运用物理原理。如果使用得当,这些解决方案中的每一个都可以产生令人印象深刻的效果。目前,还没有一个单一的、一体化的解决方案可以制作物理正确的动画,只有几个针对特定情况的小规模解决方案,基于物理学的动画还不是一个成熟的概念,而是一系列技术的集合。这是可以理解的,这个领域仍然非常新,甚至使用物理定律增强或生成动画的想法还不是被广泛接受的。

但正是因为它如此新颖,基于物理学的动画近年来取得了巨大的进步,而且没有显示出放缓的迹象。随着时间的推移,它可能会导致更通用的动画解决方案的出现,但我们可以肯定的是,它肯定会给我们带来一些新的令人兴奋的物理工具。

参考资料:

https://80.lv/articles/cascadeur-research-physics-in-animation

https://cascadeur.com/blog/general/physics-in-animation


扫码进群

转载时请连同下方内容一起转发

请与该公众号联系获取内容授权

长按二维码   轻松关注

微信公众号:i58UXD

58同城用户体验设计中心




58UXD
58同城用户体验设计中心
 最新文章