はじめに
spline は曲線である。それを草っぽく曲げるメモ
参考
直線を作る
- Spline の作成元となるポイントを作成する
- Distribute Matrices を配置
- Size を Stepに変更
- XとY Division は1
- Z は20程度入れておく
- Distribute Matrices を配置
- Distribute Matricesで作ったポイントからSpline を作る
- Spline from pointsを配置
- Radius は1程度にしておく
- Spline from pointsを配置
- 結果確認の為、オブジェクトとして出力する
- Curve Object Outputを配置
- ボタンを押して Target オブジェクトを作成
- Bevel depth を有効にして 0.21 程度にしておく
- Curve Object Outputを配置
この直線を色々いじっていく
方法1: Vector Wiggle で曲げる
- 最初の直線からX方向にずらす
- Vector Mathを配置
- Add にして X を10とする
- Vector Mathを配置
- ポイントをランダムにずらす
- Vector Math と Vector Wiggle の結果を足し合わせる
- Vector Math を配置しAddにする
- ポイントからSpline を作る
- Spline from pointsを配置
- Radius は1程度にしておく
- Spline from pointsを配置
- 線をスムーズにする
- Smooth Bezier Spline を配置
- 最初の直線と今回作った曲線両方作る
- Create Spline List を配置
- 最初に作った直線と、今回作った曲線を接続する
- Curve Object Output へ接続して出力する
問題点 それぞれのポイントでそれぞれランダムな方向に動いている為、草っぽく見えない。
方法2: Vector Noise で曲げる
- 最初の直線からX方向にずらす
- Vector Mathを配置
- Add にして X を20とする
- Vector Mathを配置
- ランダムに曲げる
- Vector Noise を配置
- Amplitude が曲げ具合となる。ここでは2.37を設定
- Offset の Z は数値を変えることで風になびいているような演出が可能。見るだけなら0でも問題ない
- Vector Noise を配置
- Vector Noise の結果をベクトル化する
- Combine Vector を配置
- Vector Math と Vector Noise の結果を足し合わせる
- Vector Math を配置しAddにする
- ポイントからSpline を作る
- Spline from pointsを配置
- Radius は1程度にしておく
- Spline from pointsを配置
- 線をスムーズにする
- Smooth Bezier Spline を配置
- 前回までに作った曲線と今回両方作る
- Create Spline List に今回の分も接続
問題点 草の生え際である起点がずれる。
方法3: Vector Noiseの効き具合を0から徐々に強くしてゆく
- 最初の直線からX方向にずらす
- Vector Mathを配置
- Add にして X を40とする
- Vector Mathを配置
- 効き具合を調整する
- Loopを配置
- 前に作ったVector Noiseの出力(Float List)を取るループ
- Loopを配置
ループ内
- 0~1の間でポイントの数の要素数の等差数列を作る
- Float Range を配置
- Amount にIterations(ループ数=ポイント数)を接続
- Float Range を配置
- 等差数列から位置に応じて効き具合を取得
- Get List Element を配置
- Float Range と接続
- Index は Loop Input の Indexを接続
- Get List Element を配置
- Float(ズレ具合)と効き具合をあわせる
- Math を配置
- Multiply (乗算) にする
- Float と Get List Element の結果を接続
- Math を配置
- 結果を出力
- Loop Input の New Generator Output をクリックして Float List を選択
- それをループ末尾に配置しMathの結果を接続する
- ループを呼び出す
- ループの結果をベクトル化する
- Combine Vector を配置
- Loop の結果を接続
- Combine Vector を配置
- Vector Math と Loop の結果を足し合わせる
- Vector Math を配置しAddにする
- ポイントからSpline を作る
- Spline from pointsを配置
- Radius は1程度にしておく
- Spline from pointsを配置
- 線をスムーズにする
- Smooth Bezier Spline を配置
- 前回までに作った曲線と今回両方作る
- Create Spline List に今回の分も接続
前回作ったspline とz0の位置が微妙に異なっている事がわかる。
前回作ったspline はx30の位置から微妙にずれているが、今回のsplineはずれていない。
終わり。
結果を残す為に、Vector AddのノードはCreate Spline List 等、本来不要なノードを配置し複雑化してしまった。
全体図も残しておこう。
黄色の枠は計4つで、上から直線、Vector Wiggle、Vector Noise、Vector Noise+効き具合調節付きとなっている。