Phoenixcreate 概述

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,288評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,241評論 4 61
  • 閱讀進度: B2 C5-7 @2017/3/30 果然昨天說的閱讀速度變快是因為講愛情的緣故= = 這三章講的內容...
    冰洛洛閱讀 341評論 0 2
  • 帶上一點感情說 我在這里已經很久了 我沒能摘下你的幸福愿望 我會放棄的 就如你現在對我的不屑一樣 我還不配有感情 ...
    百里Barry閱讀 123評論 0 0