瀏覽單個文章
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
既然要講, 我就完整一點講, 遊戲設計中, 效率是第一要素, 不過國內遊戲界在這部份並沒有投入很多資源去開發, 例如為了效率, 通常檔案應該要壓縮減少讀取時間, 因為雖然壓縮跟解壓縮一樣要花費相當的 CPU 時間, 但是比起檔案 IO 的速度還是快很多.

說回來. 一般遊戲本身並不會動態產生任何圖形, 包括 3D 模型, 所有圖形以前 3D 模型, 都是美術人員、3D模型建立人員事先以 photoshop 等 2D 繪圖軟體以及 3D MAX、MAYA 來製作好的.

3D 模型的部份, 以 D3D 來做說明, 所有模型的資料, 都是頂點資料, 這些資料是以 3D MAX 軟體在製作的時候產生好的, 上面的妞妞一直說遊戲要產生頂點資料, 這是錯的, 因為模型的頂點資料, 是在遊戲製作時期就已經做好了, 絕不是在遊戲中動態產生的.

當模型產生好了, D3D 支援將這些模型資料轉換成 .X 檔案, 讓程式在執行時期讀入, 並送給 D3D 去處理 (HAL 或是模擬處理), 程式配合的是建立 3D 骨架, 讓 HAL 或是模擬層 (硬體沒有直接支援時) 去計算模型的動作變化.


在此又必須提醒, 所謂的早期 DirectX 7 顯示卡, 意思並不是 DirectX 7 顯示卡就不能跑 DirectX 9 的遊戲, 而是當遇到硬體並沒有直接支援的功能或函式時, DirectX 會在 Driver 層次以結合 DirectX7 的功能或以 CPU 去模擬 DirectX9 的新功能或特徵. 當然, 也有些特徵光靠模擬也沒辦法做到的, 但為了程式能順利執行, 模擬層還是會處理應該給程式的回應 (例如傳回 true 表示執行成功等, 事實上沒做任何事), 只是看不到某些特效而已.

拿天堂二來測 3D 其實一點意義也沒有, 因為真要測頂點數多的效能, 只要建立模型得時候, 把精細度不斷提高, 在程式中載入更多的模型, 頂點要多少有多少. 天堂二複雜在一個畫面裡可能疊有上千個人物, 造成顯示卡計算負擔 (因為要算誰疊誰, 那個三角形要顯示, 那個頂點可以不算), 但是天堂二為什麼不適合拿來當 3D 效能測試的標準?因為天堂二是 online game, online game 影響效能的因素太多, 網路狀態、設定、伺服器端的狀態、LAG等, 在做效能測試的一個準則是-固定變因, 但 online game 不只顯示卡是一個變因, 網路是一個更大的變因.
舊 2004-06-29, 04:10 PM #64
回應時引用此文章
RogerShih離線中