2013-05-30 113 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

相關問題