1

実行時に 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();

残念ながら、チューブの半径は更新されません。それはどのように正しく行われますか?それはまったく可能ですか?

4

1 に答える 1