Verge3D开发者工具包

Verge3D开发者工具包(DevKit)是一个示例、工具和源代码的集合,通过 Verge3D企业版 提供。这个集合将帮助您执行各种开发任务,例如:

开发者工具包是为那些希望修改引擎的经验丰富的程序员准备的。创建具有标准功能设定的Verge3D应用时,并不需要它。

安装和配置

从您的 帐户仪表板下载区域获取DevKit压缩包。将此压缩包解压到自定义目录中。

如果您想从源代码构建Verge3D引擎或拼图,需要使用 npm 工具,它是 node.js 运行时的一部分。您可以参照 如下说明安装 npm

最后,进入DevKit的解压目录,执行下面的命令来安装依赖项:

npm install

DevKit结构

新安装的DevKit包括以下目录:

目录 说明
addons/verge3d Blender插件的源代码(仅用于Verge3D for Blender)。
build 预构建的Verge3D引擎脚本和附加模块(ammo.js等)。
max_plugin 3ds Max插件的源代码(仅用于Verge3D for 3ds Max)。
maya_plugin Maya插件的源代码(仅用于Verge3D for Maya)。
puzzles 拼图编辑器的预构建脚本和源代码。
python Python 3运行时和实用程序模块。
src Verge3D引擎源代码。
templates Verge3D应用模板。
WordPress Verge3D for WordPress 插件源代码。
xz XZ压缩模块的源代码。

构建Verge3D

在编译Verge3D之前,请确保您已经安装了 npm 和所有所需的依赖项,如上所述。

要测试和调试Verge3D,您可以编译 未优化 的build,请在DevKit目录中执行以下命令:

npm run build

您可以在devkit的build目录中找到编译好的模块。要对其进行测试,只需将 v3d.js 引擎模块复制到Verge3D安装内部的应用中,例如:

cp build/v3d.js ~/verge3d/applications/my_awesome_application/

如果要编译 已优化的 Verge3D(也称为发行版),请在DevKit目录中执行以下命令:

npm run build-release

以下命令用于构建拼图逻辑编辑器。建立一个 未优化的 版本类型:

npm run build-puzzles

建立一个 已优化的 版本,执行:

npm run build-puzzles-release

您可以在DevKit的 puzzles 目录下找到已编译好的拼图编辑器脚本:要将其应用到Verge3D,请将该目录的全部内容复制到Verge3D安装中的 Puzzles 目录(替换已存在的文件)。

添加新方法到JavaScript API

假如您想添加一个额外的方法到 App 类中。例如, PrintHelloWorld() 方法可将指定内容打印到浏览器控制台:

App.printHelloWorld()

这一 App 类通过位于 src/extras/app.js 的模块实现。打开并将以下代码添加到文件的末尾,即 App 类的关闭括号之前。别忘了在前一个方法代码的末尾再加一个逗号。

printHelloWorld: function() { console.log('Hello World!'); }

构建 并将拼图运行库复制到Verge3D安装文件夹中。您现在可以在拼图编辑器中尝试新添加的模块。

向JavaScript API添加新类

要用一些自定义类来补充Verge3D API,请在DevKit的 src 文件夹的相关子目录(例如src/extras/myawesomeclass.js)中创建一个以类命名的.js文件。在这个.js文件中实现自定义的类——您可以从已经存在的类中得到启发。最后,通过在 src/v3d.js 文件中添加以下行,在全局名称空间 v3d 中注册您的类:

export { MyAwesomeClass } from './extras/MyAwesomeClass.js';

构建 并将Verge3D运行库复制到应用中,然后在浏览器控制台中试用。

var myAwesomeStuff = new v3d.MyAwesomeClass(); myAwesomeStuff.whatEver();

添加新的拼图

要创建自定义拼图块,请编辑 Puzzles/src/puzzles_blocks.js 文件。您可以从现有的拼图中得到启发。将其注册到文件顶部的相关工具箱类目中。

构建 并将拼图运行库复制到Verge3D安装文件夹中。您现在可以在拼图编辑器的工具箱中找到新的拼图了。

遇到问题?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。