2013-05-30 74 views
6

我正在使用Three.JS r58,并且想要在屏幕上调整CubeGeometry对象的大小。在运行时调整THREE.CubeGeometry的大小

我试过的一种方法是,当需要调整大小时,删除受影响的立方体并添加一个新的维度。这个过程很有效,但它大大减缓了可视化。我想知道是否有办法使用Three.js动态调整CubeGeometry的大小,而不是删除/添加新的。 jsfiddle中的示例值得赞赏。

回答

3

在网格上调用.scale.set(x, y, z)(请参阅this ticket)。

最初,scale设置为(1, 1, 1)(请参阅Object3D的构造函数,Mesh的父类)。您需要按照您需要的百分比值来增加这些值。

this fiddle我使用.scale.set(1.5, 1.5, 1.5)将所有方向上的立方体增加了50%。

+0

虽然缩放网格显然...呃缩放网格,问题是,然后对象缩放,因此相关的对象坐标系统受到影响。因此,如果您只想缩放对象A的几何图形,则随后添加到A的对象B也会被该比例格式化。是否真的让你无法缩放几何本身?对于CubeGeometry,您可以在需要时轻松制作新的几何图形。对于加载的3D对象几何体(例如.stl文件),这实际上不是一个选项。 –

+0

我在这里提出了这个问题(https://discourse.threejs.org/t/1021/10),并准备在我的项目中发布解决方案(https://github.com/trusktr/infamous/tree/threejs )。目前,我的实现只是重新创建几何尺寸更改(不影响所有孩子的坐标空间)。在那次讨论中,我提到了用自己的世界变换来处理类似Object3D的几何体的想法。这将使上浆速度非常快。 – trusktr

相关问题