nunuStudio是一款支持 3D 以及 VR 应用的 three.js 框架,可以直接在浏览器上运行,不需要使用 WebGL 和 WebVR 等额外的插件。它提供了一个可视化的场景编辑器、代码编辑器、可视化工具来编辑纹理、材质、粒子发射器等等。
宗旨为:“3D content that runs everywhere!”
特性
可视化应用程序编辑器
基于three.js
支持实时照明和阴影映射
three.js 代码可以在 nunuStudio 脚本中使用
支持各种文件格式
支持 TTF 字体
可直接拖拽文件到对象
NWJS 和 Cordova 用于简单的桌面和移动设备部署
物理引擎(cannon.js)
SPE 粒子系统
支持微软的 Kinect 和 Leap Motion
微软的 Kinect 仅支持 Windows 项目
兼容 WebVR 1.1
案例
运行
nunuStudio 应用程序在 web 页面中使用
web 网页上 nunuStudio 的嵌入式应用程序可使用如下代码
全屏然后使用 VR 默认按钮,nunuStudio 可导出整个页面的 web 应用程序
var app = new NunuApp();
app.setCanvas(canvas);
app.load("app.isp");
app.run();
//On exit callback
app.onExit(function()
{
//TODO <Exit callback>
});
//Resize app
function resize()
{
app.resize();
}
//Toggle fullscreen
function toggleFullscreen()
{
app.setFullscreen();
app.resize();
}
//Toggle VR mode (if available)
function toggleVR()
{
if(app.vrAvailable())
{
app.toggleVR();
}
}
技术
nunuStudio 使用了许多开源项目:
NWJS
nwjs.io
three.js
github.com/mrdoob/three.js
opentype
opentype.js.org
SPE
github.com/squarefeet/ShaderParticleEngine
Cannon.JS
schteppe.github.io/cannon.js
JSColor
jscolor.com
CodeMirror
codemirror.net
LeapJS
github.com/leapmotion/leapjs
JSHint
jshint.com
YUIDocs
yui.github.io/yuidoc
更多内容,详见 Github:https://github.com/tentone/nunuStudio