修正点
以下記事
この記事は簡単なコース制作を通して、mod作りに触れてもらうために書かれています。可能な限り細かく書きますが、わからない点があった場合は質問していただけたらわかる範囲でお答えします。
対象者
- 初めてコース作りをする人
使うもの
- blender(無料)
3Dモデルを作るソフトです。これがないと始まりません。
最新版はv3.5ですが、後述するOperateUV togetherはv3.5に非対応なので、筆者は3.0を使っています。3.0のダウンロードはここ - 3dsimed(有料)
blenderで作ったコースをrfactor2に持っていくためのソフトです。有料(30ポンド)ですが買っておくと便利です。20日間無料で体験できます。
使うのは手順9以降なので、買いたくない人は手順9に到達してからダウンロードすれば大丈夫です。 - OperateUV together(無料)
途中で説明するUVを編集するときにあると便利です。 - textool(無料)
OperateUV togetherと同じくUVを編集するときにあると便利です。 - Edit mesh tools(無料)
コース横の芝生の部分を作るうえで便利です。
blenderに最初から入っているはずなので、
上の二つと同じ手順で有効化してください。 - material editor
rfactor2に入っているソフトです。ブラウザ上で動きます。
コースの見た目を調整するときに使います。 - scene viewer
material editorと同じくrfactor2に入っているソフトです。rfactor2フォルダの中のModdevフォルダの中にあります。
作るもの
見た目は二の次として、とりあえずrf2上で走行できるコースの作成を目的とする
作成の流れ
- blenderの日本語化
- アドオンのインストール
- 3Dモデルを作る
- 3Dsimedでコースを編集する
- dev modeでコースを編集する
blenderの日本語化
1.blenderを開く
2."general"を選ぶ
3.左上の"edit"にマウスカーソルを合わせ、出てきたメニューの"preferences"を選ぶ
4."preferencesウィンドウの左下の"三本線のマーク"をクリックする
5."Auto Save"をクリックしてチェックがついた状態にする
6.左側のメニューで"Interface"を選んで、"Translation"の"language"から日本語を選択する
7.以上で日本語化は終了
アドオンのインストール
1.ダウンロード
最初に上で紹介したblender用のアドオン2つをダウンロードします。
OperateUV togetherの場合
1.上の"使うもの"のリンクを開くとダウンロード用ページが開きます
2.ページ右側の"無料ダウンロード"を選ぶとダウンロードされます。
textoolの場合
1.上の"使うもの"のリンクを開くとダウンロードされます
2.blenderにインストールする
1.blenderを開く
2."全般"を選ぶ
3.左上の"編集"にマウスカーソルを合わせ、出てきたメニューの"プリファレンス"を選ぶ
4.左側のメニューから"アドオン"をクリック
5.一番上右から2番目の"インストール"をクリック
6.ダウンロードしたアドオンを選ぶ
7.インストールしたアドオンにチェックがついているかを確認
8.OperateUV togetherとtextoolの両方にチェックが付いたらインストールは終了
(ほかにも便利なアドオンを入れたい場合は同じ手順で入れられる)
3Dモデルを作る
1.準備
1-1.元からあるオブジェクトの削除
1.blenderを開く
2."全般"を選ぶ
3.右上の"シーンコレクション"から"Camera""Cube""Light"を消す
4.以上で下準備は終わり
2.コースの路面を作る
2-1.カーブオブジェクトと平面オブジェクトの追加
1.右上のシーンコレクションのタブ内で右クリック→"新規コレクション"をクリック
2回行って新規コレクションを2つつくる
2.”Collection 1"が作成されるので、名前をダブルクリックして"curve"に変更する
"Collection 2"は"racesurface"とする
(名前にルールはないが、作ったものを入れていくのでわかりやすい名前にすべき)
3.画面右上のx.y.zのマークのうち、zをクリック
(写真注釈の2点を確認する)
4.左上のモード設定が"オブジェクトモードになっていることを確認する
5.左上のメニュー"追加“→"カーブ"→"NURBSカーブ"を選ぶ
6.右下のタブの緑のマークを選び、"アクティブスプライン"の"ループ"と"終端"にチェックを入れる
7.左上のメニュー"追加“→"メッシュ"→"平面"を選ぶ
2-2.コースの幅を決める
8.左下の"平面を追加"をクリックして、出てきたメニューの"サイズ"を作りたいコースの幅に設定する
9.右上の"シーンコレクション"タブで、"NURBSカーブ"→”curve”、"平面"→"racesurface"にドラッグして入れる
10.右上の"シーンコレクション"タブで、”平面"の左の三角形をクリックして、"平面"の名前を両方とも"racesurface"に変える
11."平面"を右クリックで選択
12."オブジェクトモード"→"編集モードに切り替える
13.右側2つの頂点を選択して"deleteキー"→"頂点"で消す
2-3.配列モディファイアによるコース作成の準備
14."オブジェクト"→"原点を設定"→"原点をジオメトリへ移動"を選ぶ
15.”オブジェクト"→"スナップ"→"選択物→カーソル"を選ぶ
16.右下のメニューのスパナのマークのタブを開く
17."モディファイアの追加"→"配列"を選ぶ
18.下図のように設定する
(カーブは手順5で作成したもの)
19."モディファイアの追加"→"カーブ"を選ぶ
20.下図のように設定する
(手順21と同様、カーブオブジェクトは手順5で作ったもの)
21.カーブ選択して、"オブジェクトモード"→"編集モード"に切り替え
2-5.コースのレイアウトを決める
22.カーブを作りたいコースの形に変える
操作方法まとめ
Gキー:既存の点の移動
Eキー:新しく点を作って移動
Sキー:拡大縮小("Sキー"+"X,Y,Zキーのどれか"+"数字の0キー"で一直線に並べられる)
それぞれ移動中にXキー、Yキー、Zキーを押すことで、その軸の方向だけに移動させることができる
23.右下の緑のマークのタブの"ツイスト方法"を"最小"→"Z-up"に変更
24.点を選択して"Ctrlキー"+"Tキー"を押して傾きを決める
25."オブジェクトモード"に戻す
26."平面(racesurface)"を選択して、右下のスパナのマークのタブを開く
27."カメラのアイコンの右をクリック"→"適用"でモディファイアの適用を行う
28.編集モードに切り替える
29."辺"→"辺ループのブリッジ"を選択
30.左下の"ループ接続"を"閉じたループ"に変更する
2-6.路面の細分化
31.コース上にマウスカーソルを合わせて"Ctrlキー"と"Rキー"を押す
32.1マスが正方形~やや縦長になるように分割数を決める
以上でコースの路面づくりはおしまい
3.ピットの路面を作る
3-1.カーブオブジェクトと平面オブジェクトの追加
1.コースの時と同様、カーブと平面を追加する
(2-1~2-4を参照すること)
3-2.ピットロードのレイアウトを決める
2.カーブを調整してピットロードの形にする
(2-5を参照すること)
3.モディファイアを適用する
(2-5を参照すること)
4."辺ループのブリッジ"を行う
3-3.コースに合わせてピットロードを切る
ここからの作業はピット入り口だけ書いてますが、ピット出口も同じ方法で作業してください。
5."Kキー"を押してピットロードに切れ目を作る
6.本コース側の1番外側の頂点のうち、ピットロードにかぶっている部分を消す
7.ピットロードの高さを合わせる
補足
高さを合わせる段階でピットロードを滑らかな坂にするには、プロポーショナル編集を使う
3-4.ピットロードの頂点の位置調整
8.ピットロードのうち、進行方向に対して直角に位置する頂点を選択して、"Gキー"を2回押してコース側の頂点に合う位置までずらす
補足
下の画像では黄緑の線のあたりに頂点を並べたいが、一番下は頂点が2個存在している
この場合は下の2個の頂点を選択して"Mキー"を押すことで頂点をまとめる
補足2
下の画像では頂点を合わせていった結果、緑の点線の部分にあるべき辺がなくなっている。この場合は”Kキー"を押してナイフツールを使い、辺を足す。
ここまでの作業をピット出口にもやったら次に進んでください。
3-5.コースとピットロードを1つのオブジェクトにまとめる
9.オブジェクトモードに切り替える
10.左クリックでコースを選択、"Shiftキー"+"左クリック"ピットロードを選択
11."Ctrlキー"+"Jキー"を押す
3-6.ピットロードとコースをつなげる
12.編集モードに切り替える
13.頂点のスナップを有効にする
14.ピットロードの端の頂点を選択して、"Gキー"で本コースの頂点の上に移動させる
15.14の作業をピット入り口、出口の両方に行う
16."Aキー"を押して頂点を全選択
17.”メッシュ"→"クリーンアップ"→"距離でマージ"を選択する
4.芝生を作る
4-1.Edit mesh toolsでコース外側の点を押し出す
1.編集モードに移動する
2.右側のタブの"編集"をクリック
3.コースの片側の縁の頂点を全て選択する
(この時"Ctrlキー"+"右クリック"で最後に選択した頂点から最短距離にある頂点をすべて選択可能 選択を間違えた場合は"Ctrlキー"+"Zキー"で選択する前に戻れる)
4.手順2で開いた"編集"タブから"mesh toolsの欄の2番目の"Edge tools"を選択し、開いたタブの1番上にある"offset edges"を選択
5.左下に出てくるメニューで押し出しの幅を決める
6.手順5で作成した頂点のうち隣り合った2点と、そこに対応するコース側の頂点2点を選択し、"Fキー"を押して面を作成する
7.選択モードを"辺"に切り替える
8.手順6で作成した面のうち、コースに対して直角になっている辺を片方選択する
9."Fキー"を押しっぱなしにすると自動で面が作成され続けるので、1週してくるまで待つ
(この手順ができない場合は記事冒頭の"アドオンのインストール"の手順に従って"loop tools"というアドオンを有効にするとできるかもしれないです。わからなければコメントください)
10.手順1~9を反対側の縁についても行う。
("offset edges"の幅の値だけプラスマイナスが逆になる点に注意)
4-2.頂点をまとめる
頂点が多すぎるので編集の手間を減らすために頂点をまとめていく。また、面同士が重なっている状態も不具合の原因になりうるので解消していく。
1.ピットロードとコースのつなぎ目などを見て、面が重なっていないか確認する
2.頂点を選択する
3."Mキー"を押す
4.今回は"中心に"を選択する
5.他の部分の頂点も適当にまとめる
(いまいちいい方法がわからないので他のmodとかを参考にするとよさそう)
5.セクターとピット判定用オブジェクトの設置
5-1.オブジェクトの追加
1.右上のシーンコレクションの中にセクター用のフォルダを作成する
2.オブジェクトモードに切り替える
3.”追加"→"メッシュ"→"平面"で平面を追加する
4.右上の”シーンコレクション"の中で名前を"平面"→"xfinishに変える
5."Rキー"を押して左クリックする
6.左下のメニューで"角度"を"90"、"座標軸"を"X"、"座標系"をグローバルに変える
7."Gキー"を押してからドラッグして、S/Fラインにしたい位置まで平面を移動する
8."Rキー"→”Zキー"の順に押してからマウスを動かして、平面がコースに対して直角になるように回転させる
9."Sキー"を押して、平面がコース幅より大きくなるように拡大する
10.右上の"ビューポートオーバーレイ"から"面の向き"にチェックを入れる
11.平面の向きを確認し、青い側から車が来るようにする
12.手順1~11を繰り返して残りのセクターを置く
名前は以下の通りにする
- xsector1
- xsector2
- xpitin
- xpitout
- (フォーミュラEのアタックモードは調査中です)
- (DRS検知と開始も調査中です)
6.マテリアルの割り当て
6-1.マテリアルとは
ゲーム上に描画されている3Dモデルはシェーダ(光り方や反射などを決めてる)とテクスチャ(絵、車のモデルでいうところのスキン)を使って表示されているが、どのシェーダとどのテクスチャを使うかを決めているのがマテリアルである。
また、rfactor2では路面のグリップや砂ぼこりの有無など(そこがどういう路面なのか)をマテリアル名で判定している。
6-2.マテリアルの新規作成
1.右下のタブの下から2番目のマークをクリックし、表示されたページの"新規"をクリックする
2.作成したマテリアルの名前を"ROAD~_WET"に変える
(間は何でもよいが、"ROAD"で始まり"_WET"で終わるようにすること)
3.”ビューポート表示"からカラーを分かりやすい色に変える
(この作業はマテリアルの割り当てをわかりやすくするためのものなので必須ではありません)
4.右側の"+"をクリックしてから手順1~3を繰り返して芝生用のマテリアルを作成する
(マテリアル名は"GRAS"から始まる名前にすること)
セクター用のモデルにもマテリアルの割り当ては必要なので、同じ手順で作成する。
路面にならない部分のマテリアルに対しては一部の例外を除いてマテリアル名に指定はないので、わかりやすい名前にする。(今回は"SECTOR"としておく)
6-3.マテリアルの割り当て
1.編集モードに移動する
2."面選択モード"に切り替える
3.コースになる面をすべて選択する
4.右下のマテリアルタブで"ROADA_WET"が選択されていることを確認して、"割り当て"をクリック
(見た目に変化が現れないかもしれないが、1回クリックすれば割り当てられているはずなので次に進む)
5.手順1~4と同じ方法で、芝生になる部分には"GRASSA"、セクター用の平面には"COLL"を割り当てる。
(違うマテリアル名にしてる人は適宜読み替えてください)
7.オブジェクトの分割
7-1.なぜ分割するのか
第一に頂点数が多すぎるオブジェクトは読み込みが行われない仕様(バグ?)があるため。
第二に、接触判定の設定がオブジェクト毎であるため。
第三に、動くオブジェクトが1つにまとまっていると全部まとめて動いてしまうため。
7-2.マテリアルで分割する
1.オブジェクトモードに移動する
2."racesurface"を選択する
3.編集モードに移動する
4."Pキー"を押す
(オブジェクトの分割をどう行うか決めるメニューが出てくる)
5."マテリアルで"を選択
6.芝生のほうをリネームする
7-3.同じマテリアルの中で分割する(選択した部分だけ分割)
1.編集モードに移動する
2.面選択モードに切り替える
3.分けたい範囲を選択する
4."Pキー"を押して、出てきたメニューの"選択"をクリック
5.リネームする
8.オブジェクトのエクスポート(blender→3Dsimed)
8-1.(x,y,z)=(0,0,0)に地面があることを確認する
1.オブジェクトモードで"オブジェクトモード"→"スナップ"→"カーソル→ワールド原点"を選択する
(編集モードでも可。編集モードの場合は"メッシュ"→"スナップ"→"カーソル→ワールド原点")
なぜ確認する必要があるのか
devmodeでマテリアルやAIWの調整をする際、初期スポーン位置はAIWによって指定される。が、初回はAIWを作っていないため(x,y,z)=(0,0,0)にスポーンする。このとき、そこに地面がないとコースを走ることができず、何の設定もできないため。
(手動でAIWを設定してからコースを読み込む、という手段もなくはないが非常にめんどくさい)
2.なければ地面を追加する
補足
今回は比較的近い位置に別の頂点があったため、上の写真のように面を作る方法をとったが、ない場合もある。近くにない場合は、(0,0,0)に一番近い頂点2つを選択し、"Eキー"の押し出しで伸ばしていく方法がいいと思われる
8-2.データの保存
1.ツールバー(左上)の"ファイル"→"保存"を選択する
2.保存場所と名前を聞かれたら好きな場所と名前を決めて保存する
保存場所のおすすめ
dev modeで動作確認をした後に建物やガードレールなどを追加していくが、一旦別のファイルとして作った後にコースのデータにコピーする手法をとるので、作るコース用のフォルダを作って保存すると良いと思われる。
8-3.エクスポートするものの選択
1.右上のメニューを見る
2.エクスポートするうえで必要ないもののチェックを外す
8-4.FBXファイルとしてエクスポート
1.ツールバー(左上)の"ファイル"→"エクスポート"→"FBX"を選択する
2.スケールを"0.01"に変更する
(FBXファイルは3Dsimedで読み込むと100倍に拡大されるため)
3."FBXをエクスポート"を選択する
以降の作業は3Dsimedを使って行います。ダウンロードがまだの方はこちらから
3Dsimedでコースを編集する
1.3Dsimedを使う準備
1-1.起動時の認証
1.アクティベーションコード購入した人は真ん中下の欄に入力する
(買ってない人は何も入力せずに右上の”OK”を選択する)
1-2.HDR Renderの設定
1."Display"→"HDR Render"にチェックを入れる
HDRの有り無しでどのくらい違うのか
1-3.軸の設定
1.ツールバー(左上)の"File"→"Axis layout"を選択する
2."DirectX layout Y-up"を選択する
(blenderでは縦方向をZ軸としていたが、3Dsimedとrfactor2ではY軸になるので注意)
2.コースを編集する準備
2-1.3Dモデルのインポート
1.ツールバー(左上)から"File"→"Import"を選択する
2.blenderからエクスポートしたFBXファイルを選択する
3."Import Options"はどちらか好きなほうを選ぶ
4.コースが読み込めていることを確認する
2-2.モデルの大きさを確認する
1.読み込んだモデルの適当な部分を右クリックする
3.上から4番目の"Object (blenderで決めた名前)"をクリックする
4."Scale"のX.Y.Zをそれぞれ確認し、"1"以外になっていたら"1"に変更する
3.シェーダーの編集
3-1.シェーダーとは
モデルの表面の発光の有無、反射の強さ、表面の凹凸の有無などを決めている。
ゲーム内での見た目は、シェーダーとテクスチャ(絵、車でいうところのスキン)の二つで決まる。シェーダーとテクスチャはマテリアルごとに指定する。
3-2.シェーダーを設定する
1.読み込んだモデルの適当な部分を右クリックする
2."Material (blenderで設定したマテリアル名)を選択する
4.オブジェクトの設定
4-1.各項目について(Tag Attributes以外)
1.Naming
- Object Name
3Dsimedからエクスポートするときのファイル名
(Object Name内の名前).gmtになる - Instance
後述するscnファイル内での名前になる
(scnファイル内でinstanceがどういう役割なのかは後程)
2.Position
x.y.z軸のそれぞれの方向についてオブジェクトの位置を調整できる
が、blender内で行うほうがやりやすいのでおそらく使うことはない
3.Rotation
x.y.z軸のそれぞれの方向についてオブジェクトを回転させることができる
回転させるときの中心は"Tag Attributes"(真ん中より下のメニュー)内の"Pivot point"で決めた位置になると思う
これもblenderでやるのでおそらく使うことはない
4.Scale
x.y.z軸のそれぞれの方向についてオブジェクトを拡大縮小できる
これもblenderでできるので、fbxファイルを読み込んだ時の確認以外で使うことはないと思う
4-2.Tag Attributesについて
1.LOD(単位はm)
- LOD in
オブジェクトが見え出す距離 - LOD out
オブジェクトが見えなくなる距離
不必要に遠くのオブジェクトを表示させたままにしておくと負荷が高くなる傾向にある
2.Pivot point
オブジェクトの原点を決めている。anmファイルを使わない動くオブジェクトや接触すると動くオブジェクト、後述するbillboard機能を使うオブジェクトはこの点を基準に動く
3.Render
オブジェクトをゲーム内に表示するかしないかを決めている
見えない壁やセクター用のオブジェクトでは"false"にすることもある
4.Visgroup
オブジェクトを特定の条件でのみ表示させない(特定の条件でのみ表示させる)ように
したいときに使う。3dsimed上ではA~E、rfactor2のdev guideには下の写真のような説明書きがあり、両者の間に食い違いがあるため、scnファイル上に手動で書き足していくほうが良いかもしれない。
5.Day/Night
オブジェクトをどの時間帯で表示させるかを決められる
"Only night"での出現時間は"19:05~05:05"あたり
"Only Daytime"は未調査だが、"Only Night"の逆と考えられる
6.Drivable(HAT Target)
tdfファイルに従って路面にグリップ力を与えたり、走行中の砂煙などを出すかどうかの設定をするところ。"True"にしたオブジェクトのうちtdfファイルに記載のあるマテリアルが割り当てられている部分は、tdfファイルに従ってグリップ力などの設定が行われる。"false"にすると摩擦力0の路面になる。
(例えば野呂山スピードパークのホームストレート外側の白い部分など)
7.Collision Target
接触判定を有効にするかどうか。路面や壁だけでなく、セクター用のオブジェクトでも"True"にする必要がある
注意点
一つ上の"Drivable(HAT Target)"を有効にしただけでは接触判定が行われず、その上を走行できないことに注意する必要がある。従って、"Drivable(HAT Target)"が"True"のオブジェクトは必然的に"Collision Target"も"True"になっていないといけない
8.Deformable
"True"にすると接触などによってオブジェクトが変形する、という機能がrF1にはあったが、rF2では実装されていないため無効。"True"にしても何も起こらない。
という話を397のスタッフが言っていたと思うので良ければ探してみてください。
9.Object Response
セクターやピットイン(アウト)用のオブジェクトとして設定するときに使う。
これを設定したオブジェクトを通過するとセクターやピットの判定が行われる。
"Collision Target"が"True"になっていないと機能しないので注意。
フォーミュラEのアタックモードやDRSも同じ方法で設定できるが3dsimedの3.2cまででは不可能で、テキストエディタを使った編集が必要になる。
10.Shadows
- Shadow receiver
そのオブジェクトが他のオブジェクトの影を表示するかの設定 - Object shadows
"Visible caster"ではオブジェクトそのものを表示したうえで影を表示する
"Hidden caster"ではオブジェクトそのものは非表示で影だけ表示する
複雑な形のオブジェクトに対して影を有効化すると負荷が高すぎる時があるので、
シンプルな直方体とかで影を代用したいときとかに使うと思う
"Object Shadows"を"None"以外にした時の設定項目
- Dynamic Caster
影が時間経過とともに動くようになる設定だと思うが、rF2ではどちらにしていても動くので使われていない可能性がある。rF1を持ってる方は調べて教えてほしいです - Texture Shadow
1枚絵のモデルでアルファチャンネルを使っているようなオブジェクトの場合に、テクスチャの不透明部分だけの影を作る設定。無効にするとオブジェクトの形に合わせた影が作られる - Texture Size
影自体の解像度を決めるパラメータだと思われるが、rF2のdev modeでは特に変化なし。rF1向けのものかも - Group
rF2 dev guideの説明の中に"Shadow Groups: additive A (1|Max) to D (8|Low)"と記載があるため、A=1、B=2、C=4、D=8である。影の設定のうちどのレベルで表示するかを決めているものと思われる。
11.Lit At night
夜間に車のライトの光を反射するかどうか
オフだとライトが当たっても暗いままになる
12.Moveable
オブジェクトがほかのものとの接触で動くかどうか
パイロンのようなもので"True"にする
"False"だとオブジェクト自体の重さが0でも一切動かなくなる
13.Billboard
1枚絵の平面オブジェクトにつかう。"True"にするとオブジェクトがずっと正面を向き続けるように回転する(スーパーマリオ64の1upキノコと同じ)
回転の中心は"pivot point"になるのでちゃんと設定しておくこと
14:Decal
未調査。切り替えてみたけど反映されてるのかわからないです
15.Race Week Visibility
オブジェクトをいつ表示させるかを決める。レースの時だけ観客を増やしたい時などに使う
- Race Weekend
"Practice"以外で表示される - ~ only
指定したセッションでのみ表示される
やっていることは"Vis group"の設定なので、わからないときは"Vis group"を見返しながら設定する
15.Visible in Rear Mirror
バーチャルミラーに映るか映らないか
これも"Vis Group"の設定なので、わからないときは"Vis group"を見返しながら設定する
16.Reflected
ほかのオブジェクトに反射で映り込むか、という設定だと思うが、rF2では反射するオブジェクトはscnファイルで別に定義するため使われているかは不明
17.Reflection Plane
SSrが導入される前は路面の反射を正しく描画するために設定が必要だったが、
導入されて以降は設定しなくても特に問題ないので割愛
18.Transparency
オブジェクトを透明にするか不透明にするかの設定だが、この設定は使われていない様子である。透明度はテクスチャのアルファチャンネルで指定できるので、使われていたとしても"By Material"以外にする理由がない。
4-3.各オブジェクトの設定を行う
1."Edit"タブの左上の"Object By Name"を選択する
2.出てきたメニューから設定したいオブジェクトを選ぶ
3.右側のメニューでオブジェクトの設定を行う
(各項目の説明は1個前の"Tag Attributes"の欄をみること)
最低限設定しなくてはいけないところ
路面(車が走る可能性のある場所)
- Render:True
- Drivable:True
- Collision Target:True
壁
- Collision Target:True
セクター
- Collision Target:True
- Object Response:Timing(ピットの場合は"pit")
補足(オブジェクトを複数選択する)
1."Display"タブの"Object Filter"を選択する
2.出てきたメニューで設定したいオブジェクトを選択する
3."Edit"タブの"All visible"を選択する
4.出てきたメニューの"Objects"→"Set Tags"を選択する
5.出てきたメニューで設定する
(灰色の部分は変更なし、チェックを入れると"True"、外すと"False"になる)
5.オブジェクトのエクスポート(3Dsimed→rF2)
5-1.エクスポート先のフォルダを作る
1.ファルダ作成マクロをダウンロードする
2.ダウンロードしたマクロを"rFactor 2\ModDev\Locations"にコピーする
3.マクロを実行し、出てきたメニューに作りたいコース名を入れ、"OK"を選択する
4."DONE"と表示されるまで待つ
補足
マクロの中身はdev modeのコースである”Joesville_Speedway"のフォルダとファイルすべてをコピーし、必要なファイルのリネームと、コースのモデル・テクスチャの削除を行うというもの
5-2.エクスポート
1."Export"タブの"rFactor2"から”Save rFactor2 Objects"を選択する
2."5-1.フォルダを作る"で作成したフォルダのうち
"(5-1で決めたコース名)\Assets\GMT"を選択して"OK"を押す
5-3.rF2でコースを読み込む準備
1."(5-1で決めたコース名)\Assets\GMT"をエクスプローラで開く
2."_output.scn"をメモ帳で開く
3."Instance=~”と書かれている部分から下をすべてコピーする
4."rFactor 2\ModDev\Locations\(コースの名前)\(コースの名前)\(コースの名前).scn"を
メモ帳で開いてペーストする
5."rFactor 2\ModDev\Locations\(コースの名前)\(コースの名前)\(コースの名前).gdb"を
開いて”TerrainDataFile=..\Joesville_Speedway.tdf”を”TerrainDataFile=..\(コースの名前).tdf”に書き換える
5-4.material editorを使う準備
1.路面や芝生用のテクスチャを探してダウンロードしてくる
rF2のdev guideにリンクが載っているサイト一覧
- https://cc0textures.com
- https://www.textures.com
- https://share.substance3d.com
- https://source.substance3d.com
- http://www.scanslibrary.com
- https://www.sharetextures.com/
- https://texture.ninja/
- http://texturify.com
- https://beta.scanslibrary.com/
"road"や"asphalt"、"grass"などで検索すると出る
(なければLochDrammondのフォルダからコピーしてきてもよいと思うが、
著作権は意識すること)
今回はcc0textures.comさんの"Asphalt015"を路面用に、"grass001"を芝生用に使って説明する(解像度は4Kを使用するが、ほかの解像度でも問題なし)
2.ダウンロードした画像はddsファイルに変換して、
"Locations\(コースの名前)\Assets\Maps"に入れておく
3."(コースの名前)\Assets"に"Material"という名前のフォルダを作る
4.(コースの名前)\(コースの名前)\(コースの名前).scn"を開いて、"SearchPath=~"とか書ている部分の下に"MaterialPath=(コースの名前)\ASSETS\Material”という記述を追加する
dev modeでコースを編集する
1.dev modeを開く
1-1.steamから開く
1.steamのライブラリ画面でrF2を選択し、"プレイ(緑のボタン)"をクリックする
2.出てきたメニューの"dev modeを起動"を選択
メニューが出ない場合は?
1.右側の歯車のマークをクリック
2."一般"タブの"起動オプション"を"起動時に確認"か"dev modeを起動"に変える
3.設定画面を閉じて、"プレイ(緑のボタン)"をクリックする
1-2.ショートカットから開く
1.エクスプローラで"rFactor 2\Bin64"を開く
2."rFactor2 Mod Mode.exe"のショートカットを作成する
3.作成したショートカットのプロパティを開く
4.作業フォルダの欄の末尾の"\Bin64"を消す
5.ショートカットをダブルクリックするとdev modeが起動する
注意点
steamが起動していない状態でショートカットをダブルクリックすると普通のモードで起動することがある
2.コースの読み込み
1-1.選択画面での確認
1.コース一覧にあるか確認する
1-2.エラーへの対処
1.Could not open ~ .tdfのとき
"5-3.コースを読み込む準備"の手順5を見直し、gdbファイルの”TerrainDataFile=..\(コースの名前).tdf”が間違っていないかを見直す
相対パス表記なので"..\"が消えていたり、ファイルを移動してしまうとこうなる
2.Error loading mesh file ~ のとき
フォルダの中にscnファイルで指定したgmtファイルが入ってないことがほとんど
入ってるようならscnファイルの"SearchPath="で指定するフォルダがあっているかを確認する
3.上記2つ以外のエラー
"Escキー"を押してスキップし、コースを読み込めるか確認する
4.エラーが出ないけどコース読み込み中に落ちる場合
サイズが大きすぎるオブジェクトがあるかもしれないので、
GMTフォルダの中身を確認して分割していく
3.material editorを使う
3-1.material editorの起動
1.無事に読み込めていることを確認する
2.ブラウザで localhost:5397/materialeditor/index.html#/ を開く
3-2.路面のシェーダーを設定する
1.material editorで路面のマテリアルを選択する
2.左上のシェーダー一覧から"L2IBLROAD"を探して選択する
3.今回は練習用に選んだテクスチャの都合とモデルのUV設定も行っていないことを踏まえて、"Shader configration"を以下のように設定する
4.上の手順3の設定がすんだら、"Shader configration"の下のテクスチャ設定欄が暗くなるので、青字の"applied"をクリックする
3-3.路面のテクスチャを設定する
1."AlbedoMap"に"~color.dds"を設定する
”Albedomap”は見た目の色を決めるものなので、
色のついているものを選べば間違いない
2."normalmap"に”~normalDX.dds"を設定する
"normalmap"は路面の細かい凹凸(見た目の)を設定するもので、水色っぽい画像か赤~黄色っぽい画像になっている
3.画面を一番上までスクロールして"Save to Moddev"をクリック
補足
"Save to Moddev"では完了メッセージもエラーも出ないため、不安な人は"Download"をクリックするとよい。
ブラウザで何かをダウンロードするときと同じ要領でjsonを保存できる
3-4.芝生のシェーダーを設定する
1."Home"をクリックしてマテリアル選択画面に戻る
2.芝生用のマテリアルを選択する
3.路面と同じ方法で"L2IBLTERRAIN"を選択する
4."Shader configration"を以下の写真のように設定する
3-5.芝生のテクスチャを設定する
1.路面と同じ要領で"Albedo"に”~colo.dds"、"Normalmap"に”~normalDX.dds"、
"MixSpecularmap"に"AmbientOcclusion.dds"を設定する
5."PatternMap"、"splatterMap"は用意がないので、右上の"set default"をクリックする
6."Save to Moddev"をクリックして保存する
4.路面とセクターの再確認
4-1.ワイヤーフレームの表示
1.dev modeの画面で右下の"RACE"をクリック
2.キーボードの"Ctrlキー"と"Hキー"を押す
4-2.走って確認する
1.コースを隅々まで走って、”路面に穴が開いていないか、接触判定をつけ忘れていないか"を確認する
路面のトラブルについては過去の記事を参照してください↓
2.セクターが正常に読み込まれているかを確認する
5.AIWの作成
5-1.メインパスの作成
1."Enter AIW editor"をクリック
2."record a path"をクリック
3.ゆっくりでいいのでコースの中心を1周する
4."add new path as main"をクリックする
5-2.ピット走行ルートの設定
1.想定しているピット走行ラインの始点に車を止める
2.レコードラインの時と同じ方法で計測を開始し、ピットロードを走って、
レコードラインに合流させたいところで車を止める
(合流地点が坂道の場合は必要に応じてrF2側のポーズ機能を使う)
3."press stop"をクリックし、計測を止める
4."add new path and mark as 1st pit"をクリックする
5.ピットのラインも赤→緑に変わっていることを確認する
5-3.ピット用パスとメインパスを接続する
1.画面上でマウスをドラッグしてwaypoint("+"の形をした点)を選択する
(ピットパスの始点→つなげたいメインパス上の点の順で選択するのが無難)
2.2点を選択した状態で"join as branch"をクリック
3."show/hide menu"をクリック
4."show wp connection"(上から4番目)をクリックして、選んだ2点がつながっていることを確認する
5."save waypoints"をクリック
6."leave track"でメニュー画面に戻ってからコースを読み込みなおす
7.ピットアウト側も同じようにする
5-4.AIWの保存
1."save waypoints"をクリックする
2.保存場所を示すメッセージが出てくるのを確認する
3.エクスプローラで"Locations\(コースの名前)\(コースの名前)"を開いて確認する
5-5.グリッドの設定
1."Enter AIW editor"をクリックする
2."show/hide menu"をクリックする
3."show grid positions"をクリックする
4."back"をクリックして戻る
5.”set grid/pit/garage location"をクリックする
6."add start location"をクリックする
7.グリッドを設定したい位置に車を止める
(角度も判定に入っているので注意して止めること)
8.メニューの中から設定したいグリッドをクリックする
補足
アクセル、ブレーキ、ステアリングだけでは車の位置を細かく正確に調整するのは難しい。そこでdev modeには車の位置を動かす機能がついている。
"Shiftキー"+"Ctrlキー"+"矢印キー"で矢印の方向にゆっくり等速で移動可能
(回転もできるらしいが...)
5-6.ピットとガレージについて
1.設定方法はグリッドと同じなので割愛
5-7.セーフティーカーの位置設定
1."add aux location"をクリックする
2.設定したい位置に車を止めてメニューをクリックする
5-8.カット判定の作成
1."find corriders"をクリックする
2."show/hide menu"をクリックする
3."show cut track"をクリックする
4.画面上でライン上の"+"のマークを囲うようにマウスをドラッグして"waypoint"の選択を行う
5.選択した点が持っているカット判定ラインを"ShiftキーかCtrlキー"+"矢印キー"で調節する
6.dev modeからのエクスポート
6-1.masファイルにまとめる
1."mas2.exe"を起動する
("rFactor 2\Support\Tools"のなかにある)
2.ウィンドウの中にすべてのファイルを入れる
(モデル、テクスチャ、その他コースに必要なファイル、という具合にmasファイルを分けておくと管理がしやすくお勧め)
3.左から5番目の黄色のマークをクリックしてmasファイルを作成する
6-2.rfcmpファイルを作る
1."mas2.exe"を起動する
("rFactor 2\Support\Tools"のなかにある)
2.左から6番目の箱のマークをクリックする
3."Create Single Cmp Package"をクリックする
4."Select Component"の下矢印(畑の地図記号みたいなマーク)をクリックし、
出てきたタブの"Add new Component"を選択する
5.出てきたウィンドウでコース名を入力する
6."File"の右にあるマークをクリックし、
作成したrfcmpファイルの保存場所とファイル名を指定する
7."Type"の右の下矢印をクリックし、出てきたメニューの"Location"を選択する
8."Mas File"の右の白いアイコンをクリックして、作ったmasファイルをすべて選択する
9."Package"をクリックする
10."Install"をクリックする
7.動作確認
あとがき
コース脇に建物などを置く工程やコース情報の設定など、必要なことはまだたくさんありますが、書ききれないので"中級編(予定)"に書きます