遊戲引擎筆記(二)場景管理

2021-09-12 11:03:19 字數 1166 閱讀 3240

室內場景管理技術:(通過裁剪的方式減少麵片)

bsp:(剔除隱藏面)

通過將場景中的物體(或三角形)有序化,從觀察點觸發檢索bsp,獲取已z座標為關鍵碼的三角形儲存表。

portal:

室外場景管理技術:

常見的室外場景 管理技術包括四叉樹分割lod和roam。

四叉樹細分:對場景中攝像機能看見的周圍一小部分範圍進行細分。

越靠近視點範圍,細節等級越高。

(對於二維空間,mesh網格)

roam:按照三角麵片進行細分。

lod:四叉樹和八叉樹細分統稱lod。

四叉樹:

每乙個四叉樹的子節點中, 需要儲存5個點的索引,除了四個角的資訊外,還需要儲存中心的值。

平截台體:(視景體)

為了判斷乙個點是否包含在平截台體內部,需要將點的座標帶入憑藉頭體6個平面的平面方程式中,如果所有的平面方程式的結果值都是正數,表示該點在平截頭體內部。

邊界球體的剔除:

使用包圍物體的球體檢測物體與平截頭體之間的關係。

四叉樹的剔除:

四叉樹與平截台體相結合可以實現地表的剔除。如果四叉樹的父節點不在平截頭體內,那麼子節點也不在憑藉頭體內,這時,只要檢測父節點在平截頭體內部的節點就行了。反覆進行這個過程就可以快速的實現四叉樹節點的剔除。

節點評價:

位於視野範圍內的節點,需要通過計算節點與攝像機距離的遠近,判別節點應該分割的級別,構造出在視野範圍內的更細緻的節點細節層級分割。

生成待渲染的地形網格:

不可分割子節點:不可再細分。

可分割子節點:可分割子節點需要把正方形分割為三角形。

「窟窿」現象:

在進行渲染時,如果相鄰節點的lod分割等級不同,則公共兩側的渲染三角形頂點高度不一樣,是最終渲染出來的地形表面出現「窟窿」現象。

為了防止這種現象,需要用合適的三角形來修補。

室內場景管理——bsp樹:

bsptrees的英文全稱為二維空間分割樹,簡稱二叉樹。

git教程 二 場景

git fetch 這將更新git remote 中所有的遠端倉庫所包含分支的最新commit id,將其記錄到.git fetch head檔案中 git fetch更新遠端倉庫的方式如下 git fetch origin master tmp git diff tmp 合併temp分支到本地的m...

遊戲系統開發筆記(八) 場景物件管理

遊戲系統開發筆記 七 物件系統設計 簡單介紹了下物件系統的設計,繼續考慮遊戲開發所需要完成的工作會發現還少乙個很重要的點 物件的活動場所。遊戲中,我們常常需要把整個遊戲世界中零散的角色按照一定方式組織到一起,使它們.額.發生關係。有很多與之相關的許多問題或許會遇到 我這個技能最遠攻擊距離是多少?範圍...

遊戲系統開發筆記(八) 場景物件管理

遊戲中,我們常常需要把整個遊戲世界中零散的角色按照一定方式組織到一起,使它們.額.發生關係。有很多與之相關的許多問題或許會遇到 我這個技能最遠攻擊距離是多少?範圍有多大?這個怪物離我多近的時候會主動攻擊我?有些地形我是否可以通過?以什麼樣的方式通過?十分接近怪物的時候我是會被撞到停下,還是從中穿過?...