FFXV游戏中的物理模拟(下)

FFXV实现风和草木的表现

FFXV,因为是以开放世界为舞台的游戏,【风】也是重要的表现要素。

在FFXV中,通过带有【影像范围】【3D方向】要素的Wave函数,实现了关卡设计师可以在游戏世界的任意场所设定吹风的结构。

FFXV XV的效果目标:自然的看不出是用程序化(Procedural)的力量实现的风。

FFXV游戏中的物理模拟(下)_第1张图片

单纯【设定Wave函数】的话,美术师制作设定数据很难。最后的实现方法是引擎团队开发了可以在关卡编辑器上绘制吹风情况的UI,提供给美术师使用。只是设定Wave函数的话,美术师很难工作。

FFXV游戏中的物理模拟(下)_第2张图片
FFXV游戏中的物理模拟(下)_第3张图片
FFXV游戏中的物理模拟(下)_第4张图片

开发团队设计出用绘画UI的方式让美术师直观的设定风参数的结构。这样,通过这种结构实现的随风飘动的草木,最初一看的话是有枝叶和茎的,而实际是在板型多边形上贴了草木Texture的Billboard。

Billboard如何实现了【随风飘动】的表现?Rungjiratananon说明是制作了用颜色的浓淡来表示【受风的影像的弯曲程度】的UI,通过视觉的感受来进行设定。设定的单位是顶点单位,对顶点颜色做设定。具体操作上,设置深色的顶点,则物体更容易受到风的影响而运动。

还有,Billboard还可以实现随风飘动时,设定伸缩的上限。风到什么强度,草木就不会伸展,设定了控制过度伸长的结构。

FFXV游戏中的物理模拟(下)_第5张图片

板型多边形表现的草木Billboard的随风飘动的情况和伸展控制,也可以通过绘制来设定。还有,因为风的运动太有规则的话,看起来像在作假,在通过Wave函数生成风的强弱和方向上,导入增加Noise的结构,使用【不规则的Texture】来给予风的强弱。例如用【V字形状分布浓淡的Texture】给予广阔草原上吹风的效果。可以做出草原在V字型上随风飘动的表现。

FFXV游戏中的物理模拟(下)_第6张图片

在Wave函数里加入Noise,就增加了吹风的不规则性,尽管如此,还是有不足的情况。

FFXV游戏中的物理模拟(下)_第7张图片

为了表现立体的风的强弱,用浓淡Texture来设定强弱。通过这个,可以使用Texture给予的体积形状让草木随风飘动。

回过头来,因为草木是用Billboard来表现的,看到的枝叶也实际是板型的多边形。虽然草木做倾斜飘动的动作时,板型多边形也会倾斜摇动,但草木产生的阴影并没有变化。FFXV里,在对受风倾斜的草木Billboard做光照时,旋转草木Billboard的法线向量,也加入了扰动的动画,实现了对现实世界中阴影的模拟。

FFXV游戏中的物理模拟(下)_第8张图片
FFXV游戏中的物理模拟(下)_第9张图片

随风飘动的草木阴影的复杂变化的表现,是通过法线的扰动和旋转来实现的。

以上完全是Fake的手法,因为法线方向是随着随风摇动的来扰动的,这样草木Billboard的光照条件每次都会变化,阴影也跟着变化。远处看的话,枝叶是以复杂的方向变化的,看起来相当真实,所以是相当好的方法。

研究者眼中:游戏业界快乐的地方

1、在各种混合环境中进行开发,譬如说最新的大制作游戏,是由物理和数学、AI和光学等各种各种的计算机科学组合而成,作为研究主题非常具有挑战性。

2、虽然在基础方面,还是有很强硬的科学技术作为支撑,但通过种种Fake和Trick技术手法,超越现实的制作出有很高说服力的假想世界,这也是游戏开发行业才具有的独特魅力。

3、除此之外,使用顶级美术师制作的高品位角色3D模型,进行各种技术的实验也很有意思。各个领域的优秀人才,拿出各自专业领域的知识,协作进行同一个内容制作的过程也很有意思。这个属于SQUARE ENIX的企业文化,各种专业人士联合工作的快乐。

总结

游戏开发,本身就是一门艺术,这样的艺术,是结合各种工业产业,现实产业,生命发展的。在游戏这个领域,我们可以做我们想做,我们可以实现我们想实现,我们可以尝试我们曾经不敢尝试的。每一个游戏开发者,都是灵魂设计师,他们把自己的,大家的,世界的万千设想用更直观,更贴近生活的方式展示出来。游戏,是本身就具备超强感染力的虚拟产物,他甚至可以带动一大批现实中很多领域的快速发展。而游戏本身,也是一个非常非常复杂的软件,难以驾驭的技术。所以,游戏业是快乐的,他是开发者缔造的幸福世界,他是开发者撰写的梦想世界,也是开发者展示自我世界的。


本文作者:Garfield,现任职于点融技术部Social团队,游戏引擎 tyo Engine 及 tyo Engine Revolution作者,对尖端渲染技术拥有浓厚兴趣,曾就职于多家游戏大厂参与游戏引擎研发相关工作。

你可能感兴趣的:(FFXV游戏中的物理模拟(下))