二.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...