當前位置: 華文問答 > 遊戲

一個典型的遊戲迴圈是怎樣的流程?

2015-12-16遊戲

這段時間剛好看了一些OGRE的源碼,對OGRE的渲染流程做了一些筆記,可能對題主有些幫助。

本人自學引擎開發不滿一年,有一些概念理解不是很透徹,也有可能完全理解偏了,如果筆記裏有錯誤,懇請指出,這對我來說也是一個學習的機會。

另外,

@oz01

的答案基本可以看做下表流程的一個概括說明。

在他的基礎上再補充幾點:

1. 在OGRE中,開發者可以透過實作各種監聽器的介面來實作遊戲邏輯,它們遍布在OGRE的整個渲染過程中,一般來說主要的遊戲邏輯都在「幀開始」事件中實作。

2. 正如

@oz01

所說的,一般遊戲邏輯的處理順序是:

處理使用者輸入
使用者輸入反饋到遊戲場景中的物件
根據使用者輸入計算場景物件的物理反饋(作為一個渲染引擎,OGRE沒有涉及這一步,需要開發者自己實作)
更新場景物件的空間變換
將場景物件所繫結的可渲染物件加入到渲染佇列,這個過程涉及對可渲染物件的裁剪、分類以及排序

此外,遊戲的其他邏輯(如戰鬥邏輯更新、伺服器訊息處理等)根據需求的不同,可能分布在這個流程的每一個步驟中。

3. 遊戲邏輯處理完畢後,就是渲染的過程了,簡單來說就是遍歷渲染佇列,設定渲染狀態,送出幾何圖元

如果小圖看不清楚,可以直接點選下面的連結檢視大圖:

http:// images2015.cnblogs.com/ blog/628546/201601/628546-20160128205241223-522174856.png