いつもの峠をゲームで走れたら楽しいかも08 Ver0.9x(rFactor2)製作

目次

Ver0.90(rFactor2)のコンセプト【2017-03-04】

動作対象シムであるrFactor2へのマッチングを進めつつ,今までの不具合を見直すのを今回のバージョンアップの目的とする。また少しは新規要素を追加したいところ。

作業01:地形メッシュ見直し【2017-03-04】

ポリゴン数をケチってかなり荒かった地形のメッシュをちょっとだけ細かくする。

Nsuka_Ver0.90(rFactor2)作業01:地形メッシュ見直し

また,rFactor2での日陰表現を確実にする(SunBlocker:太陽がオブジェクトの裏側にあるときの処理)ためにオブジェクトとしても整理してみよう。

▲目次に戻る

作業02:コースアップダウンの見直し【2017-03-04】

コースのアップダウンについて,なんとなく気になったところを微修正してみる(実は全然手を付けていないところも残っている)。

Nsuka_Ver0.90(rFactor2)作業02:地形メッシュ見直し1
Nsuka_Ver0.90(rFactor2)作業02:地形メッシュ見直し2

▲目次に戻る

作業03:樹木のビルボード化【2017-03-04】

rFactor2では,ビルボードオブジェクトの実装がrFactor1よりも強化されている。コース脇の樹木をできるだけビルボード化して,表現UPを図ってみよう。

▲目次に戻る

作業04:CubeMapの適用【2017-03-04】

コース脇の建物の窓ガラス等にCubeMapを適用して表現UPを図ってみる。

H出湾付近
H出湾付近
K木付近
K木付近
バス営業所
バス営業所
N門インター料金所
N門インター料金所
N門北インター料金所
N門北インター料金所
N門公園沿い
N門公園沿い

▲目次に戻る

作業05:DRSゾーンの追加

F1でおなじみのDRSゾーンを適用してみる。

DRSゾーン

その方法はGDBファイルに以下を記述すればいいようだ。(参照:https://forum.studio-397.com/index.php?threads/drs-zones-adjustment.53245/#post-862337

RearFlapWetThreshold=0.5 //DRSが有効になる最大のウェット状態(1でheavyrain)
RearFlapZoneSessions=31 //1=test, 2=practice, 4=qualifying, 8=warmup, 16=raceを合算
RearFlapZone  // カッコ内が一つのDRSゾーン
{
  MinimumCrossings=0 //何回通過したら有効になるか?
  TimeThreshold=1.0 //有効になる前車とのタイム差
  DetectionLapDist=1620.1  //タイム差を計測するトラック上の距離(スタートラインからの距離)
  ActivationLapDist=1642.1  //DRSゾーンが始まる位置(スタートラインからの距離)
  DeactivationLapDist=1980.1 //DRSゾーンが終わる位置(スタートラインからの距離)。スタート/フィニッシュラインを越えても可)
}
:以下複数続けて可

新レイアウト "SouthLong" & "SouthShort"

『低速コーナーの連続はストレスが溜まるだけで面白くない!』って人もいるようなので,高速セクションのみを切り出した新レイアウトも作成しよう。

ShouthShort
ShouthShort
ShouthLong
ShouthLong

Nsuka_0.90(rFactor2)WIP動画【2017-05-06】

DX11版rFactor2OpenBeta公開に合わせ,新レイアウト"SouthLong"の動作テストをやってみる。

▲目次に戻る

作業06:信号にLightEffectを

点灯している信号はその光で周りを照らしている。これを再現したのだが,その前に...

自発光を表現するEmmisivだが,最高設定にしてもさほど明るくない。これはHDRが標準になってから特に顕著で,夜間の信号がとても見にくい。こんな信号では事故のもとにしかならないので,光源を設置してランプ部分を照らしてやろうというのが発端だ。

問題点が

そのためには以下の問題点を把握しておかないといけない。

  1. 点滅する光源効果は実装されてない(ようだ)
  2. 光源効果は全方向を照らすものしかなく,指向性のあるものはない(ようだ)

よって,以下の方法で実装することを考える。

  1. 点滅信号は,周りを照らす効果をあきらめてランプ部分だけを照らすことにする。
  2. 真下とか後方にも光が回り込むが妥協することにする。

実装してみた

上記により実装したのがこの画像。ちょっと違和感がある,かな? まぁ,よしとしておこう。

信号のLightEffect

▲目次に戻る

Ver0.90 ScreenShot

K浦下り
K浦下り
K木付近1
K木付近1
高速
高速(防音壁1を立体化)
K木付近2
k木付近2
Y方見
Y方見
M付近
M付近
K島付近
K島付近
N門北インター付近
N門北インター付近(防音壁2を立体化)
O塚御殿(S騒荘)付近
O塚御殿(S騒荘)付近

▲目次に戻る

作業07:Ver0.92に向けて【2018-03-18】

TerrainShaderの適用

TerrainShaderを適用し,複数のテクスチャ(雑草,荒れ地,砂浜等)をスムーズにつなげることで,道路脇の未舗装エリアの雰囲気向上を狙ってみよう。

Multilayer grass/dirt
https://www.studio-397.com/wp-content/uploads/2016/12/rF2_Terrain_Shader.pdf
Multilayer grass/dirt with SateliteMap
https://forum.studio-397.com/index.php?threads/multi-layer-grass-dirt-with-sat-map.55032/:'Multilayer grass/dirt'で統一
O塚御殿付近
O塚御殿付近
三日月
三日月
H出湾付近
H出湾付近

カーブミラーをミラーに(CubeMapの適用)

今まではカーブミラーには固定のテクスチャを貼っていたのだが,カーブミラーとして本来の仕事をさせるべく,CubeMapを適用しミラー化してみる。

カーブミラー
カーブミラー

ただ残念なことに,このカーブミラーは対向車は映らないしライトの光も反射してくれない,風景だけ描画してくれるミラーでしかない。今後の課題だ。

オブジェクトの追加

道路脇の建物や樹木・看板などを,現地調査したもの,適当にごまかしたもの,さらに追加していこう。

工業団地付近
工業団地付近
みやげものや
みやげものや
N門インター付近
N門インター付近
N門インター
N門インター
高速バス停
高速バス停
O塚御殿前
O塚御殿前
N田山Before/After
N田山Before/After
会談・フェンス・建物の立体会向上

アップデートされたRealRoadShaderについて

RealRoadShaderがアップデートされて,コース全体の水溜まりの傾向を指定するRainPuddleMapが追加されたが,これについては次回以降の実装検討として,今回はDiffuseMapの見直しのみとする。下記,左は効果をちょっと攻めすぎた。ウェット状態ではいい感じだが,ドライだと中央のように水たまりになる部分の反射がおかしい。やはり一般道は右側のように反射してもらいたいところだ。

wetではイケてるDiffuseMap
wetではイケてるDiffuseMap
だがドライでは反射が変なDiffuseMap
だがドライでは反射が変なDiffuseMap
一般道はこうでなくちゃ:DiffuseMap
一般道はこうでなくちゃ:DiffuseMap

これについては,昔にも『Ver0.80(rFactor2)製作:作業05:難しい(?)RealRoadShader』でも検証はしたものの,現Buildでも同様のことが起こるようだ。

Ver0.92 ScreenShot

K木付近1
K木付近1
K木付近2
k木付近2
K木付近3
K木付近3
K木付近4
K木付近4
K木付近5
K木付近5
H出湾付近1
H出湾付近1
H出湾付近2
H出湾付近2
H出湾付近3
H出湾付近3
N門インター付近
N門インター付近
K島付近1
K島付近1
K島付近2
K島付近2
H越付近
H越付近
M付近1
M付近1
M付近2
M付近2
K鳴門橋付近
K鳴門橋付近

▲目次に戻る

Ver0.93【2020-11-08】

路面メッシュの細分化

今回更新の目玉その1は路面メッシュの細分化だ。進行方向・幅方向ともに半分のメッシュサイズ(幅方向0.5m×進行方向1m程度)にするとともに、轍をイメージした何かを表現してみる。

メッシュ細分化
メッシュイメージ

オンラインレース向けライアウトを追加

目玉その2は、オンラインレース向けに40台分のピット・スターティンググリッドを設定したコースレイアウトの追加だ。

Nsuka_MP_FullCourse
Nsuka_MP_FullCourse
Nsuka_MP_InnerLoop
Nsuka_MP_InnerLoop
Nsuka_MP_SouthLong
Nsuka_MP_SouthLong
Nsuka_MP_OuterLoop
Nsuka_MP_OuterLoop

コース脇地面のシェーダー見直し

前バージョンでも採用していたコース脇地面のシェーダーの適用範囲を拡大し、衛星画像だけでない表現に変更。ついでに田植えもおこなって、日本らしい風景の再現感をアップ?

Nsuka_MP_SouthLong

その他更新点

その他の細かな更新点として、各種オブジェクトの追加・修正をおこなっている。

チャペル追加
チャペル追加
駐車場管理棟追加
駐車場管理棟追加
工場追加
工場追加
植樹
植樹
河川追加
河川追加
擁壁立体化
擁壁立体化
フェンス立体化
フェンス立体化

▲目次に戻る

Ver0.94【2024-06-15】

rFactor2のシステムがDX11に対応したにも関わらずNsukaのアップデートは怠っていたので、見捨てられたシェーダーがあったりしてちゃんと動作しない状況に陥っていた。久しぶりにモチベーションが上がったこともあり、一気に対応させてしまおう。

今回の方針

  1. DirectX11(PBR:Physical Based Rendering、IBL:Image Based Lighting)に(最低限レベルだとしても)対応させる。
  2. FPSを改善する。
  3. RoadShaderの「road Details Map」は今回は実装せずに次回への宿題とする。
  4. 地形の夜間時表現は仮実装レベルに留め、次回への宿題とする。

SSR(Screen Space Reflection)の怪?

今回悩んだのがこれ。特に水面表現の「Water Shader」でなんじゃこれ? となった個所だ。手前の建物は正しく描画されているのに、その背景には、本来の山ではなく、別のなにかが描画されている!

水面反射に謎の背景が?
水面反射に謎の背景が?

ただ、この地形には見覚えがあって、それは「ReflectionMapper=STATIC01」で設定した地点の風景だ。だが、なんでそれが表示されるのか不明なので、「STATIC01」の地点をダミー設定(周囲に何もない高度を指示)することで今回は回避してみた。

何もない地点をSTATIC01に指定
何もない地点をSTATIC01に指定

ちなみに、「StaticMappser」はCubeMapでの表現が見捨てられたカーブミラーの実現に必須なのよ。カーブミラーごとにmaterialを別名称にしてそのマテリアルに「StaticMappser」を適用すべし。

カーブミラー復活
カーブミラー復活
『Material Editor』で設定
『Material Editor』で設定

FPS改善

公式ガイドによると『"Draw Calls"をできるだけ下げろ。ひとつのオブジェクトに使っているマテリアルは少なくしろ』、『マテリアル数を少なくするために関連する画像を集約した大きなテクスチャにしろ』とあったので、それに従ってみる。でもね、なかなか集約できないのよこれが。

公式ガイド
https://docs.studio-397.com/developers-guide/track-development/general-tracks/scene-optimisation/object-optimisation

ほかにも注意点が書いてあるのでそれらも配慮する。

夜景の改善

もともとは田舎なので夜はとても暗い。とはいっても街灯や商業施設・民家の灯火は存在してるので真っ暗ではない。実際に光源を設けて照らさなくても『Emissive Map』で簡易表現できるようになっているので、暗闇に沈んでいた旧バージョンからの見直しどころだ。

夜景向上(建物)
夜景向上(建物)
Emissive Map
Emissive Map

ちなみに同じ手法で地形にも夜間表現を実装してある、、、が、あくまでもお試しで、ひどいレベルである、と注釈を加えておく。

全体的に

前回作成したマルチプレーヤー用の40台グリッドのレイアウトとグリッド位置が違うだけの旧レイアウトは今回削除した。

▲目次に戻る

Ver0.9x(rFactor2)公開情報

Ver0.90 Update Summary

Ver0.91 Update Summary

Ver0.92 Update Summary

Ver0.93 Update Summary

Ver0.94 Update Summary

Download

Download link(STEAM):http://steamcommunity.com/sharedfiles/filedetails/?id=944399468