Babylonjs中的基本元素使用


介绍

前面的课程,讲了一个例子,但是还不够丰满,我们需要向例子里面加入更多的基本元素,才能让例子更完美。 在Babylon.js有盒子, 球体, 和平面等基本元素。


先看看babylonjs创建盒子吧

男孩子要女孩子喜欢,需要经常送一些礼物,我们从送礼物的盒子开始吧。

先看效果

       **创建一个盒子**,下面是创建盒子的两种方式
var box = BABYLON.MeshBuilder.CreateBox("box", {}, scene); // default box
var myBox = BABYLON.MeshBuilder.CreateBox("myBox", {height: 5, width: 2, depth: 0.5}, scene);
  • 参数一:盒子的名字
  • 参数二:盒子的基本属性
  • 参数三:它将放到场景的变量

盒子第二个基本属性参数可以是下面的值:

选型 默认值
size 盒子边长大小 1
height 盒子高度,写了size就没用了 size
width 盒子宽度, 写了size就没用了 size
depth 盒子深度, 写了size就没用了 size
faceColors (Color4[]) 盒子6个面的颜色,是一个6个元素的Color4数组 每个面默认白色Color4(1, 1, 1, 1)
faceUV (Vector4[]) 盒子6个面的法向量 默认法向量UVs(0, 0, 1, 1)
updatable 这个网格是否可以更新 false 不可以更新,就是不可以改变其属性
sideOrientation (number) 盒子绘里面,还是外面 DEFAULTSIDE

可能有几个参数不是很明白,没关系,可以在下面留言,告诉老师你哪里不清楚哦。


babylonjs创建一个球体

BABYLON.MeshBuilder.CreateSphere是创建一个球体,其实第一课已经创建。

先看效果

var sphere = BABYLON.MeshBuilder.CreateSphere("sphere", {}, scene); //default sphere

var mySphere = BABYLON.MeshBuilder.CreateSphere("mySphere", {diameter: 2, diameterX: 3}, scene);
  • 参数一:球体的名字
  • 参数二:球体的基本属性
  • 参数三:它将放到的那个场景的变量

参数二是一个元组,可取值如下:

选型 默认值
segments 细分段数 32
diameter 圆的半径 1
diameterX x轴径大小, 如果写了会重写diameter参数 diameter
diameterY y轴径大小, 如果写了会重写diameter参数 diameter
diameterZ z轴径大小, 如果写了会重写diameter参数 diameter
arc 这是一个比较难的参数,建议你想放弃理解 1
slice 同上 1
updatable 这个网格是否可以更新,false 不可以更新,就是不可以改变其属性 false
sideOrientation (number) 盒子绘里面,还是外面 DEFAULTSIDE

可能有几个参数不是很明白,没关系,可以在下面留言,告诉老师你哪里不清楚哦。


babylonjs创建一个平面

BABYLON.MeshBuilder.CreatePlane是创建一个球体,其实第一课已经创建。

先看效果

var plane = BABYLON.MeshBuilder.CreatePlane("plane", {}, scene); // default plane

var myPlane = BABYLON.MeshBuilder.CreatePlane("myPlane", {width: 5, height: 2}, scene);
  • 参数一:平面的名字
  • 参数二:平面的基本属性
  • 参数三:它将放到的那个场景的变量

参数二是一个元组,可取值如下:

选型 默认值
size 平面的长、宽大小 1
width 单独设置平面的长 size
height 单独设置平面的宽 size
updatable 这个网格是否可以更新 false
sideOrientation 盒子绘里面,还是外面 DEFAULTSIDE
frontUVs 正面的法向量数组 Vector4(0,0, 1,1)
backUVs (Vector4[]) 背面的法向量数组 Vector4(0,0, 1,1)
sourcePlane (Plane) source plane (maths) the mesh will be transformed to null

上面涉及到法向量等概念,也许你还没在其他书中学过,不过没关系,我们会在后面详细讲解,不要错过哦。

最后一个参数sourcePlane较为复杂,我们后面再讲解吧。


小结

本课介绍了一些基本的元素,如正方体、球、平面,快试一下,怎么绘制这些东西吧。