BabylonJS娱乐场---基于WebGL的H5 3D游戏引擎

BabylonJS娱乐场!

一个用于保存”定制的”BabylonJS场景的网站: http://babylonjs-playground.azurewebsites.net/#QKQHS

它是什么?

该BabylonJS 娱乐场是一个在线的白板式,可试验的应用程序. 用于辅助创建基于Javascript的网页图形库框架BabylonJS的场景.  为了试验该娱乐场你的浏览器必须支持WebGL-而且激活Javascript.    大多数的现在浏览器都支持.

简单的说, 你可以在BabylonJS游乐场的左边编辑器输入或修改基于Javascript的场景代码, 按下运行按钮, 然后娱乐场将尝试在页面的右边区域里使用最新的BabylonJS框架版本渲染WebGL场景.

顶部菜单

娱乐场的顶部菜单当前包含8个按钮:

运行 - 运行按钮很容易理解. 在你往编辑器里粘贴代码后, 或在你修改编辑器里的代码后, 按下运行.  这个命令娱乐场渲染你的场景.

保存 - 保存按钮将使你的场景永久的保存到娱乐场的数据库里, 然后产生一个唯一的网址, 我们下面会更多的谈论它.  别担心意外覆盖娱乐场里任何预装的场景.  那个不会发生的. 通常, 保存按钮用在你要和其他人分享你的场景时, 或者用在你要将场景作为书签保存到浏览器里时, 这样你可以回来继续工作.

获取.zip压缩包 - 获取.zip压缩包按钮是娱乐场提供的一个方便特征. 如果你想把你的场景带回家, 或发布到某个网站服务器上, 或者发送给其他人, 这个按钮就是为你提供的.  获取.zip压缩包 尝试将你编辑器里的代码放入一个单一的index.html文件, 然后把之打包进一个叫做sample.zip的压缩文件里.  最后把这个sample.zip文件提供给你下载.  一旦你下载并解压, 你就会看到名为index.html的文件.  你能用一个支持WebGL的浏览器打开该文件, 你会发现场景被浏览器渲染得妥妥的在那.  当确定index.html文件工作正常后, 你也许想将之发布到某个网页服务器上, 然后同全世界分享你漂亮的娱乐场场景.  没有必要安装诸如babylon.js和hand.js的框架文件到index.html文件的附近目录, 因为index.html文件里引用了和在线娱乐场框架使用的一样版本.  index.html文件已经可以运行并且完全可移植.  (我们爱死它了!)

新建 - 新建按钮是个独特且方便的特征. 如果你仔细查看过上面图片里编辑器中的代码, 或者如果你在娱乐场场景的下拉选择器里选过某个预装的场景, 你应该会注意到’包裹’在一个叫做’createScene()’函数里的部分.  该createScene()函数是个在许多BabylonJS场景里都会被使用的非常普通的函数.  BabylonJS框架用户经常复制和粘贴createScene()的内容.  通过按下这个按钮, 你将清空编辑器里的内容, 然后一个已经编写好基础内容的createScene()函数会出现在编辑器里.  已提供一个默认的相机, 但是你也许想加些光源和网格, 以便新的场景可以被渲染.

清除 - 清除Clear按钮也很容易理解. 这个按钮简单的清空娱乐场编辑器里的所有代码.  它经常用在已经准备好代码而要直接往里粘贴createScene()函数代码时, 或者用在当你准备做些试验的代码尝试时.  BabylonJS娱乐场是使用BabylonJS框架来创建试验代码的非常棒的地方.  它是个美妙的学习方法.

字体大小 - 字体大小按钮几乎不需要解释. 该按钮和它提供的下拉选择器允许你修改娱乐场编辑器里代码的字体大小.

场景选择器 - 这个下拉选择器按钮 (上图里显示为’定制’)…是用来从预装的娱乐场演示场景里自由选择场景的.  ‘定制’并不是任何一个演示场景的名称.  它被称为’定制’是因为那个图片中编辑器里的场景是一个’定制’的场景.  它是个修改了些基础场景的演示(为上图而创建的).  通常, 当你第一次打开娱乐场站点时, 那个按钮会被标为’基础场景’.  无论那个按钮上标注的是什么, 它都被叫做场景选择器 按钮.

全屏 - 全屏按钮也只需非常少的解释. 这个按钮会使右边的渲染画布进入全屏模式.  在进入全屏模式时, 你的浏览器会提供指令来退出全屏模式或返回到娱乐场的默认分屏模式.

编辑器

娱乐场左边的代码编辑器是个基于Ace 编辑器的一个’智能’编辑器.  娱乐场编辑器有许多奇妙的特征.  它具有输入预判的特征, 比如自动补全匹配的引号, 小括号, 大括号, 和方括号… 这对编程编辑器是非常方便的.  它尝试标出编程错误点, 而且当它发现潜在的语法问题时会在编辑器左边放置小图标.  如果你把鼠标指针指向那些小图标,编辑器会弹出一个小窗口告诉你它发现了什么问题.  编辑器也有语法加亮,代码折叠,文本拖拽,自动缩进及扩充等功能, 而且有4百万行的容量. 讲述编辑器的大量特征超越了本教程的范围.  通过访问Ace编辑器的网站你能够学习到更多的Ace编辑器知识,而且通过花更多时间在使用娱乐场编辑器上也可以.

弄糟了咋办 - 任何编辑器的重要特征之一是 撤销和重做, 我们的娱乐场编辑器完全支持这两个特征.  我并不熟悉所有操作系统里的撤销和重做操作键,, 但知道Windows系统里撤销键是Conntrol-z 而且重做键是 Shift-Control-z.  你也可以多次地执行撤销和重做。这个非常方便,我们再次爱死它了。

渲染画布

对于BabylonJS的网页图形库渲染画布你怎么评价, 没有比这个说法更牛逼了:”它是这个星球上最酷的事情!”.  娱乐场的右边部分是BabylonJS网页图形库框架用来渲染场景的区域,而且你可以通过左边的编辑器实时控制场景.  渲染出来的画布还是空白么?  你点击了运行按钮么?  你有创建相机么?  相机的目标设置正确么?  你网格的材质设置好了光源或散射颜色么?

如果你的代码已经包含在createScene()函数里, 那在该函数的顶部有这行代码么var scene = new BABYLON.Scene(engine),?  函数尾部的大括号里最后一行是否有return scene;呢?  你是否有创建一个网格对象,诸如:盒子, 圆柱体, 地面, 球体, 平面, 圆环体, 圆环节等?

你是在自由模式下运行而且没把你的代码放到createScene() 函数中么?  那样当然也是允许的,只是你仍然需要一个相机,一个光源和一个网格造型。.  缺乏这些会导致你的场景渲染失败.  好好研究下娱乐场场景选择器里下拉演示场景, 你很快会成为一名BabylonJS娱乐场专家的。

编译错误

这是张娱乐场弹出的编译错误检测面板的图片。  编译错误是当你点击运行按钮后BabylonJS框架检测出来的错误.  它不是编辑器检测到的语法错误, 但是编辑器也可能检测到它并使用红色X图标在其左侧将问题标示出来。编辑错误里并不总能包含错误的关键点,但它仍然很方便.  它告知你BabylonJS框架已经对你场景代码有些不爽拉。  你调整代码后在点击运行按钮前也许希望关闭弹出的编译错误提示(通过它边上的X按钮).

娱乐场网址的格式

当你首次访问BabylonJS娱乐场网站时, 你浏览器地址栏里的网址看起来会像这样:

http://www.babylonjs.com/playground/

如果你从下拉的场景选择器里选一个场景后, 娱乐场的网址会变成这样:

http://www.babylonjs.com/playground/#

(可以自行编辑演示场景的代码然后点击运行或保存. 你不可能毁坏预装的演示程序的)

当你想同人分享网址或为以后的工作记住场景而将一个场景保存到娱乐场数据库里时,那么网址看起来会像这样的:

http://www.babylonjs.com/playground/#QKQHS

(记得用浏览器的书签保存好)

如果你再次保存场景… (也许是在对场景做了更多工作之后), 那个网址将增长, 看着像这样子的:

http://www.babylonjs.com/playground/#QKQHS#1

如果再次保存… 网址还增长, 看起来像这样:

http://www.babylonjs.com/playground/#QKQHS#2

(再一次提醒, 务必用书签保存这个网址,以便之后你能很容易的把它找回来)

而且最后, 如果你想加载一个特殊的预装演示场景, 比如第12个演示场景, 你可以这样访问网址:

http://www.babylonjs.com/playground/?12

保持焦点

有时候你运行一个场景,然后在渲染画布里使用光标键和鼠标, 最后想将焦点返回到编辑器里以便做更多的代码修改.  有时候, 你要在编辑器里其它区域点击鼠标以便重新设定编辑器焦点.  一旦编辑器有了新焦点, 你的编辑器光标键就会再次移动.  这个常在场景里有激活的自由相机时发生。.

最后… 甩个包袱

嘿,谢谢阅读本教程,一并谢谢探究了BabylonJS娱乐场.  我们为之自豪, 也认为你会喜欢它.  这个教程还非常的新,而且将会经常的改变.  记得回来检查更新,学习新特征哦.

BabylonJS娱乐场位于……

请在我们的论坛上自由讨论BabylonJS娱乐场或者BabylonJS框架的其它话题, 论坛位于……

原文地址:http://doc.babylonjs.com/generals/The_Playground_Tutorial

github上译文地址:https://github.com/h53d/babylonjs-doc-cn/blob/master/target/generals/Essentials/The_Playground_Tutorial.md

时间: 2024-10-09 20:32:18

BabylonJS娱乐场---基于WebGL的H5 3D游戏引擎的相关文章

BabylonJS文件格式---基于WebGL的H5 3D游戏引擎

Babylon.js 使用JSON文件格式来描述场景. 你可以在这儿找到完整的加载器代码: https://github.com/BabylonJS/Babylon.js/blob/master/src/Loading/Plugins/babylon.babylonFileLoader.js 基础类型 .babylon 文件使用下面的约定来定义基础类型: Vector3: 一个含有3个浮点数([x, y, z])的数组. 例子: [1.1, 2.2, 3.3] Vector4: 一个含有4个浮点

Babylonjs 初级教程---微软的基于webgl的H5 3D游戏引擎

Babylon.js 页面图像库 游戏创建系统! Hi!欢迎阅读 Babylon.js 初级教程, 这是后面学习最棒的基于Javascript的网页图形库框架所需必备知识的一个基础介绍. 你想知道什么是框架么?  你可以把框架认为成 建筑里的脚手架, 它支撑你围绕它创建新东西而不必为底层细节操心. Babylon.js构造里一个复杂的系统, 让网页图形库更容易使用. 我们希望以一种非常快速的方式教给你大量的信息.  通常这里的任务都有多于一种方式达成.  我希望你自己去发现其它的方式.  根据对

创建基础场景---基于WebGL的H5 3D游戏引擎BabylonJS

在本教程里, 我们将用Babylon.js创建一个基础的3D场景. 具有两个造型物的基础场景 在你开始之前,请确定你有个支持WebGL的浏览器 (比如:IE11+, 火狐4+, 谷歌浏览器9+, Opera15+, 等.). HTML部分 首先, 创建一个基础的HTML5网页: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

探索基础元素---基于WebGL的H5 3D游戏引擎BabylonJS

介绍 在本教程, 我们将学习如何使用Babylon.js创建基础元素, 比如盒子, 球体, 和平面. 娱乐场演示场景2 - 七个基本形状/网格 我怎么做到这个 ? 一个简单的方法是通过访问娱乐场演示场景 02来开始使用基础元素. 你可能想使用弹出菜单的'下载.zip压缩包' 选项. 你得到的zip压缩包里的index.html文件,包含有你开始创建基础元素所需的一切. 记住那个链接, 因为我们将更多的谈论到它. 我确定你已经读过Babylon.js初级教程 和 先前的教程, 因此你应该知道如何设

Top 10:HTML5、JavaScript 3D游戏引擎和框架

由于很多人都在用JavaScript.HTML5和WebGL技术创建基于浏览器的3D游戏,所有JavaScript 3D游戏引擎是一个人们主题.基于浏览器的游戏最棒的地方是平台独立,它们能在iOS.Android.Windows或其他任何平台上运行. 有很多的JavaScript能够用于创建基于浏览器.使用HTML5和WebGL的3D游戏.然后,选择一个合适的游戏引擎是一个不小的挑战,它有时能帮你完成项目或突破项目瓶颈. 为了让你的选择变的容易,我们已经通过分析大多数JavaScript 3D游

HTML5、JavaScript 3D游戏引擎和框架

由于很多人都在用JavaScript.HTML5和WebGL技术创建基于浏览器的3D游戏,所有JavaScript 3D游戏引擎是一个人们主题.基于浏览器的游戏最棒的地方是平台独立,它们能在iOS.Android.Windows或其他任何平台上运行. 有很多的JavaScript能够用于创建基于浏览器.使用HTML5和WebGL的3D游戏.然后,选择一个合适的游戏引擎是一个不小的挑战,它有时能帮你完成项目或突破项目瓶颈. 为了让你的选择变的容易,我们已经通过分析大多数JavaScript 3D游

Java 3D游戏引擎——JME(java Monkey Engine)

转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java 3D游戏引擎 一直以来,由于性能等原因,Java并不是3D图形应用的主流平台,但随着各种新技术的出现,这种情况有了很大改变.从开始的JIT.Static compilers,到现代的HotSpot技术,使Java程序的运行效率越来越高,目前已经接近于C++程序.此外,通过JNI技术,Java程序可以调用任

吴涛作品介绍-易语言和VOLCANO 3D游戏引擎

易语言 易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言.易语言降低了广大电脑用户编程的门槛,可以通过使用本语言极其快速地进入Windows程序编写的大门. VOLCANO 3D 游戏引擎 VOLCANO是一款MMORPG(大型多人在线角色扮演)3D网络游戏的开发引擎,用作支持用户快速并简单地开发具有真实游戏环境和丰富游戏玩点的游戏. 易语言 易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言.易语言降低了广大电脑用户编程的门槛,尤其是根本不

3D游戏引擎系列九

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN课程视频网址:http://edu.csdn.net/lecturer/144 Phong 着色法是结合了多边形物体表面反射光的亮度,并以特定位置的表面法线作为像素参考值,以插值方式来估计其周围位置像素的色值.与Gouraud着色法比较,Phong着色法的效