![](/img/trans.png)
[英]How to construct a 3D cube using javascript with THREE.js (without box/cube geometry)?
[英]three.js Cube Geometry - how to update parameters?
可能是愚蠢的問題,但這是可行的。 Three.js幾何具有與之關聯的“參數”領域,請參見此處的框幾何...
我正在嘗試像這樣更新這些參數...
var nodeSize = 10;
var geometry = new THREE.CubeGeometry(nodeSize, nodeSize, nodeSize);
mesh = new THREE.Mesh(geometry, new THREE.MeshNormalMaterial({side:THREE.DoubleSide}));
scene.add(mesh);
mesh.geometry.parameters.depth=20;
但是,當然,幾何形狀保持不變。 是否可以通過編輯這些參數來更新幾何?
在這里擺弄https://jsfiddle.net/kn3owveg/2/
任何幫助表示贊賞!
parameters.depth
僅在幾何構造時使用。 修改時無效。 您可以將其視為read only
。
使用BoxGeometry上的示例和右側的gui來查看如何實現所需的功能。
Gaitat是完全正確的,您無法通過更改parameters
來更改幾何。
還有其他解決方案。 隨着您的多維數據集縮放。
function setSize( myMesh, xSize, ySize, zSize){
scaleFactorX = xSize / myMesh.geometry.parameters.width;
scaleFactorY = ySize / myMesh.geometry.parameters.height;
scaleFactorZ = zSize / myMesh.geometry.parameters.depth;
myMesh.scale.set( scaleFactorX, scaleFactorY, scaleFactorZ );
}
...
setSize(mesh, 10, 10, 20);
jsfiddle示例
更改參數后,需要再次render
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.