簡體   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