繁体   English   中英

three.js多维数据集几何-如何更新参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM