私のアプローチには、次の手順が含まれます。
1) チューブの初期パスを作成します (ポイントの位置の配列)
2) パスに基づいてチューブをレンダリングする
3) パス配列の変更
4) ステップ 2 に進みます
したがって、おそらく次のような関数が必要です。
function morphPath(path){
// some magic here
return newPath;
}
function morphTube(path){
// change tube's vertices positions based on path
}
這うヘビをレンダリングしたいとしましょう。
私は美しく、非常に複雑な例を見つけました。私の問題を解決する方法についての基本的な理解を教えてください。
例 - http://codepen.io/tdhooper/full/ZGPOQJ/
この関数を使用してチューブを作成します。
var geometry = new THREE.TubeGeometry( curve, 10, 3, 20, false );
曲線の作成に使用する機能とモーフィングの方法を教えてください (拡大縮小、回転、チューブの移動ではありません)。
ポイントの私の配列は単純です:
points = [{ x: 0, y: 0, z: 0}, { x: 1, y: 1, z: 0}, { x: 3, y: 0, z: 0}]