Babylon.js Apis – MeshBuilder

MeshBuilder

MeshBuilder 是包含一系列创建形状函数的类,下表中包含了所有相关的 api:

表中所有的函数都是静态函数,即必须通过构造器直接调用(MeshBuilder.Xxxxx)。

函数名称 作用 描述
CreateBox [2]
CreateCylinder
CreateDecal
CreateDisc
CreateGround
CreateGroundFromHeightMap
CreateIcoSphere
CreateLathe
CreateLineSystem
CreateLines
CreatePlane
CreatePolygon
CreatePolyhedron
CreateRibbon
CreateSphere
CreateTiledGround
CreateTorus
CreateTorusKnot
CreateTube
ExtrudePolygon
ExtrudeShape
ExtrudeShapeCustom

CreateBox(name: string, options: object, scene?: Nullable): Mesh

创建规则的盒子形状(长方体,正方体等等)

参数

name: string

该形状的名称。

options: object

该选项对象中所有的属性都是可选的

名称 类型 可选? 描述
backUVs Vector4 yes
depth number yes 相当长度(长方体)
faceColors Color4[6] yes 6个数组长的Color4 对象,标识每个面的颜色
faceUV Vector4[6] yes 每个面的形状
frontUVs Vector4 yes
height number yes
sideOrientation number yes
size number yes width, height, depth 默认都是这值
updatable boolean yes
width number yes

来看看每个属性设置后的效果:

  1. 无属性选项,默认盒子

    const createBox = scene => BB.MeshBuilder.CreateBox('box', {}, scene)

    效果:

    img

    默认的比例是: width:height:depth = 1:1:1

  2. 修改 width, height, depth, size 属性值,增加一倍(2)

    宽度加一倍:

    效果:

    img

    宽高加倍:

    img

    宽高长加倍或统一由 size 来设置:

    img

  3. 面的颜色配置 faceColors

    faceColors 数组每个元素所对应的各面表:

    faceColors[4] = new BB.Color4(1, 0, 0, 1) // red top

    faceColors[1] = new BB.Color4(0, 1, 0, 1) // green front

    上面的代码创建的是个前面是绿色,顶面是红色的正方体:

    img

    根据下面的设置可以定位数组每个元素所对应的那一面:

    索引体面方位
    0正后方
    1正前方
    2右侧
    3左侧
    4顶部
    5底部

    官方实例链接(效果查看该链接):https://www.babylonjs-playground.com/#ICZEXW#5

    1
    2
    3
    4
    5
    6
    faceColors[0] = new BABYLON.Color4(0,0,1,1); // blue back
    faceColors[1] = new BABYLON.Color4(0,1,0,1); // green front
    faceColors[2] = new BABYLON.Color4(0,0,0.5,1); // deep blue right
    faceColors[3] = new BABYLON.Color4(0,0.5,0,1); // deep blue left
    faceColors[4] = new BABYLON.Color4(1,0,0,1); // red top
    faceColors[5] = new BABYLON.Color4(0.5,0,0,1); // deep red bottom

scene: Nullable

该形状所在的场景(画布)

本文标题:Babylon.js Apis – MeshBuilder

文章作者:ZhiCheng Lee

发布时间:2019年05月08日 - 09:19:39

最后更新:2019年05月08日 - 14:23:01

原始链接:http://blog.gcl666.com/2019/05/08/babylon_api_meshbuilder/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%