关于此课程

本教程翻译自官方教程About This Course,各位也可以进入本站镜像站点查看

    本课程将一步一步的引导你学会babylon引擎,使用它的一些基本功能来制作场景(场景,英文scene,用于babylon的视觉展示,相当于canvas2d的Context,可以往其中添加3d物体),在学习的每个阶段,我们将对babylon各方面的技术细节进行深入.

一个Playground实例

Playground是babylon官方提供的一个类似codeopen的js代码执行环境,今后本课程的所有实例都将使用Playground进行展示。

    在以上的例子中,你会看到场景包含一个相机、一组灯光和一个球体。球体是babylon的基本形状之一,可以任意加入到场景中,就像在canvas2d中画圆。babylon会提供很多形状的物体(在babylon中称为mesh,3d世界中的形状都是一种网状结构,然后把它通过算法连接并画出来,直译成 网格 会比较别扭,所以今后中文教程统一翻译成 形状物体 ,简称 物体 ),让你使用起来非常的方便。除了众所周知的矩形、球体和圆柱体等一些常规形状外,我们还可以使用挤压和车床等技术来创建特殊的程序化形状物体。在本课程的第4和5章节,我们将展示如何使用这些物体。

    加入了这些形状物体到你的场景之后,你肯定想知道如何改变它们的位置并且对它们进行旋转操作,所以第6章将进行介绍。介绍到目前为止,物体都没有好看的皮囊,因此在第7章我们会介绍材质、纹理的使用,为你的物体着色、贴图,总的来说就是让它更好看。

    和2d平面只有一个视角不同,3d世界中你必须自己设置从哪个角度观看你的场景,是从远距离环绕查看场景,还是像第一人称射击游戏那样体验场景?只要选择一种类型的相机并设置好它的视角就行,我们将在第8章进行介绍。为了让场景亮起来并产生不一样的氛围,我们需要为它设置灯光,第9章将会介绍灯光的类型和具体设置。

    如果看完了前9章的内容,你应该已经对babylon有了初步的认识,那么从现在开始我们将进一步探索babylon的进阶功能,目的是让你的场景更加灵动。一个场景里的元素如果不能动,那就是没有灵魂的设计,在第10章我们会介绍动画。在第11、12章将会介绍相机、物体以及它们之间的碰撞识别,这些可以实现一个第一人称射击游戏,也是很多炫酷物理碰撞效果的基础。很多时候我们也需要鼠标与场景中的物体产生交互,例如选中某个物体,这个内容在第13章介绍。各位可以想象一下,我们用枪射出一发子弹,然后子弹会击中若干目标,这个功能可以用在射击游戏中,并且也可以用于选中多个物体,在babylon中这个功能叫 raycasts ,顾名思义就是投射光束的意思,我们将在第14章进行介绍。

    虽然我们处于3d世界,但是加入某些2d元素也会让你的3d场景更加生动,我们将在第15章介绍 sprite (精灵和精灵动画)。精灵也可以用来形成粒子,产生火焰、烟雾、闪光、雪花和仙尘等效果,粒子是非常重要的特效手段,我们会在第16章学习到这部分内容。

    最后我们会对场景效果提供进一步的优化措施。在第17章里学习为场景添加一个蓝天白云的天空或者若隐若现的雾气,在18章学会制作一个有高山峡谷的地形,在19、20章学习为物体添加阴影,使物体更加的真实。

现在让我们进入下一章迈出第一步-让babylon运行起来

贡献者

翻译/校对: Cow&Sheep
Playground: 天才
技术支持: Dushusir github

参与贡献? 联系alexads@foxmail.com