如何在THREE.JS中创建可调整大小的对象

时间:2013-01-25 14:56:39

标签: three.js webgl

假设我有一个简单的立方体和一些指定其宽度,高度和深度的变量。

当w / h / d发生变化时,如何更新我的THREE网格? (我还有其他一些像changelisteners等)。我是否直接更新顶点?或者重新绘制所有内容更容易?

1 个答案:

答案 0 :(得分:5)

我认为最简单的方法是创建一个单位尺寸(1x1x1)的立方体。然后通过缩放来设置尺寸:

mesh.scale.x = width;
mesh.scale.y = height;
mesh.scale.z = depth;

实际上不确定网格是否支持缩放,否则,您可以将其包装在Object3D

var obj = new THREE.Object3D();
    obj.add(mesh);
obj.scale.x = width;
obj.scale.y = height;
obj.scale.z = depth;

没有什么可以阻止你直接修改顶点。在这种情况下,我认为您需要指定geometry.dynamic=true;然后指定geometry.verticesNeedUpdate=true;