XP对于OC这种第三方渲染器来说,一共两种渲染方式:一种就是用oc的对象标签,一种是使用xp的Generator。

下面具体比较下两种方式的差异。


对于使用oc对象标签而言,最大的优点就是快。这种方式类似于scatter克隆,并没有真正的产生粒子实体,而是在渲染器中去显示渲染的。

可以通过更改拖入标签内的多边形对象大小,实时更改粒子的最终尺寸。假设使用的是球形基础体,更改球的半径就可以直接调节粒子的大小。非常方便调节。

最终渲染出来的粒子大小,是拖入的多边形对象尺寸乘以粒子本身的尺寸。

但是缺点是不能将粒子导出为abc对象,因为粒子并没有真正的被实体替代,只是在渲染器中被“虚拟”替代了。这样在使用不支持xp的农场时就没办法了。

再一个就是粒子显示的大小可能会和粒子实际大小不同,在做粒子间碰撞的时候会造成很大的困扰,可能粒子碰撞的是正确的,但是渲染出来却是互相之间有穿插的。


而使用Generator,则是类似于c4d内置的克隆,是实实在在的存在着粒子实体。粒子的大小是真正的xp本身粒子的大小。

缺点显而易见是慢,尤其是有几百万个粒子后,会非常的卡。更要命的是,当你想要调节粒子大小的时候,每次都需要重新计算才可以看到结果是否正确。

而且Generator模式下,更改粒子的多边形对象的尺寸是不会改变粒子渲染大小的(但是可以通过嵌套空对象再调节其本身的缩放参数来改变粒子大小)。

假如使用的正方形基础体,通过改变基础体中的长宽高参数,使其成为一个长方体,实际的大小会将这个基础体缩放到粒子的大小。也就是说,虽然不能直接改变粒子大小,但是可以改变粒子形状还是可以的。

使用Generator模式导出abc之后,即便在不支持xp的农场,也可以正常渲染出粒子效果。


虽然在做自己的作品时,我会倾向于使用标签模式。但是在公司做项目的时候,考虑到农场的问题,不得不使用Generator模式。

在制作的时候,我会先不打开Generator,让粒子的显示模式为circle,这样就能直接观看到粒子本身的大小。即便后面使用Generator的时候,粒子的大小也不会变。

而且在缓存粒子的时候,我也会先关闭Generator,让缓存忽略Generator对象。这样缓存也要比将Generator也缓存进去快的多。

缓存之后,再打开Generator,前进一帧就可以看到粒子实体了。

(完)

Leave a Reply