發一下牢騷和主題無關:
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呢?程式設計師: 那我將永遠無法完成任務.