如何使用Babylonjs中的线条绘制一个盒子区域?

时间:2017-03-10 09:28:35

标签: javascript babylonjs

我正在尝试在babylonjs项目的地板上创建一个方框,我知道我需要为每个点创建一个向量,但我无法弄清楚标记点需要什么。

posOne = new BABYLON.Vector3(10, 0, -100)
posTwo = new BABYLON.Vector3(-100, 0, 10)
posThree = new BABYLON.Vector3(100, 0, 10)
posFour = new BABYLON.Vector3(10, 0, 100)

const updatePath = () => {
    path = [];
    path.push(posOne);
    path.push(posTwo);
    path.push(posThree);
    path.push(posFour);
};

updatePath();
var linesMesh = BABYLON.Mesh.CreateLines("lines", path, scene, true);

到目前为止我有这个,但我似乎无法连接线条或让它们形成一个正方形。我对数学很苛刻,所以知道这背后的理论会很有趣!

1 个答案:

答案 0 :(得分:1)

首先 - 游乐场:http://www.babylonjs-playground.com/#XBGEQ

要创建一个框,您需要连接5个点(最后一个点与第一个点相同)。如果oyu希望它们处于相同的高度,那么y轴(如你所知)也应该保持为0.然后,只需了解下一个点的位置即可。

假设盒子应该是10个单位宽。 “上”左核心是(-5,0,5),因为x是负的,z是正向的。下一点,“右上角”是(5,0,5)。从那里你“向下”(实际上向你)到(5,0,-5)并最终到(-5,0,-5)。然后,只需添加第一个点即可完成该框。