PHOENIX Create
open soruce cross platform system for Games/AR/AI/IOT
use game technology to develop IoT
歡迎
歡迎來到PhoenixIOT撇眯,這是一個可以用來開發(fā)游戲,AR應(yīng)用,開發(fā)機器人等很多應(yīng)用的引擎。
引擎底層使用C++作為開發(fā)語言,上層使用Lua作為項目邏輯語言署恍,支持Lua的面向?qū)ο缶幊獭5靡嬗谀_本語言的自由和靈活,
你不需要等待喻喳,就可以立即部署你的項目到移動設(shè)備,支持Linux的物聯(lián)網(wǎng)設(shè)備等困曙。立即發(fā)布的模式免去了繁瑣的打包過程表伦,提高開發(fā)效率。
眾所周知慷丽,開發(fā)機器人大多用ROS系統(tǒng)蹦哼,但是因為其Linux環(huán)境的限制(雖然支持Windows桌面系統(tǒng),但沒有開發(fā)板可以裝Windows)要糊,開發(fā)難度很大纲熏。我們希望借助游戲開發(fā)中的先進技術(shù),通過腳本編程锄俄,讓機器人開發(fā)更加快速局劲。
引擎使用插件架構(gòu),第三方應(yīng)用都可以作為Plugin集成進來奶赠,同時引擎支持兩款圖形編程插件BlueBlock和BluePrint容握。
經(jīng)過作者的努力,引擎可以運行字Windows上车柠,ARM剔氏,Linux塑猖,LinuxARM上。
因為作者開發(fā)經(jīng)費緊張谈跛,沒有續(xù)費Mac開發(fā)者羊苟,新版本IOS一直還未移植。
特性
- 內(nèi)置EventSystem感憾,通過發(fā)送/廣播Event蜡励,通知EventHandler進行消息相應(yīng)
- 支持Controller的控制器系統(tǒng),例似Unity中的Commpont
- 基于Node的場景圖管理
- 跨平臺材質(zhì)系統(tǒng)阻桅,xml配置不同平臺材質(zhì)
- 支持多個Canvas凉倚,并且參與UI組件的排序
- 完善的UI系統(tǒng),F(xiàn)reeType字體繪制嫂沉,包含20種UI控件稽寒;支持屏幕自適應(yīng),滿足不同屏幕分辨率布局系統(tǒng)
- 地形系統(tǒng)趟章,支持分頁地形杏糙,支持LOD地形,支持5層貼圖的地表材質(zhì)
- 6面靜態(tài)天空盒系統(tǒng)蚓土,球形晝夜交替天空系統(tǒng)
- 2D序列幀動畫宏侍,骨骼動畫,蒙皮動畫蜀漆,動畫融合谅河,支持一次性,Clamp循環(huán)确丢,Circle循環(huán)播放模式
- Autodesk FBX動畫模型導(dǎo)入
- Autodesk 3DMax模型導(dǎo)出插件
- Autodesk Beast場景烘焙系統(tǒng)
- 特效系統(tǒng)包含旧蛾,粒子,公告板蠕嫁,條帶锨天,波帶,模型剃毒,震動病袄,聲音;支持Curve曲線編輯
- 和FMod良好集成的跨平臺音頻系統(tǒng)
- 和VLC良好集成的視頻系統(tǒng)
- 集成Google ProtoBuf
- 內(nèi)置網(wǎng)絡(luò)通信模塊赘阀,Windows IOCP益缠,Linux epoll/select服務(wù)器框架
- 語音識別框架,集成Baidu語音SDK
- 插架架構(gòu)基公,支持從Plugin派生的第三方插件擴展
- 內(nèi)置多語言版本解決方案
- Linux Serial幅慌,GPIO操作
- 藍牙2.0通信
- 攝像頭拍攝,遠程視頻傳輸功能
- 兩款圖形編程系統(tǒng)BlueBlock和BluePrint轰豆,滿足初學(xué)者和專業(yè)級智能編程需求
- 完備的Project項目管理系統(tǒng)胰伍,一件遠程部署項目齿诞,免去打包等中間環(huán)節(jié)
- 可用的,基于自身UI系統(tǒng)的集成開發(fā)環(huán)境 Nirvana編輯器
- 腳本系統(tǒng)支持骂租,支持面向?qū)ο蟮腖ua開發(fā)
- 跨平臺運行于Windows祷杈,Android,IOS渗饮,Linux/LinuxARM
編譯
依賴庫
ThirdPartiesLibs.zip:[http://url.cn/49EuKAU](http://url.cn/49EuKAU)
下載放置Phoenix/Phoenix目錄下但汞,解壓。
如需編譯編輯器NIRVANA2互站,預(yù)先編譯ThirdPartiesLibs/wxWidgets-3.0.2/build/msw/wx_vc12.sln
windows
- 使用visualstudio打開Phoenix/Phoenix.sln私蕾,編譯
- 運行:AppPlayer.exe,NIRVANA2.exe
Linux
- 編譯引擎庫libPX2Engine.so:
在目錄Phoenix/Phoenix中執(zhí)行:make CFG=ReleaseDynamic -f makefile.px2
- 安裝引擎庫:
在目錄Phoenix/Phoenix中執(zhí)行:sudo make CFG=ReleaseDynamic -f makefile.px2 install
- 編譯項目庫General.so:
在目錄Phoenix/Phoenix/Projects/Client/General中執(zhí)行:make CFG=ReleaseDynamic -f makefile.px2
- 運行:
AppPlayer.ReleaseDynamic
Linux Raspberry
- 編譯引擎庫libPX2Engine.so:
在目錄Phoenix/Phoenix中執(zhí)行:make CFG=ReleaseARMDynamic -f makefile.px2
- 安裝引擎庫:
在目錄Phoenix/Phoenix中執(zhí)行:sudo make CFG=ReleaseARMDynamic -f makefile.px2 install
- 編譯項目庫General.so:
在目錄Phoenix/Phoenix/Projects/Client/General中執(zhí)行:make CFG=ReleaseARMDynamic -f makefile.px2
- 運行:
AppPlayer.ReleaseARMDynamic
Android
目前我們使用的還是舊的Android編譯方法胡桃,使用Crygwin進行編譯踩叭。編譯環(huán)境配置方法,我還在寫标捺。
項目
Bin/Dat/General 是一個空項目
Data下的boost.xml決定從哪個項目啟動
boost.lua可以對啟動項二次修改
項目運行前,執(zhí)行揉抵,General/lua/start.lua中的prestart
緊接著運行亡容,執(zhí)行,General/lua/start.lua中的start