效果信息[gdc13]《刺客信条3》渲染技术
发一下牢骚和主题无关:
gdc13上面的分享(可以在gdcvault上面查看),ubi和刺客信条无需分析了。
由于是发展了多年的引擎,所以主要是分析在这一代有什么进化,相当不错,实用性很强。
由于需要member身份才能看,所以我这里多截一些图好了。
气候
除了畸形应用particle系统来做的气候效果之外,对于一些特有的效果,应用其他的方法可以更高效和更好的来做:
cylinder based effect
应用cylinder来做一些volumetric的效果.
height based fog
这个倒不是cylinder based的,就是一般的计算height fog, 但是里面有和阳光相关的参数:
雨:
近处是particle,远处是cylinder based scrolling uv 做的雨。
雪
只有particles
雨雪遮挡
可以看出此代console性能的无奈。
surface上的湿润和积雪效果
- 根据normal的方素来停止积累和湿润效果的调整
- 湿润就调整gloss
- 积雪就是调整diffuse颜色
- 效果冷艳
- 影响gameplay--应该是可以根据这个来追踪
- 主角和动物都市有
- 地形是地形,上面的雪是有专门的雪的mesh
- 在做雪痕的时候,是把雪的mesh在index buffer上面做调整,旁边挖出洞
- 补上一个displacement map+tessellated triangle做出雪痕的外形
- tessellation这部分比拟直接,在可以r2vb的A卡上面可以直接做这个
- 内存消费大
- 顶点数量很影响ao质量
- 产生ao的信息就是来屏幕空间可以反算出来的world position的很小一个范围,这个限制直接导致voxel cone tracing(link)产生的ao质量要好很多
多人渲染
多人战斗阶段有上千人,城镇里面有300到400人,这样的范围如安在ps3/xbox360上达到?
- instancing, 32一个batch,把vertex buffer复制32份(内存消费也是32倍)
- 这个应该主要是限制于console平台的原因,如果pc平台加vertex texture应该就不用去复制32份,不过需要instancing的也不会是很精细的人物,所以尚可
- 渲染阶段:
- 能r2vb就r2vb
- 360上面是cpu计算骨骼数据,然后vertex texture
- ps3上面应用spu直接算出最后skinning好的mesh
- 轻易失控:效率,内存,复杂度
文章结束给大家分享下程序员的一些笑话语录:
开发时间
项目经理: 如果我再给你一个人,那可以什么时候可以完工?程序员: 3个月吧!项目经理: 那给两个呢?程序员: 1个月吧!
项目经理: 那100呢?程序员: 1年吧!
项目经理: 那10000呢?程序员: 那我将永远无法完成任务.