Three.js 在运行时更新管几何体的半径
如何在运行时基于TubeGeometry动态更改网格半径 以下是创建网格的方法:Three.js 在运行时更新管几何体的半径,three.js,Three.js,如何在运行时基于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, fa
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();
不幸的是,它不会更新管半径。它是如何正确完成的?可能吗?半径参数仅在构造几何体时使用。改变它不会有任何效果 您可以更改
mesh.scale
,但由于样条曲线的原因,这可能不会像您希望的那样工作。(它适用于圆柱体测力计
)
three.js r.58事实上,管道的半径不容易通过缩放来改变。我现在使用圆柱体(因为我只连接两个点)使用(如果其他人被卡住,请参考)。