有关Spore建模技术的猜测

预定于今年9月份发售的Spore已经吸引媒体的眼球超过4年了。自从GDC2004 Will Wright关于Spore的一部带demo的演讲[1],有关它的实现细节已经陆续暴露出来了,尤其是GDC2007 Chris Hecker关于带语义的动画编辑[2]。

我想讨论的是关于它procedural modeling的部分。其实建模部分由于演示视频,可以很直觉地知道是基于隐式表面的。由于隐式表面几个特殊的性质,如混合简单、CSG操作简单、杜绝mesh常有的defects。而且一些玩家网站也报道了Spore的编辑器使用了"metaball"[3]。

既然如此,根据视频中的细节操作,我想Spore的建模实现应:
1、不会直接使用metaball进行建模,由效率和建模效果来看也不应该;
2、通过一些预定义的,由隐式表面描述的part,来组装生物;
3、躯干通过match point的隐式表面生成算法生成,但考虑到效率可能只有有限的点可以控制,但这些点的位置可以在表面上的任意位置[4] [5];
4、躯干和肢体的混合,可能会采用convolution的方式进行混合,但也可能不,因为膨胀的效果可能不明显[7];
5、使用一些带阶跃的隐式函数,来方便对隐函数求值时culling(或性能优化);
6、用户结束任一编辑操作,就把定义好的隐式表面多边形化以供实时渲染器渲染[6]。

[1] [SPORE] Demonstration by Will・Wright (Part1)
 

[2] Chris Hecker, How To Animate A Character You've Never Seen Before
http://www.chrishecker.com/How_To_Animate_a_Character_You%27ve_Never_Seen_Before

[3]http://www.next-gen.biz/index.php?option=com_content&task=view&id=3454&Itemid=2

[4]Greg Turk, James F. O'Brien, Shape Transformation Using Variational Implicit Functions

[5]Yutaka Ohtake et al, A Multi-scale Approach to 3D Scattered Data Interpolation with Compactly Supported Basis Functions

[6]Jules Bloomenthal, Polygonization of Implicit Surfaces

[7]Jules Bloomenthal, Convolution Surfaces

你可能感兴趣的:(技术)