TubeGeometry


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

更新日: 2013-04-21 , r58

(わかりやすくするためにワイヤーフレームも一緒に表示している。)

説明

THREE.TubeGeometry ( path, segments, radius, radiusSegments, closed, debug )
パスに従って管を作る。

パラメータ

path <THREE.Curve?>
カーブのパス。
segments <int>[= 64]
パス方向の分割数。増やすと曲線パスが滑らかに。
radius <float>[= 1]
管の太さ。
radiusSegments <int>[= 8]
管の断面円の分割数。増やすと円柱形に近づく。
closed <bool>[= false]
true:終点-始点を閉じる、false:閉じない
debug <bool>[= false]
trueにするとdebugプロパティにデバッグ用の矢印3Dオブジェクトが入る。パスのそれぞれ分割点から、tangentを青・normalを赤・binormalを緑で表示・・・って何のこっちゃわからん。表示重め。

ジオメトリ作ってマテリアルと合わせてメッシュにしてシーンに追加するまで。
// パス「ん」
var path = new THREE.SplineCurve3([
    new THREE.Vector3(0, 60, 0),
    new THREE.Vector3(-50, -40, -8),
    new THREE.Vector3(-50, -40, 17),
    new THREE.Vector3(-25, 2, 12),
    new THREE.Vector3(-8, 2, 12),
    new THREE.Vector3(8, -32, 8),
    new THREE.Vector3(33, -40, 4),
    new THREE.Vector3(50, -15, 0)
]);

var tubeGeo = new THREE.TubeGeometry(path, 32, 9, 8, false, true);
  // pathに沿って32点で、太さ9・断面円の分割数8(つまり正8角形)の、開いた管を作る。デバッグ用オブジェクト作る。
var tube = new THREE.Mesh(
  tubeGeo,
  new THREE.MeshLambertMaterial( { color: 0xff0000 } )
);
scene.add( tube );

// デバッグ用オブジェクトの表示。重め。
// scene.add( tubeGeo.debug );