Javascript three.js立方体几何体-如何更新参数?
可能是个愚蠢的问题,但问题来了。三个.js几何体具有与之关联的“参数”字段,请参见此处的长方体几何体 我正在尝试像这样更新这些参数Javascript three.js立方体几何体-如何更新参数?,javascript,three.js,Javascript,Three.js,可能是个愚蠢的问题,但问题来了。三个.js几何体具有与之关联的“参数”字段,请参见此处的长方体几何体 我正在尝试像这样更新这些参数 var nodeSize = 10; var geometry = new THREE.CubeGeometry(nodeSize, nodeSize, nodeSize); mesh = new THREE.Mesh(geometry, new THREE.MeshNormalMaterial({side:THREE.DoubleSide})); scene.
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;
但当然,几何结构保持不变。有没有办法通过编辑这些参数来更新几何体
在这里拉小提琴
感谢您的帮助 更改参数后,需要再次
渲染。参数。深度仅在几何体构造时使用。修改时它没有效果。您可以将其视为只读
使用位于的示例和右侧的gui查看如何实现您想要的功能。Gaitat完全正确,您不能通过更改参数来更改几何图形
还有另一个解决办法。随着立方体的缩放
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);
示例通过更改深度
字段,您想做什么?这些信息可能会很有用谢谢你的帮助@Giovazz89,我从收到的答案中做了一点修改。。。不管怎么说,这都不是一个愚蠢的问题。我想寻求帮助。我是根据你的回答得出的“完全正确”可能有点不正确正如现在的ThreeJSAPI一样,答案很可能是正确的。但这是开源的。我认为OP的答案应该是“是的,有一种方法可以做到这一点……它可能需要一个功能请求和一段时间。”因此,请您澄清/扩展。关于这个问题,你知道什么使它变得不可能吗?@kandinski好吧,你可以通过提供一个工作示例来证明这种不正确性,在这个示例中,你可以直接更改THREE.BoxGeometry()
的值,它会影响几何:)我雄心勃勃,但不是聋子……你很高兴地用自己的语气结束了这一挑战。这正是我想要的……帮我省去了几天毫无意义的努力。我正在给参数化api提供一些基本的算法,我被它的美丽迷住了。。。东西。。。你叫他们什么?被吹走了。我想实时调整算法,为最佳点找到合适的范围。。。你叫他们什么?我看了你的简历。。。你知道我在追求什么。所以我可以提出一个有史以来最荒谬的问题,或者邀请你在旁白频道回答。。。以后再说。@kandinski TBH,我没有得到你想要告诉我的:)如果你有问题,你也可以在网上问他们,并给出更详细的解释。