如何在创建后更改Box的尺寸/尺寸?

时间:2016-01-29 01:35:32

标签: javascript three.js

可以轻松创建THREE.BoxGeometry,在创建宽度,高度和深度的三个独立参数时必须传递参数。

我想创建没有参数的任何和所有THREE[types](),并在此之后设置值。

有没有办法在创建后设置盒子几何体的尺寸/大小(可能已经埋在网格中)?除了缩放等。

如果是这样,我在文档中找不到这个,否则可能是一个主要的功能请求,如果不是那里的bug。有关如何对此进行分类的任何想法?也许只是一个文档更改。

2 个答案:

答案 0 :(得分:4)

如果要缩放网格,则有两种选择:缩放网格

mesh.scale.set( x, y, z );

或缩放网格的几何

mesh.geometry.scale( x, y, z );

第一种方法修改网格的矩阵变换。

第二种方法修改几何体的顶点。

查看源代码,以便了解每个缩放方法的作用。

three.js r.73

答案 1 :(得分:0)

当您实例化BoxGeometry对象或任何其他几何体时,使用提供的参数在现场创建顶点和此类缓冲区。因此,不可能简单地更改几何的属性并更新顶点;必须重新实例化整个对象。

您需要创建几何图形,因为它们具有可用的参数。但是,您可以创建没有几何的网格,将它们添加到场景中,并在获得足够的信息来实例化对象后更新网格的geometry属性。如果不是这样,您还可以先设置默认值,然后进行缩放以达到目标。