Relic特效系统


http://www.slideshare.net/proyZ/relics-fx-system

由开发了众多优秀RTS游戏的Relic带来.

relic在特效方面的积累超过10年,n款产品,冲这一点,足以受到尊敬:



hierarchical fx system:

以很强大的方式来组合控制fx

  • particle之间可以嵌套,有一种是combo类型,它里面可以带8个children,其中也可以包括combo类型
    • combo类型里面包括一些属性,控制children particle的spawn, lifetime等
  • combo类型之外的fx类型,可以触发一个新的fx
fx particle type:
  • billboard
  • beam
  • trail
  • streamer:火焰枪这种
  • mesh
  • light
  • audio
  • distortion
particle行为
  • particle行为是与其类型独立的,每个类型都可以有其个性化的互动环境,来与环境互动。
  • 一些简单的物理行为就自己算了,复杂的依赖物理引擎,relic的选择是havok
编辑器
  • 有特效编辑器--制作特效
  • 物件编辑器--把特效挂在物件上面这些事情

效率优化

简化+多线程:没什么好说的

batch
relic会通过1,2个drawcall把所有的particle渲染出来:这个会大量节省cpu时间和gpu上的context switch。
这里面需要这样一些事情:
  • 构建一个包括各种&各个particle的大vertex buffer,这个vertex buffer是ring buffer
  • 贴图:atlas,使用cubemap
  • render state:就是blending mode,和prototype2一个做法,统一alpha addtive&alpha blend
    • fx贴图是预乘过alpha
deferred
就是在低分辨率buffer上面画,回帖的时候是使用预先构建好的depth信息buffer,这个buffer也是低分辨率,记录了每个像素点的最远最近的depth值。

特殊情况处理
像雨雪这种特效,有更优化的方法,围绕着camera来放粒子,在camera移动的时候,需要多做一些处理,使用类似贴图wrap的方式,右边移动的时候,把左边的particle补进去。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值