PHOENIX Create
open soruce cross platform system for Games/AR/AI/IOT
use game technology to develop IoT
歡迎
歡迎來到PhoenixIOT,這是一個可以用來開發游戲,AR應用,開發機器人等很多應用的引擎。
引擎底層使用C++作為開發語言,上層使用Lua作為項目邏輯語言,支持Lua的面向對象編程。得益于腳本語言的自由和靈活,
你不需要等待,就可以立即部署你的項目到移動設備,支持Linux的物聯網設備等。立即發布的模式免去了繁瑣的打包過程,提高開發效率。
眾所周知,開發機器人大多用ROS系統,但是因為其Linux環境的限制(雖然支持Windows桌面系統,但沒有開發板可以裝Windows),開發難度很大。我們希望借助游戲開發中的先進技術,通過腳本編程,讓機器人開發更加快速。
引擎使用插件架構,第三方應用都可以作為Plugin集成進來,同時引擎支持兩款圖形編程插件BlueBlock和BluePrint。
經過作者的努力,引擎可以運行字Windows上,ARM,Linux,LinuxARM上。
因為作者開發經費緊張,沒有續費Mac開發者,新版本IOS一直還未移植。
特性
- 內置EventSystem,通過發送/廣播Event,通知EventHandler進行消息相應
- 支持Controller的控制器系統,例似Unity中的Commpont
- 基于Node的場景圖管理
- 跨平臺材質系統,xml配置不同平臺材質
- 支持多個Canvas,并且參與UI組件的排序
- 完善的UI系統,FreeType字體繪制,包含20種UI控件;支持屏幕自適應,滿足不同屏幕分辨率布局系統
- 地形系統,支持分頁地形,支持LOD地形,支持5層貼圖的地表材質
- 6面靜態天空盒系統,球形晝夜交替天空系統
- 2D序列幀動畫,骨骼動畫,蒙皮動畫,動畫融合,支持一次性,Clamp循環,Circle循環播放模式
- Autodesk FBX動畫模型導入
- Autodesk 3DMax模型導出插件
- Autodesk Beast場景烘焙系統
- 特效系統包含,粒子,公告板,條帶,波帶,模型,震動,聲音;支持Curve曲線編輯
- 和FMod良好集成的跨平臺音頻系統
- 和VLC良好集成的視頻系統
- 集成Google ProtoBuf
- 內置網絡通信模塊,Windows IOCP,Linux epoll/select服務器框架
- 語音識別框架,集成Baidu語音SDK
- 插架架構,支持從Plugin派生的第三方插件擴展
- 內置多語言版本解決方案
- Linux Serial,GPIO操作
- 藍牙2.0通信
- 攝像頭拍攝,遠程視頻傳輸功能
- 兩款圖形編程系統BlueBlock和BluePrint,滿足初學者和專業級智能編程需求
- 完備的Project項目管理系統,一件遠程部署項目,免去打包等中間環節
- 可用的,基于自身UI系統的集成開發環境 Nirvana編輯器
- 腳本系統支持,支持面向對象的Lua開發
- 跨平臺運行于Windows,Android,IOS,Linux/LinuxARM
編譯
依賴庫
ThirdPartiesLibs.zip:[http://url.cn/49EuKAU](http://url.cn/49EuKAU)
下載放置Phoenix/Phoenix目錄下,解壓。
如需編譯編輯器NIRVANA2,預先編譯ThirdPartiesLibs/wxWidgets-3.0.2/build/msw/wx_vc12.sln
windows
- 使用visualstudio打開Phoenix/Phoenix.sln,編譯
- 運行:AppPlayer.exe,NIRVANA2.exe
Linux
- 編譯引擎庫libPX2Engine.so:
在目錄Phoenix/Phoenix中執行:make CFG=ReleaseDynamic -f makefile.px2
- 安裝引擎庫:
在目錄Phoenix/Phoenix中執行:sudo make CFG=ReleaseDynamic -f makefile.px2 install
- 編譯項目庫General.so:
在目錄Phoenix/Phoenix/Projects/Client/General中執行:make CFG=ReleaseDynamic -f makefile.px2
- 運行:
AppPlayer.ReleaseDynamic
Linux Raspberry
- 編譯引擎庫libPX2Engine.so:
在目錄Phoenix/Phoenix中執行:make CFG=ReleaseARMDynamic -f makefile.px2
- 安裝引擎庫:
在目錄Phoenix/Phoenix中執行:sudo make CFG=ReleaseARMDynamic -f makefile.px2 install
- 編譯項目庫General.so:
在目錄Phoenix/Phoenix/Projects/Client/General中執行:make CFG=ReleaseARMDynamic -f makefile.px2
- 運行:
AppPlayer.ReleaseARMDynamic
Android
目前我們使用的還是舊的Android編譯方法,使用Crygwin進行編譯。編譯環境配置方法,我還在寫。
項目
Bin/Dat/General 是一個空項目
Data下的boost.xml決定從哪個項目啟動
boost.lua可以對啟動項二次修改
項目運行前,執行,General/lua/start.lua中的prestart
緊接著運行,執行,General/lua/start.lua中的start