Phoenixcreate 概述

字数 1203阅读 32

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...
  • 阅读进度: B2 C5-7 @2017/3/30 果然昨天说的阅读速度变快是因为讲爱情的缘故= = 这三章讲的内容...
  • 带上一点感情说 我在这里已经很久了 我没能摘下你的幸福愿望 我会放弃的 就如你现在对我的不屑一样 我还不配有感情 ...