Advertisement

关于游戏《孢子》的思考——Metaball的逻辑及其实现也引发了一系列思考

阅读量:

这篇博文阐述了Metaball所涉及的原理,并呈现了我对相关问题的一些见解。

背景

在游戏《孢子》中,由于需要处理的是由玩家自由操控的、完全无法预知的Skeleton Mesh,因此每当玩家对躯干进行调整或增减操作时,系统必须即时生成相应的蒙皮数据。为实现这一目标,《孢子》采用了Blobby implicit surface(通常也称为Metaball)来表达蒙皮信息。

Metaball技术原理与应用

设定场函数D(r) = \frac{1}{r^2}以及在三维空间中分布的一组控制点,其中r表示三维空间中任意一点与控制点之间的距离,而该点所处场的强度则可视为由所有控制点所产生的场强叠加而成。

基于上述设定,若预先确定一个强度值,并在三维空间中描绘出等势面,该等势面即为Metaball的形态。

如图所示,当多个Metaball相互靠近时,其对应的顶点将受到相邻控制点的影响,从而产生相应的变化。

Image

当所控制的图元

全部评论 (0)

还没有任何评论哟~