程序编写概述
本文介绍了使用Unigine引擎创建项目的几种方式。
主要目的是让您对开发环境的设置有所了解,同时也对有关编程的内容作了概述。 文中包含了有助于您搭建开发环境,选择编程语言等等内容的其它章节的链接。
编程语言#
要想在Unigine引擎的基础上创建自己的项目,您可以使用如下编程语言:
- UnigineScript。
- C++,具体由Unigine的C++ API实现。
- C#,具体由Unigine的C# API实现。
通过Unigine API,UnigineScript脚本可轻松实现功能扩展。 Unigine引擎不仅可以导出C++代码和C#代码,也可以导入这两种语言代码。 您可以使用C++或C#语言编写某一功能,然后将其导出到UnigineScript脚本。 参看C++ API和C# API的用法举例篇章了解更多内容。
支持平台#
Unigine支持如下系统平台:
- Windows (XP / Vista / 7 / 8+)
- Linux (kernel 2.6+)
- OS X (10.9+)
引擎支持这些平台的32位和64位版本。 Unigine可充分高效地利用多核CPU架构。
在使用Unigine时,您只需用单一代码库就可构建所有这些平台的应用。
参阅硬件需求一章了解更多详情。
开发环境#
您可以选用如下任意PC平台来开发您基于Unigine构建的项目:
- Windows
- Linux
- OS X
为了能进行代码的编写,除了要有Unigine SDK,每个平台也都会要求您安装特殊软件。 您可以从如下章节中了解每个平台的具体需求:
执行序列(Execution Sequence)#
应用的逻辑通常放置在World(世界)脚本中。 World(世界)脚本文件在新建虚拟世界时也一同被自动创建(它的文件扩展名为.cpp)。 World(世界)脚本的初始化功能(init())被用来在加载虚拟世界时创建对象以及初始化所有其它必要资源。 该脚本的关停功能(shutdown())会在卸载虚拟世界时被调用,其作用是删除那些在脚本执行期间被创建的资源,以避免内存泄露。 对于逐帧的更新,World(世界)脚本具有如下三种功能:
- update() - 用于实现渲染逻辑(与图形相关的所有内容)。
- flush() - 用于实现物理,计算以及与渲染无关的逻辑。
- render() - 用于节点更新后其行为的更正。
阅读该链接章节可了解您的逻辑代码须放置的位置。 此外,阅读Execution Sequence(执行序列)一章可了解Unigine引擎的详细工作流。
用法举例#
用法举例中包含了三部分范例:
所有支持的平台使用的编程代码都一样,不同之处只是编译环节。
所有这些范例都是我们通过Project Generator(项目生成器)创建的新项目。 项目生成器可创建带有World Light(世界光)光源和平面网格(mesh)的新虚拟世界。