いろいろと調べた結果、もうちょっといい方法がありそうなことが分かったので追記していく。
(まだ試している途中なのでうまくいくかはわかりません。時間があって試してくれる方がいたら、やって報告してくれると嬉しいです。)
1.下準備
1.今までと同じようにカーブを作る。
2.シュリンクラップで高さを合わせる。
ここも変更前と同じで、シュリンクラップで高さデータに合わせる。
シュリンクラップで動くのはおそらく制御点だけでカーブ自体はシュリンクラップの適用後に作り直されると思うので、上の写真のようにガタガタでもとりあえず適用してみる。
ダメそうなら戻して、
あたりを試すとよいと思う。
2.メッシュを張る
230302追記
UVの設定の観点からこっちのほうが楽かもt.co
1.オブジェクトモードで平面メッシュを一つ追加する
2.編集モードに移動して追加した平面メッシュの頂点の左二つ(右二つ)を消す
3.オブジェクトモードに戻って、"原点をジオメトリに"を押す
4.カーソルが原点にあることを確認して、スナップの選択物→カーソルを押す
5.モディファイアの"配列"を選んで、"カーブに合わせる"を選ぶ
6.”一定のオフセット"にチェックを入れて、距離xを適当にいじる
7.モディファイアの"カーブ"を選んで、コースのカーブを選ぶ
写真のように線が浮いてしまうのは、シュリンクラップをかけたときに原点が下にずれてしまっていることによる。カーブの原点をワールド原点に合わせると浮いているのが直る。(原点の移動は2-4のスクショのとおり)
8.カーブを選択して、シェイプのツイスト方法を"最小"→"Z-up"に変える
9.編集モードに切り替えて制御点ごとに路面の傾きを合わせる
この作業は線をコースの幅に合わせる前にやる。後から延ばすこともできるけど二度手間になるだけなので。
10.オブジェクトを平面に切り替えて、編集モードで幅を合わせる
11.辺ループのブリッジ
12.ループカットをかける
230228追記
パスの頂点同士の間隔はあまり遠すぎないほうがいい。
パスにシュリンクラップを適用して高低差を合わせるときに影響を受けるのは頂点なので、頂点同士の間隔があいていると間の高低差は無視されてしまうため。
ベジェ曲線を使っている場合にはわからないが、NURBSを使っている場合には頂点の内側に曲線がひかれるので実際の高さとずれが生じやすい。
例えば、スポーツランド菅生のホームストレートは最終コーナーから登り、ダンロップの看板を過ぎてから1コーナー手前までは下りとなっているが、下の写真では間に頂点を置いてないので実際の高さより低くなってしまっている
これを避けるために直線であっても適度な感覚で頂点を置くことが求められる