ETS2 マルチモニター カスタムモードの使い方 2画面編

  どうも、け~えすです。
  2画面スパンので遊ぶ時に、「メーター中心部にモニターの境目が来るから見難くて遊びにくい!」って問題が大抵の方に出ると思います。
  そこで、マルチモニターのカスタムモードを使って、基準となる視点位置をズラす方法を試してみようと思います。


前提条件

・nVidiaサラウンドにて、フルHD2画面を横スパンで3840x1080の画面を作成する。
・ETS2のマルチモニターモードを4(カスタムモード)に設定する
・テストしたETS2のバージョンは1.27 表示するSSはすべてシートポジションとFOVをデフォルトにする

  カスタムモードの設定方法が解らない人や、nVidiaサラウンドの設定が解らない人は、
ETS2 マルチモニターでプレイする方法
ETS2 マルチモニター環境での画面調整方法
nVidiaサラウンドでスパン出来ない時に確認する事
この3つの記事を先にお読みください。

  今回の内容はソフトウェアによる疑似スパン(softTH等)でも使えると思いますが、こちらで検証できる環境が無いので、試す場合は自己責任でお願いいたします。

  ちなみに、フルHDの2画面でスパンし、マルチモニターモードを1でETS2を起動した場合の画面がこちら。
  真ん中に白い線がありますが、これが液晶モニターのベゼルと思って下さい。
  丁度この位置にベゼルが来てしまう為、めちゃくちゃ運転しずらいんですよw
  自分の場合は視点を斜めにしたりして、このベゼルをメーターの右端に来るように設定してる事が多かったですね。
  すんごい斜めになるので、運転がめちゃくちゃやりにくかった覚えがあります。

  なので、このベゼルの位置をもっと右方向にズラせないかやって行きます。

デフォルトのカスタムモードの表示

  とりあえずカスタムモードでETS2を起動してみます。
  ETS2を起動したら \マイドキュメント\Euro Truck Simulator 2\にmultimon_config.siiが自動的に作られてました。
  完全デフォルトの状態で起動した際の画面表示がこちらになります。
  モード1よりなんか広くなってますね。 ちなみに白い線はベゼルです。
  良く見てみると、赤い線の部分で画面が折れまがってるのが解ります。 これ、3画面表示になってますね。
  画面が広く使えて良いんですが、ベゼルの位置が気に食わない。

  この状態でのmultimon_config.siiの中身を全文引用しますと・・・
SiiNunit
{
multimon_config : _nameless.f2.4c90 {
 normalized_ui_x: 0.333333
 normalized_ui_width: 0.333333
 monitors: 3
 monitors[0]: _nameless.114.1670
 monitors[1]: _nameless.114.1710
 monitors[2]: _nameless.114.17b0
}

monitor_config : _nameless.114.1670 {
 name: center
 normalized_x: 0.333333
 normalized_y: 0.000000
 normalized_width: 0.333333
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 0.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

monitor_config : _nameless.114.1710 {
 name: left
 normalized_x: 0.000000
 normalized_y: 0.000000
 normalized_width: 0.333333
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 1.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

monitor_config : _nameless.114.17b0 {
 name: right
 normalized_x: 0.666667
 normalized_y: 0.000000
 normalized_width: 0.333333
 normalized_height: 1.000000
 horizontal_fov_relative_offset: -1.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: -0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

}
  どうみても3画面設定です、本当にありがとうございましたorz

先達の知恵をお借りする (1画面設定バージョン)

  この記事を書き始めた際、各パラメーターの数値設定範囲とかが全然わからず、手の着けようがない状況でした。
  丁度その時に、patina42lsjさん(ツイッターへのリンク)からDMで、「カスタムモードの事を書いてるページがありますよ。」との情報を頂きました。

  SteamのETS2ガイドにある「Dual Monitor / Screen Guide」のページです。
  3つの設定方法を公開して下さってまして、その設定内容とSSを照らし合わせて、色々と中身が理解出来て来ました。

  実際に公開されている設定の中の「Step 2, option A - single view/camera - plane screens 」を手直しした上で試してみた結果がこちら。
  これも中々いい感じなのですが、メーターの形を良く見て下さい。 横に伸びてますよね?  アスペクト比が崩れてるので、全体的に横に伸びちゃってます。

  これは、設定ファイル内でFOVの設定を0にしているからです。
  設定どおりに145度・60度を設定してしまうと、シートポジションでFOVの切り替えが出来ません。
  また、この状態でフォトスタジオを使う場合、フォトスタジオのFOVも効きません。
  なので、FOVを固定する変わりにアスペクトが正常になるパターンか、ゲーム内でFOV変更が出来るけどアスペクト比が崩れるかの2択になってしまいました。

  ただ、1画面設定って発想が無かったので、この設定方法はすごく勉強になりました。
  他にも2つほど設定がありますので、興味のある方は上記リンクから確認してみて下さい。

  設定関連のパラメーター数値がいまいち解らなかったのですが、このページを見て色々と情報を知る事が出来たのですごく助かりました。
  情報提供して頂けました、patina42lsjさんにも改めてお礼申し上げます。 ありがとうございました。

  実際にこの設定にするsiiは以下の通りです。 数値の手直しをした部分は赤字+太文字で装飾しております。

注意:monitor_configの部分は各自の環境でパラメーター名が違っているはずです。 ここはコピペしない様にして下さい。
SiiNunit
{
multimon_config : _nameless.f2.4c90 {
 normalized_ui_x: 0.000000
 normalized_ui_width: 0.500000
 monitors: 1
 monitors[0]: _nameless.114.1670

}

monitor_config : _nameless.114.1670 {
 name: center
 normalized_x: 0.000000
 normalized_y: 0.000000
 normalized_width: 1.00000
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 0.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.333000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 0.666000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}
}

モード2の右画面無し風味

  モード2(3画面で両サイドの液晶をハの字に設置)の要領で、右モニターを斜めに設置する感じの表示方法です。
  今回も、デフォルトからの変更箇所を赤字+太文字装飾しております。
SiiNunit
{
multimon_config : _nameless.f2.4c90 {
 normalized_ui_x: 0.000000
 normalized_ui_width: 0.500000
 monitors: 2
 monitors[0]: _nameless.114.1670
 monitors[1]: _nameless.114.17b0
}

monitor_config : _nameless.114.1670 {
 name: center
 normalized_x: 0.000000
 normalized_y: 0.000000
 normalized_width: 0.500000
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 0.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

monitor_config : _nameless.114.17b0 {
 name: right
 normalized_x: 0.500000
 normalized_y: 0.000000
 normalized_width: 0.500000
 normalized_height: 1.000000
 horizontal_fov_relative_offset: -1.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: -0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

}
 この設定で表示される画面がこちら
  自分の考えでは、右画面も並行のはずだったのに、どうしてこうなったorz

  その後色々とテストして行った所、並行表示したい場合はモニターを1枚の扱いで行わないとダメだと解りました。
  3画面ハの字置きみたいに斜めにモニターを置きたい人用って事で、とりあえず書いておきます。
  実際に使う人は少数だと思うのですが、ETS2配信でこの設定はありじゃないかな?とか思ってます。 3画面より負荷が掛りにくそうなので、試してみようとは思っております。

1画面バージョンで、視点位置をズラす

  上記の失敗を踏まえ、ETS2ガイドにあった1画面表示バージョンを改良して、「Fovをゲーム内で変動可能で、さらに視点位置を左側に寄せる」方向で調整してみようと考えました。

  初めは 「camera_space_offset」を調整する事で可能になると考えてましたが、実際にやってみると問題が出て来ました。
  ちなみに camera_space_offset: (0.50000, 0.000000, 0.000000)で設定した物がこちらです。
  確かに右にオフセットしたのですが、視点だけで描画位置はオフセットされてません。  よって、ハンドルにメーターが被って見えにくくなってますね。
  この後に「heading_offset」等を変更してみましたが、視点方向の変更だったので意味が無く、やはり描画位置の変更もしないとダメだと解りました。

  F4のシートポジションで視点をズラすより違和感のない走行が可能ですので、「メーターとか見なくても平気だぜ!」って方は、この方法でもありかもしれません。
  siiは以下の通りです。
SiiNunit
{
multimon_config : _nameless.f2.4c90 {
 normalized_ui_x: 0.000000
 normalized_ui_width: 0.615000
 monitors: 1
 monitors[0]: _nameless.114.1670
}

monitor_config : _nameless.114.1670 {
 name: center
 normalized_x: 0.000000
 normalized_y: 0.000000
 normalized_width: 1.000000
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 0.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.500000, 0.000000, 0.000000)
 horizontal_fov_override: 0.000000
 vertical_fov_override: 0.000000
 frustum_subrect_x: 0.000000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 1.000000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

}
  ルートアドバイザの場所が悪かったので、右画面の左下に表示されるようにUI描画位置を拡大しております。

FOVは変更できないが、理想的な表示設定

  殆どすべてのパラメーターをイジってみましたが、どうやっても求めている描画位置に設定する事が出来ませんでした。
  色々と調べて行くうちに、SteamのETS2ディスカッションでこんな記事を見つけました。

  この記事のKomfr氏の書き込みを読んでみましたが、やはり描画位置をズラす為にはfrustum_subrect_x、frustum_subrect_widthを変更する必要があり、この変更を行うとアスペクト比が狂ってしまう為、自分でhorizontal_fov_overrideとvertical_fov_overrideを設定する必要が出るみたいです。 うーん、FOV変更出来なくなるのは仕方が無い事なのかorz

  Konfr氏の書き込みで、FOVの計算式も出てましたので色々と計算して10パターンほど試しました。
  最終的に出て来たのが、一番最初にやった「先人の知恵をお借りする(1画面設定パターン)」の設定ファイルその物でした。 本気で泣きそうorz

  最終的にこのパターンで出来上がったsiiがこちらです。
SiiNunit
{
multimon_config : _nameless.f2.4c90 {
 normalized_ui_x: 0.000000
 normalized_ui_width: 0.50000
 monitors: 1
 monitors[0]: _nameless.114.1670
}

monitor_config : _nameless.114.1670 {
 name: center
 normalized_x: 0.000000
 normalized_y: 0.000000
 normalized_width: 1.000000
 normalized_height: 1.000000
 horizontal_fov_relative_offset: 0.000000
 vertical_fov_relative_offset: 0.000000
 heading_offset: 0.000000
 pitch_offset: 0.000000
 roll_offset: 0.000000
 camera_space_offset: (0.000000, 0.000000, 0.000000)
 horizontal_fov_override: 145.000000
 vertical_fov_override: 60.000000
 frustum_subrect_x: 0.333000
 frustum_subrect_y: 0.000000
 frustum_subrect_width: 0.666000
 frustum_subrect_height: 1.000000
 render_interior: true
 render_exterior: true
}

}
この設定ファイルで表示される画面がこちら
  うん、FOV変更が出来ないけど、かなり理想的な描画位置と視点位置ですね。
  シートポジションは変更可能ですので、その範囲で微調整するといい感じに仕上がると思います。

  なお、平面ポジションの仕様で、助手席側のミラーが変な表示になってます。これは回避できません。  回避したい場合は、「モード2の右画面無し風味」の設定を使うぐらいかな?

備考:各fov_overrideの計算方法
  atanを扱えるWeb関数電卓が必要なので、こちらのページの物を使って計算すると便利です。

horizontal_fov_override = atan(tan(X/2)*3)*2
vertical_fov_override = atan(tan(X/2)*9/16)*2

  Xには基準FOVを代入して下さい。
  vertical_fov_overrideは16:9モニターの計算式です。 スクエアモニタとかウルトラワイドモニタの場合は、そのモニタのアスペクト比を調べた上で、*9/16の部分を書き換えて計算して下さい。

最後に

  色々と試してみましたが、やはり先達の通った道は正しかったって結果に終わりました。
  3画面とかにも応用が利くのかな? とか思っていましたが、3画面でのカスタムモードとかって、現状では使い道が無さそうな感じですね。

  各パラメーターの解説も書こうとは思っていますが、暫く後になるかと思います。
一気にやりすぎたんで、頭が熱暴走気味ですw

  2画面で遊ばれている方の、プレイ環境の改善に繋がれば嬉しいです。
  是非ともチャレンジしてみて下さいね。



スポンサーリンク