Home > Tags > Entity

Entity

開始實作引擎的基本類別

話說之前想做 Collada 滙入,便最基本要有一個內部存放 Collada 滙入後的資料。這個「雙休日」(內地常用語) 就留在家中乖乖寫程式……寫不出的時候也看了十幾集動畫。

架構上參考了之前看過的 Unity,採用 Component 型式。目前實現的幾個類別的關係如下圖:

採用 Component 架構的一個好處是,減少了傳統 Scene Graph 的類別繼承和節點 (node) 數目。一個實體 (entity, 有些引擎稱為 Game Object) 可以有 Mesh 元件,也可以同時加入腳本、碰撞物件等元件。

實作過程中出現許多問題,和大家 (及將來的自己) 分享一下。

Continue reading

解構 CryEngine2 的 Script 物件模型(一)

這幾天看了一點 Crysis 的 Script。CryEngine2 和 CryEngine 一樣是使用 Lua 為 Script 語言。CryEngine2 把 Lua 升級上 5.x 的版本。

雖然 CryEngine2 的功能實在比 CryEngine 進步許多,可是,有點失望的是 Crysis 的說明文檔比 Farcry 少,甚至最近才釋出的 SDK 也沒有 Script 的 API 參考文檔。暫時只看了一篇官方的 “Creating a new entity”文章和 Crysis 遊戲裡的 Script,所以很多以下的內容是未經証實的猜想。

這是部份 Script 物件模型的 UML 類別圖:

crysis.png

由於 CryEngine 的 Script 是 loosely typed,實際上並沒有真正的 Base、EntityBase 等類別和繼承存在。這圖所顯示的,只是我從例子中找到的一些共同部分,把它組合成類別及繼承。由於時間關係,我需要分開數天研究不同的「類別」,今天主要集中看 Entity。

Continue reading

Home > Tags > Entity

Search
Feeds
Meta

Return to page top