A. 游戲場景管理的八叉樹演算法是怎樣的
八叉樹(octree)是三維空間劃分的數據結構之一,它用於加速空間查詢,例如在游戲中: 加速用於可見性判斷的視錐裁剪(view frustum culling)。加速射線投射(ray casting),如用作視線判斷或槍擊判定。 鄰近查詢(proximity query),如查詢玩家角色某半徑范圍內的敵方NPC。碰撞檢測的粗略階段(broad phase),找出潛在可能碰撞的物體對。總括而言,前3個應用都是加速一些形狀(frustum、ray、proximity shape如球體)的相交測試(intersection test)。這種做法是adaptive的,就是說按照一定的條件(葉節點只能有一個點)來進行分割。實際上,我們可以設置其他條件去決定是否分割一個葉節點,例如節點內的點超過10個,或是最多分割4層就不再分割等等。在分割時,我們只需檢查點是在每個軸的哪一方,就能知道該點應放置在哪個新的節點里。建立了一個四/八叉樹之後,我們可以得出一個重要特性: 如果一個形狀S與節點A的空間(正方形/立方體)不相交,那麼S與A子樹下的所有點都不相交。那麼,在相交測試中,我們可以從根節點開始,遍歷四/八叉樹的節點,如節點相交就繼續遍歷,如不相交就放棄遍歷該子樹,最後在葉節點進行形狀與點的相交測試。這樣做,一般能剔除許多點,但注意最壞的情況是所有點集中在一起,那麼就不起加速作用。因此,除了傳統的四/八叉樹實現,也可以參考一些更新的技術。
B. 游戲場景管理的八叉樹演算法是怎樣的
octree嗎? 之前做單位集群的時候用過, 就是四面八方中的那個八方,用來預載入場景
C. 游戲引擎教程的目錄
叢書序
前言
第1章3D游戲引擎設計概論
1.13D游戲引擎的進化
1.23D引擎和游戲編程
1.3引擎的模塊與介面設計
第2童基本的圖形數學演算法
2.1基本的Vector、Matrix
2.2面
2.3多邊形
2.4包圍盒
2.5四元數
2.6光線跟蹤演算法(RayTracing)
第3章圖形渲染的基本原理
3.1圖形的變換過程
3.2GPU的實現過程
3.3圖形采樣器
3.4圖形管線
第4章攝像機
4.1游戲中的攝像機
4.2攝像機的模式
4.3攝像機的成像原理
第5章材質、紋理貼國及透明度
5.1材質和燈光
5.2紋理貼圖
5.3紋理透明度處理
5.4UV動畫
5.5貼圖動畫
第6章簡里靜態3D模型
6.1Mesh的概念
6.2Mesh的創建
6.3Mesh的渲染
6.4Mesh的載入
第7章模型動畫
7.1動畫的基本知識
7.2關節動畫
7.3單一網格模型動畫
7.4骨骼動畫
7.5Morph動畫
第8章場景管理
8.1場景管理的概念
8.2二叉樹演算法(BSP)
8.3四叉樹(QuadTree)演算法
8.4八叉樹演算法
……
第9章輸入系統
第10章聲效系統
第11章網路系統
第12章物理系統
第13章人工智慧系統
附錄
D. 游戲場景管理的八叉樹演算法是怎樣的
可以來咱們學校了解一下啊,有場景的課程,零基礎教學的,在中關村
E. 誰能介紹一下游戲場景管理中的四叉樹、八叉樹演算法是怎麼回事,比如最基本的,怎麼確定顯示節點
明白二叉樹就明白n叉樹了
F. blender使網格變密
可以重構網格。
在blender中打開一個球體。切換到「線框」模式,我們發現布線比較亂。右邊屬性導航中選擇「修改器」。添加「重構網格」修改器。默認是模式是「銳利」,我們可以調節「八叉樹演算法」、「比例」等數值進行重構。切換到「平滑」模式,可以獲得更平滑的模型網格效果,要更平滑可以增加八叉樹演算法的值,相反的減小值。
最後切換到「區塊」模式,可以把模型重構為區塊的效果,類似方塊組成的模型。
G. 游戲場景管理的八叉樹演算法是怎樣的
八叉樹(octree)是三維空間劃分的數據結構之一,它用於加速空間查詢,例如在游戲中:
加速用於可見性判斷的視錐裁剪(view frustum culling)。
加速射線投射(ray casting) ,如用作視線判斷或槍擊判定。
鄰近查詢(proximity query),如查詢玩家角色某半徑范圍內的敵方NPC。
H. 用3DMAX做好三維地圖後,是否可以通過某種函數關系映射出二維地圖
一、 地圖學的發展
傳統地圖是在圖紙上根據地圖投影、地理坐標和比例尺,用各種地圖符號(點狀符號、線狀符號、面狀符號)和文字注記、顏色來表示一定區域內的地形、地貌、地物以及各種地理現象和社會經濟現象。因此,地圖是對地理空間信息的抽象化、符號化的描述。這使得地圖符號既是制圖者表達地理空間信息的手段,又是地圖使用者獲取地理空間信息的工具和手段。對於制圖者工作者,不僅要有很強的空間認知能力,還要能使設計的地圖符合人們的認識規律,以使讀圖效果達到最佳;對於地圖的使用者,除了有良好的空間認知能力外,還要具有一定的讀圖經驗,只有這樣才能把平面地圖上的空間信息轉化到形象的三維地理空間之中。例如:一個十字形的地圖符號在不同國家的不同種類的地圖里,其代表的含義是完全不同的。它可以表達多種含義:醫院、墓地、教堂等。
傳統的二維紙質地圖,作為常規性的測繪產品,是一種有效的地理空間信息載體,在人們認識地理環境,獲取並分析應用地理信息發揮了重要的作用。我們生活在一個真三維的現實世界裡,而傳統的二維地圖只對處於三維空間中的各種地理對象全部進行向二維平面投影的簡化處理,導致第三維方向(即垂直方向)上的幾何位置信息、空間拓撲信息和部分語義信息的損失,不能完整地反映客觀世界。因此,傳統地圖所表達的地理信息是凝固的、靜止的、平面化的。所以傳統地圖具有以下三個明顯的特點:空間信息平面化、地理信息符號化、地圖內容的平面化和靜止化。
近幾年來,隨著計算機技術,特別是計算機圖形學、網路、多媒體、虛擬現實技術、三維模擬技術的快速發展,地圖學發生了很大的變化,正在向多媒體、網路和三維方向發展。
二、三維電子地圖概述
三維電子地圖以其直觀的三維地形、地物代替了抽象的二維地圖符號。這使得地圖超出了傳統的地理信息符號化、空間信息水平化和地圖內容凝固化、靜止化、平面化的狀態,進入了動態、多維的可交互的地圖條件下,通過直觀的方式模擬人的地理空間認知方式以及進行各種空間地理分析的階段。與之相適應,地圖制圖從傳統的地圖符號的選擇、製作、組織協調和繪制轉變為三維地形、地物的構建、以及分析應用模型的建立。這一變化也使地圖學理論從單純的地圖傳輸理論、地圖語言理論以及地圖認知理論轉變為在三維虛擬地理環境中,模擬人在自然地理環境中(包括地下、地面、空中)進行地理認知、空間地理分析應用的理論研究。所以,三維模擬技術在地圖學上的應用貫穿了傳統的制圖和利用地圖進行分析應用的全過程。
與三維電子地圖相關的系統大多集中在三維可視化方面。但最近幾年,國內外開展了大量三維電子地圖的研究。世界著名的CAD Center認識到三維電子地圖和實時三維模擬的重要性已經研製了Virtual Kyoto.他們認為基於三維電子地圖的3D GIS很快將在公共服務、城市旅遊、城市規劃等各領域產生廣泛的應用。美國著名的三維模擬軟體Vega(一般都基於Multigen Creator 建模)也已經把自己的三維模擬產品與GIS相結合了。於今年五月份,推出了SitBuilder 3D產品。
國內三維電子地圖也早成為人們研究的重點。武漢測繪科技大學國家重點實驗室、武漢適普軟體公司、北京靈圖、武漢天元等多家研究單位和公司都在三維電子地圖和三維地理信息系統的研究上做了大量的研發工作。也開發了具有自己特色的軟體產品。其中武漢適普和武漢天元在海量數據的三維瀏覽上有部分突破, 北京靈圖在三維視覺效果上在國內同行中有一定的優勢。武測國家重點實驗室的三維軟體CCGIS在基於空間數據的建模有一定的優勢。
迄今為止,國際國內還沒有一個成熟完整的三維電子地圖系統。
三、三維電子地圖的關鍵技術問題(數據獲取、數據結構、可視化、空間分析)
數字地面模型(DEM)和其他地圖要素(居民地、道路、水系等),然後通過一定的三維數據結構高效地組織起來,進行三維地形和地圖要素的可視化和空間分析。三維電子地圖的研究涉及的內容較多,其中關鍵性的問題主要是:三維電子地圖的數據獲取、數據結構、可視化和空間分析。
1、 數據獲取
首先將需要生成三維電子地圖的區域的二維地圖數字化,數字化的內容主要包括:等高線、道路、水系、居民地等,並進行從數字化坐標繫到高斯坐標系的轉化。再獲取該區域的建築物的高度(或者建築物的樓層數和每一層的高度)。數字化過程中數字地面模型(DEM)可以根據精度要求進行數據內插。DEM的高程Z既可以用X、Y水平坐標系統來描述,也可以用經度X、緯度Y來描述。
更快捷的辦法是利用航空攝影技術,從該區域的航片上提取出DEM 和地物(建築物、河流、湖泊等),其中建築物的高度也可以從航片上直接提取出來。
對於復雜的地圖要素(建築物)可以在專門的建模軟體(如:3D Max和Multigen等)下進行建模。然後再加入到三維地圖場景中。建築物的頂部紋理可以從航片上提取,其餘紋理可以利用數碼相機到實地拍攝。
2、數據結構
三維電子地圖的數據結構是一個很復雜的問題,至今也是人們研究中的一個難點。一些有名學者在這方面作出了可貴的探索,李德仁院士提出了基於八叉樹和四面體格網的混合數據結構,龔健雅教授等以礦山、地質為背景用面向對象的思想設計了矢量與柵格集成的三維數據模型,肖樂斌博士有效地集成矢量、柵格數據結構的優點提出了一種三維集成數據結構、郭薇博士等用點集拓撲學形式化地描述了三維實體的空間拓撲關系,HOULDING針對各種各樣的地下實體提出4種數據結構。但這些數據結構還不能圓滿地解決一個真正三維電子地圖中的許多問題。如:實體存貯、表達及三維對象間復雜的拓撲關系描述與建立的困難。美國著名的模擬軟體 Vega採用了層次結構(DataBase,Group,Object,Polygon,Vertex)在三維實時計算上取得了較好的效果。
3、三維可視化
三維電子地圖的可視化是指利用計算機圖形學的知識來實現地圖六大要素(水系、地貌、居民地、交通、境界等)的三維表達化。實時性是三維電子地圖可視化最根本特性(是區別於動畫渲染的標志),其實質就是改變視點的位置和觀察方向,再將所移動後的視點仍作為坐標原點,觀察的方向仍然規定為負Z軸方向。這樣,各三維物體在新坐標系內的坐標都將改變,觀察所看到的圖像也就隨之改變。
三維電子地圖的可視化過程大致為: 將獲取到的地圖數據用紋理映射的方法處理水系、交通等地圖要素層數據,即將水系、交通等要素層數據形成一幅點陣圖,通過紋理映射貼到建模後的地貌表面,形成三維地圖場景;另一種是在生成 DEM後,對水系、交通等要素層分別建模後,通過深度排序、消隱、形成三維地圖場景。如果有航片資料,可以在生成 DEM後,直接貼上航片,然後再將其他地圖要素(居民地、水系等)疊加在該區域的DEM上。
4、空間分析
三維電子地圖的空間分析包括空間任意一點的三維坐標、空間任意兩點之間的距離、空間距離量測,坡度/坡向、表面積、剖面分析、可視域分析等。
其中如何求出屏幕任意一點的空間三維坐標是空間分析的基礎。它的實現演算法有多種,OpenGL提供了通過模型視圖矩陣、透視矩陣等來獲取屏幕任意一點的深度緩沖。然後通過函數就可以計算出任意一點的空間三維坐標。但這種方法求出的坐標不是很准確,有一種更好的辦法是利用碰撞檢測:首先在屏幕點擊處和視點構造一條線段,然後與場景中的物體進行碰撞檢測,通過內插計算就可得到屏幕點擊處的空間三維坐標。
地面上的某點的坡度是表示在該點傾斜程度的一個量。從數學上來講其大小為:地表曲面函數在該點的切平面與水平面夾角的正切。
表面積是將DEM的每個格網分解為多個三角形,然後利用海倫公式就可得到整個DEM的表面積。
剖面分析是計算其與各格網邊的交點(x、y、z)。地形三維主要採用二維柵格模型(GRID)表達。每個柵格結點的水平位置X、Y坐標隱含,其屬性結構內存貯有該點的高程值Z坐標,地形三維表現(即顯示)時就通過Z坐標來體現地形表面的起伏。當在地形表面任意兩點間求剖面線時,首先通過平面求交計算得到剖面線與各二維柵格邊一系列交點的水平位置(X,Y),然後根據各相交邊的兩個端點的Z坐標用線性插值方法得出各交點的Z坐標。
可視域分析是判斷兩點間的通視情況。最簡單的演算法是:先將視點與研究區內每個柵格角點連線,形成視線簇。然後遍歷所有視線,計算每一視線與相關柵格邊的交點,判斷這些交點在該視線方向上是否遮擋待求柵格角點。若所有交點都不遮擋,則該柵格角點可見;否則,只要有一個交點遮擋之,該柵格角點就不可見。依此計算所有柵格角點,標識出它們的全部可見與不可見情況。最後顯示時,與原始DEM的方法一樣,可以三角形或四邊形為單元顯示。在DEM重采樣較密時,處理可以簡化,如三個角點中有一個不可見,則將該三角形以不可見顏色表示。
結束語
三維電子地圖的應用前景已經被許多有識之士認識到了。三維電子地圖必將在城市規劃和設計、城市交通、城市模擬領域、大型工程瀏覽、軍事指揮、測繪和土地管理部門和基於空間信息的分析決策中產生廣泛的應用。
三維電子地圖是一個很復雜的研究課題,本文只針對其研究意義和遇到的一些關鍵問題提出了自己的思路,因此還有很多工作要做。希望有更多的有志之士投入到這項研究中,
使三維電子地圖有更大的發展。