1
如何根据运行时的TubeGeometry动态更改网格的半径。在运行时更新TubeGeometry的半径
这里是我创建的网格:
var points = new THREE.SplineCurve3([
new THREE.Vector3(source.x, source.y, source.z),
new THREE.Vector3(target.x, target.y, target.z)
]);
var geometry = new THREE.TubeGeometry(points, 10, 1, 10, false, false);
geometry.dynamic = true;
var material = new THREE.MeshLambertMaterial({color:0x0000cc});
var mesh = new THREE.Mesh(geometry, material);
在这里,我怎么尝试更新管半径:
var geometry = mesh.geometry;
geometry.radius = 200;
geometry.verticesNeedUpdate = true;
mesh.updateMatrix();
遗憾的是它不更新筒半径。它是如何正确地完成的?它有可能吗?
实际上,管的半径不能容易地通过缩放它改变。我正在使用一个圆柱体(因为我只连接两个点)使用[此解决方案](http://stackoverflow.com/questions/15316127/three-js-line-vector-to-cylinder)(参考如果其他人得到卡在这里)。 – Zardoz 2013-05-02 22:20:13