Babylonjs基础入门-Babylonjs中的基本元素使用
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较为复杂,我们后面再讲解吧。
小结
本课介绍了一些基本的元素,如正方体、球、平面,快试一下,怎么绘制这些东西吧。
原文地址:https://www.hellodemos.com/hello-babylonjs/babylonjs-discover-basic-elements.html
WEBGL学习网(WebGLStudy.COM)专注提供WebGL 、ThreeJS、BabylonJS等WEB3D开发案例源码下载。
声明信息:
1. 本站部分资源来源于用户上传和网络,如有侵权请邮件联系站长:1218436398@qq.com!我们将尽快处理。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源打赏售价用于赞助本站提供的服务支出(包括不限服务器、网络带宽等费用支出)!
7.欢迎加QQ群学习交流:549297468 ,或者搜索微信公众号:WebGL学习网
WEBGL学习网 » Babylonjs基础入门-Babylonjs中的基本元素使用
WEBGL学习网 » Babylonjs基础入门-Babylonjs中的基本元素使用