2D開源遊戲引擎調研報告(二)

2021-10-03 09:51:00 字數 1396 閱讀 8804

二.panda3d

0.基本介紹:

panda3d是由迪士尼參與開發的開源3d遊戲引擎

只有函式庫,通過在python/c++檔案中呼叫函式庫進行開發

官網:教程資源:

①安裝引擎時會附帶28個demo,展示了引擎的使用方式和特點,並附有非常詳細的注釋

②分步驟介紹了乙個小遊戲的製作過程和所需**

②官網上的教程,主要介紹了3d畫面相關的語法

2.可執行檔案的生成

使用pyinstaller程式(與python語言配套)

支援平台:windows、mac os x和linux

注:在windows系統只能生成exe程式,另外兩個系統也是只能生成對應平台的可執行程式

3.物件的繼承、封裝和例項化

使用pyhton/c++語法

附:panda3d內部有一類egg資源檔案,每乙個檔案包含乙個3d物件的模型和數個動作,可以直接呼叫並使用,但是不支援2d物件

4多場景的切換

panda3d的場景全部在一棵以render為根節點的樹上。當乙個節點插入render樹時(使用reparentto方法),它就會被渲染。多個節點可以平行放置,也可以形成父子關係。移除節點使用detachnode方法

5物理引擎,包含:

碰撞檢測:

panda3d有乙個碰撞檢測系統和乙個碰撞佇列,可以新增在物件上。發生碰撞時,可以從佇列中取出乙個或全部發生碰撞的物件

物理模型:

無可以自己製作egg模型然後呼叫

6粒子效果

panda3d自帶乙個particle_panel工具,其功能較為豐富。可以開啟該工具並設計粒子效果,也可以在**中動態新增(demo中有演示)。

7 ui元件

ui元件在direct.gui.函式庫中

包含:button、label、checkbox、slider、checkbutton、scollbar、waitbar(進度條 )

定時器:可以用schedule方法,

8利用容器設定物件在螢幕中的位置

使用frame(它也是乙個ui控制項),可以將其它ui控制項放入其中。

9光影渲染

有專門的函式庫,可以設定燈光的位置、亮度等引數,是3d效果

10動畫部分,包含:

10.1物件的位置、朝向、移動

使用posinterval和hprinterval設定運動效果

10.2物件的顏色變化

需要手動設定

10.3數字的變化

同上評價:panda3d最大的優勢在於三維模型相關的功能,它對2d的支援相對於整個引擎來說佔比不高,而且所有的2d物件也是在三維世界中渲染的。如果只要2d功能的話,使用這個引擎並不合適。另外,它的**風格有點奇怪(可能是我沒學過python的關係?),又沒有任何中文教程,入門難度高,不建議初學者第乙個嘗試這個引擎。

開源跨平台2D遊戲引擎Love2D介紹

love2d是乙個開源的,跨平台的2d遊戲引擎。使用純lua指令碼來進行遊戲開發。目前支援的平台有windows,mac os,linux。另外在社群裡,還有love2d android版本,而且也有進軍ios的計畫。這個遊戲引擎在國內聽說或者是使用的人可能不是很多,但是在國外還是有很大一部分的使用...

XNA 的 3D 和 2D 遊戲引擎(商業與開源)

找到了不少,在這裡分享一下。說不定以後我自己也要用到!商業3d引擎 torquex 我兩年前用的時候,還只是乙個2d引擎,目前社群版已經有for xna 4.0 的了 visual3d 這個沒有用過,不過看介紹還是不錯 開源3d引擎 oxgameengine fox xna 社群裡推薦的遊戲引擎,似...

2D遊戲開發(2)

每次給遊戲新增新功能時,通常也會引入一些新設定。為了讓所有的設定進行統一管理,我們可以配置乙個名為 setting的模組,這個模組中包含乙個setting的類,用來儲存所有的設定。usr bin env python3.5 filename setting 儲存所有的設定 class setting...