TubeGeometry

更新日: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 );















タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年04月21日 00:09