2016年12月7日水曜日

blenderでassetto corsaの道路を作りたいので動画の覚え書きをしてみた

タイトル通り。

最近作るのに飽きてきて「でもある程度作れるようになったし勿体無いよなあ」と思ったので、
Blender歴5ヶ月ちょいの覚え書きをここに残して公開しようと思いました。



作り始めたキッカケ

RTBを触ってみて、峠が作れなかった(´・ω・`)
(とはいえ、地形データを取るのには今でも使っていますね)


流れ着いたのがモデリングツールでの作成。
ちょっとむずかしそうだと思ったけど、とにかくやってみたら意外と出来るように。






道路のモデリング方法の覚え書きなので、assetto corsa以外でも使えるかも。
(ファイルの適用方法を知らないのでその都度覚える必要はあるけど…)



基本的な作り方は、以下のYouTubeの動画を見ながら作りました。
平面の道路の作り方とかは、これでほぼ問題ないんじゃないかなと。


傾斜になると、道路にねじれが発生するので、それぞれ道路の角度を変更しつつ、作ることになります。

もともと峠を作りたくて勉強したのですが、作れると楽しいですね(笑)

参考動画

https://www.youtube.com/watch?v=gPmzhqfw-7I






ちなみに、blenderは日本語化が出来るので、日本語化して作りました。
英語で覚えて作っても良いんですが、中々頭に入ってこなかったので。



覚えておくと良いショートカットキー(作ってたら嫌でも覚えます^^;)


shift + A 新しいオブジェクト

Delete or X オブジェクトの削除

N 右サイドバーの表示/非表示
T 左サイドバーの表示/非表示


Tab エディットモードとオブジェクトモードの切替


shift + ホイール 上下移動
ctrl + ホイール  左右移動
ホイールクリックした状態でカメラ軸を動かせる


テンキーのショートカットキー


.(del)視点を選択した対象に合わせる

7(真上) 1(Y軸) 3(X軸) それぞれの軸ごとに合わせる

5 正射影切り替え(パースの有り無し)
始めに5押して置いたほうが平面で見えるので個人的には作りやすいです。


2、4、6、8はそれぞれの方向に少し回転。

これがめちゃくちゃ使えるので、覚えておくと良いです。



途中の制御点を増やしたい場合(制御点Aを右クリック 制御点Bをshift+右クリック W押し、メニューの「細分化」を選択すると制御点が間に増える)


3D定規 分度器は Deleteで削除可能 [Esc]で終了。


alt + 右クリック 辺をすべて選択

R : 角度を変更する
    「90」を入力すると90度に移動する。


G : スライド

4つ角選択後「F」で結合する


アペンド機能を使ってそれぞれのパーツごとに作り、1つでまとめると良いかも?



(del)視点を対象に合わせる
7(真上) 5(Y軸) 3(X軸) それぞれの軸ごとに合わせる

F (Edit Mode時):面張り




以下、動画の覚え書きとか。

動画を見ながら止めて、1つずつ実行してみて下さい。
そうすれば、多分、おそらく出来るようになります。





初期オブジェクトを消す→「ヘミ」(あんまり要らないかも? マテリアルの状態が良く見えるようにサンにしています 「街灯に使えるのかなあ」と思ったりしてるところです)


N → 詳細のサイドバーの出し入れ

シェーディング → マルチテクスチャからGLSLに変更


「オブジェクト」カーブ パッチの作成

tabでエディットモードに変更 num7で視点を上の状態にしつつ「左クリック→E→左クリック→…」で、制御点を増やしながら形を整えていく。

(道路を作るためのカーブを描く作業です)


tabでオブジェクトモードに変更後、Sでサイズを変更していく。

ctrl + A 回転と収縮

shift + A パッチ

「左サイドバー」 シーン→メートル法を選択 

16mに設定

(色々とテストして知らべた結果、単位はキロメートル法に設定したほうが正確な寸法が取れることが分かりました。)



道路をカーブに沿わせて作成する


「左サイドバー」 モディファイアー → 追加 → 配列複製 → 定数で指定 → カーブに合わせる → カーブ →NurbsPath

(要するに道路の形をしたものを複製する、繋がる道路おもちゃと一緒)


[左サイドバー] (モディファイアー) → 追加 → カーブ → (左下)オブジェクト→NurbsPath

(どのカーブに合わせるか?を設定する)

[左サイドバー] 「適用」をクリック × 2
(なれてきたら沿わせてある道路をを見ながら、形が整ったら適用するといいです)


ちなみに、このとき壁も一緒に作るとラクです。

複製するファイルはこんな感じの形状が良いですね。




ついでに道路のテクスチャも全て用意してからこのファイルだけ作成して保存しておくと、アペンドで何度でも使いまわせるので、次回以降がめちゃくちゃ楽です。




(と、いきなりこんなこと書かれても分からないと思うので、1度やり終えた後に読み返してみると良いです)

【ここの注意点!】

カーブの中点を必ず(X,Y,Zの全てを)ゼロに合わせること。
また、複製するオブジェクトの中点も、ゼロに合わせること。

これが揃ってないと、変なねじれ方をしたりして道路になりません。



Zを押す 中心線をクリック Mを押す レイヤーを右下選択
(あんまりレイヤーの使い方分かってないです…)

tabでエディットモードに切り替え Aを押して全体選択 Wを押して 重複頂点を削除を選択
(道路がいくつもあって、頂点同士は重なっているんだけど1つの頂点として処理されていない状態です。 ナイフを使えなくなるので頂点は1つにして結合しておきましょう)


shift + 右クリックで道路の制御点の端々(4箇所)を選択 Fを押して繋ぐ。
(「Edit Mode時のF:面張り」なので、足りない面同士を結合した状態です)




Ctrl + R で中心線がピンク色になっている状態で、マウスホイールで分割数を増やす。
(無い場合は左下の分割数を2にしてクリック)
(ループカットは、道路の幅を広くした部分の作成とか、平面の舗装されていない道路を作る際に役立つので、覚えておくと良いですね)


ctrl + TAB でメッシュ選択モードを「辺」に変更。



alt + 右クリック 辺をすべて選択。

ctrl + E で「辺をスライド」をクリック。 辺を移動する。







オブジェクトにテクスチャを設定する




左下の端をクリックしながらスライド。 画面の複製が出来る。
左側「3Dビュー」→「UV 画像エディタ」に変更



■右側の画面に戻る
ctrl + TAB でメッシュ選択モードを「面」に変更。


A ですべて選択


U → リセット を選択。
U → アクティブ四角形面に追従 → OK をクリック。

shift + A で一面だけ選択する。
U → アクティブ四角形面に追従 → OK をクリック。左側の画面が更新される。


「マテリアル」 → 「新規」 → マテリアルの名前を「road1」 にする
「スペキュラー」の強度を「0.000」にする。



「テクスチャ」 → 「新規」 → タイプ:「画像または動画」 → 開く → 道路のテクスチャ画像を選択

▼マッピング → 「座標」 → 「UV」 を選択。
フッター → ワイヤーフレーム → テクスチャ を選択。


R : 角度を変更する
    「90」を入力すると90度に移動する。
G : スライド
S :サイズ変更
※shiftを押しながら動かすとメモリ幅が小さくなる


この3つを使ってテクスチャの方向や位置をセッティングする。
(位置情報は、上のX軸、Y軸を0にした方が簡単です)




ピットロードを作成する


shift + A 新しいオブジェクト パス を選択。

編集モードでピットロードを作成する
(tabでエディットモードに変更 num7で視点を上の状態にしつつ、ctrl+左クリックで制御点を増やしながら形を整えていく。)


shift + A 新しいオブジェクト メッシュ 平面を作成。


10mに設定


「左サイドバー」 モディファイアー → 追加 → 配列複製 → 定数で指定 → カーブに合わせる → カーブ →NurbsPath01

[左サイドバー] (モディファイアー) → 追加 → カーブ →「結合」にチェック → (左下)オブジェクト → NurbsPath01

[左サイドバー] 「適用」をクリック × 2


tabでエディットモードに切り替え Aを押して全体選択 Wを押して 重複頂点を削除を選択


[左サイドバー] マテリアル → マテリアルの選択 「road1」を選択

U → リセット を選択。
U → アクティブ四角形面に追従 → OK をクリック。






縁石を作成する

【エディットモード中】ctrl + TAB でメッシュ選択モードを「面」に変更。

shift + 左クリックで、メッシュを2面選択。 縁石を作りたい部分の端2つを削除する
(「H」で面の削除)

ctrl + R で分割。 縁石部分の面を選択。 

Alt + H で削除した面を戻す。

ctrl + 右クリックで、縁石の面をすべて選択する

E で縁石部分の上下幅を動かす


ctrl + TABでメッシュ選択モードを「頂点」に変更。
(辺と頂点がオレンジ色になっていたらOK)

G でZ軸を合わせて決定。

A で 全選択後、W → 「重複頂点を削除」

ctrl + TABでメッシュ選択モードを「面」に変更。

[左サイドバー] マテリアル → マテリアルの選択 「curb1」を作成、選択
 「マテリアル」 → 「新規」 → マテリアルの名前を「curb1」 にする
 「スペキュラー」の強度を「0.000」にする。
 「テクスチャ」 → 「新規」 → タイプ:「画像または動画」 → 開く → 縁石のテクスチャ画像を選択


U → リセット を選択。
U → アクティブ四角形面に追従 → OK をクリック。

S でサイズを変更しながら、縁石の感覚を整える。



ctrl + TABでメッシュ選択モードを「頂点」に変更。

縁石の外端を上下ともに選択し、平らにする。

W → 「結合」 → 「最後に結合した頂点に」を選択(下を最後にすることで、下の頂点に合わせて結合した状態になる)


(縁石の形を整えたいのであれば、ループカットの数字を何分割にして、何個目と何個目の間に縁石を作る、という風にすると形が整います。 それ以外の部分は、エディットモードに変更後、辺を選択して「delete→辺を溶解」すれば、辺が無くなり1つの面になるので復元可能です。)


クルマのピットポイント、スターティングポジションを作る

shift + A :「キューブ」を作成。

[下メニューバー] 「グローバル」→「ローカル」へ

Z軸や傾きも合わせる。

[右メニューバー] 「オブジェクト」 → 「cube」の名前を「AC_PIT_0」に変更する。


shift + D :「キューブ」を複製して、スタート地点を作成する。
(名前は「AC_START_0」)


shift + D :「キューブ」を複製して、スタートポジションを左右それぞれ作成する。
(左:「AC_TIME_0_L」 右:「AC_TIME_0_R」)


(一応このそれぞれにもマテリアルを割り当てておく、道路のテクスチャでもなんでも良いので。)

補足

サイズ感が分からないと思うので、プリセットオフで大体このくらいです。






レーストラックビルダーの中に入っている物を移植しました^^;

形は四角でも三角でもなんでも良いんですが、こっちの方が見やすいと言えば見やすいですね。





各オブジェクトに名前をつけていく



「TAB」でエディットモードに切り替える

P で「別のオブジェクトに分離」→「マテリアルごと」 に分ける

マテリアルの名前を変更していく。

【補足】オブジェクトの結合のやり方

もし、オブジェクト同士をくっつけて処理したい場合は、
  1. 「オブジェクトモード」にする
  2. 結合したいオブジェクトを選択(Shift+左クリック)する Ctrl+Jキーを押す
これでくっつけることが出来ます。

名前は最後に選んだものに依存しますので、付けたい名前のオブジェクトは、最後に選択するか、一度クリックして外した後に、もう一度クリックして再選択しましょう。





道路の名前は
数字 + ROAD (+ 数字)

例1:1ROAD、2ROAD、3ROAD
例2:1ROAD01、1ROAD02、2ROAD01、2ROAD02

サーキットの舗装されてない草の名前は
数字 + GRASS (+ 数字)

例1:1GRASS、2GRASS、3GRASS
例2:1GRASS01、1GRASS02、2GRASS01、2GRASS02

(ピット道路の名前は1PIT、縁石の名前は1CURBにしている)


舗装路:1ROAD01
ピットロード:1PIT01
壁:1WALL01
縁石:1CURB01
草の部分:1GRASS01
土の部分:1SAND01
当たり判定付きのオブジェクト:AC_POBJECT


当たり判定付きオブジェクトは、コーンなどの飛ぶようなものに設定する。
飛ばないオブジェクトを設定する場合は、壁(WALL)にする。


ちなみに、



【ラリー用】スタートとゴール
AC_AB_START_L
AC_AB_START_R

AC_AB_FINISH_L
AC_AB_FINISH_R



timeを使う場合は

time2まで
AC_TIME_2_R
AC_TIME_2_L

time0→time1
time1→time2
time2→time0

区間タイムは3セクション分まで計測される。

区間については、trackファイルの中に入っている物を見ていくと、dataフォルダoverlays.iniというファイルがあります。
ここで測定場所を設定できるが、OVERLAYS_COUNT=3にしておけば、とりあえずOK。



公式のコースを見ると良いかも





FBXで出力する






[左サイドバー] 前方を「Zが前方」に設定
[左サイドバー] 上 を 「Yが上」に設定

適当な名前を付けて出力する


後はkseditorに入れて、編集していく。

ちなみに、テクスチャファイルは直置きにせず、FBXファイルと同じところに「texture」のフォルダを入れておくと、全てkseditorに反映されるようになります。







kseditorを起動し、「file→openfbx」で、先ほど作ったFBXファイルを開きます。


オブジェクトをそれぞれ選択しながら、ksAmbientを1に設定してます。




あとは、kn5ファイルにして保存するだけ。




















はい、テキトーです、kseditorの使い方よく分からなんだ(´・ω・`)

あとはtrackフォルダをコピーして、フォルダ名を先ほど保存したkn5ファイルと同一にします。
(読み込みの際にファイル名と同一のkn5を読み込むため)

ここさえあっていれば、何とか起動します。




超覚え書きだったので、不親切感が半端ないですが・・・これで一応テストコースのような道路は作れます。


後は傾けたりも出来ますし、
勾配を付けると峠にもなりますね。

勾配を確認するには、ルートラボが便利です。

http://latlonglab.yahoo.co.jp/route/create


できるだけ均等に頂点を作成しつつ、勾配の変化を手入力で入れています。




作れる人が増えるといいなあと思いつつ。




以下、補足編


外壁を作る


・壁を個別のマテリアルに分ける(P→選択物)
・Ctrl+TABで「頂点」に切り替え、上辺の頂点だけを選択(Altを押しながら上の頂点をクリックで上辺だけ選択出来る)

・Eで押し出しをしながら、Zを押してZ軸固定しながら高さを出す。
・真ん中の辺を消す(Altで同じく真ん中の辺だけ選択し、Deleteで「辺を溶解」する)

・斜めらせたいので、今度はEを押しながらX軸、もしくはY軸固定で押し出す。

・直角の部分の辺を選択し、同じく溶解して消す(Altで同じく真ん中の辺だけ選択し、Deleteで「辺を溶解」する)

・斜めの部分は奥で溶解すると隙間が出来るので、手前に向けてナイフを入れる。
 



木の背景をつくる


板のオブジェクトを作成する
テクスチャを板のオブジェクトに貼り付ける

木の透過処理をする

「透過」にチェックを入れる(マテリアル自体が完全に透ける)

テクスチャ→ディフューズ「ア(ルファ)」にチェックを入れる(画像の透過部分だけ透過する)

これでオブジェクト自体に木だけ映るようになる。




kseditor 透過処理の場合はこれを使う










1 件のコメント:

  1. はじめまして。突然のご連絡で申し訳ございません。ご教授いただきたいことがあり、差し支えなければメールをいただくことは可能でしょうか。他のご連絡方法が宜しければ、ご指定頂けますと幸いです。

    返信削除