2010年10月8日 星期五

導入Ambient Occlusion和Global Illumination

前兩個禮拜美術負責場景提出關於點繪圖的技術,

其實就是vertex color,這技術缺點就是面數要多。

結果我決定要導入AO和GI來去補足環境光源。

作法上是把一些資訊記錄在貼圖上,而不是在vertex裡。

而這些資訊來源就是利用xsi來幫忙處理,

我把美術編好的場景通通import to xsi,

這過程都是自動化,當然這外掛是自己寫的。

這作法滿像RenderWare:丟入到max運算。

UDK作法都是在工具上運算光源,

看我們動畫組的作法是在max建場景完畢,

再一次丟入UDK去運算AO和GI。

這研發過程最讓我頭痛的不是外掛難寫,而是GI。

參數不會調,運算又很慢,很多時間都在等算圖,

真希望有八核心XD。

不過現在已經知道怎抓參數了。

GI作法上,其實我會拿Photonmap(光子貼圖)這資訊。

另一個讓我煩惱的是....場景很大,真不知道要算多久,

還有物件的數量多寡來決定這些資訊的品質。

心想:作這麼大場景讓我很頭痛耶。

經過兩個禮拜實作,差不多快到達尾聲了,

剩下要跟動畫組的人借電腦算圖,

日本所製作的音速小子算GI要兩天時間,

真不知道我們這場景要算多久。

還有最後一點,技術上尚未克服,

就是instance object算AO和GI的資訊。

有一些想法和解決方式,不過相當麻煩。

2 則留言:

  1. 你好,很冒昧的打擾

    因為朋友的介紹所以到你Blog上看看,就看到這篇.

    我目前在上海一家遊戲公司担任技術美術,在公司也有介紹篇給同事看.

    關於材質部份其實我們部門也有討論過.

    FFXIV是利用Shader跟材質混合做出材質變化,這樣的確可以使用較少的資源混合出多樣變化.

    但材質相對重複性高,且會無法降低render batch的問題也必須克服.

    就現有的資料看來,為了疊紋理在diffuse上並没有做太多相關的處理.

    就美術觀點來看,同樣類似製程,整體人物效果反到沒有Blade&Soul(NC)或是TERA(BlueHole)來的好.

    FFXIV的角色看起來雖然精緻ˋ但相對比較沒立體感,疊太多層貼圖也會造成頻寬跟讀取時間的損耗.

    只能說回歸本質...SE團隊的作法很符合他們的需要,對於其他公司就不一定了.

    很抱歉囉唆了一堆...剛好看到也有人對這方面提出看法蠻高興的.

    還請多多包含...

    -Feeder

    回覆刪除
  2. 雖然我不知道你們具體的作法是怎樣,

    這製成好處是省掉做diffuse map的功和省記憶體。

    立體感的話,要看normal map這張圖,

    以我們這邊的經驗,用ZBrush刻出5~6百萬面的怪物,

    輸出1024*1024的normal map,一些細節還是會不見,

    不過他們是用xnormal做的。

    anyway,細節方面我會加上detail效果,

    也可以分出四種不同的detial效果在怪物身上。

    恩....感覺上,這已經失去當初的用意。

    可以感覺出這製成的diffuse map效果是有限的,

    不過以可愛風格的話,我覺得是足夠的。

    寫實風的話,

    個人推測「瑪奇英雄傳」的人物也這樣弄。

    要說最快拿到高品質的diffuse map作法,

    大概是讓我為之一亮的「高模到低模」的製成,

    聽說那是4、5年前的作法,國外都在弄此製成。

    這製成我看過我們美術部門跑過一次,

    滿讓我大開眼界XD。

    回覆刪除