2012年5月15日

iRacing Anti Aliasing Settings

半分自分用メモ。

iRacingクライアントのアンチエイリアスは性能がいくない、というのを知った。
iRacing側のGraphicsオプションの Anistropic Filtering と Antialiasing をオフにして、CCC側でAAをかけると良いらしい。

試したら、確かに全然良い!いままでのシャギーはなんだったんだ!!
というわけえで下記の環境でiRacingSim.exeのアプリケーションプロファイル設定のメモ。iRacingの設定もついでにメモ。とか偉そうに書いてみたけど、デフォからたいして変更してない!
F1@spaでひとりぼっち走行で60fpsほぼ維持が目標。


環境
Windows 7 x64
i7-2600K
HD6970 CCC12.5
定格運用


~CCC12.4の設定~

赤字がデフォルトから設定を変更した部分。

アンチエイリアス
モード:アプリケーション設定をオーバーライド
形態学的フィルタリング:オフ (オンにするとぼやける。レースシムにはメリットない。)
レベル:4x (EQってなんだ??)
フィルター:Standard (Edge-detectにするとなぜか29fpsまでしか出ない。これで1時間悩んだ。)

異方性フィルタリング
アプリケーション設定を使用する:オン (x4くらいいきたいけど、4fpsくらい重いのでやめた。遠くがボケても視力のせいにする。)
ピクセルごとのサンプル:16X (コメント欄をみて再設定。アンチエイリアシングモードを下げたらfps低下が気にならなくなった。)

ポリゴン分割
AMDの最適化:オン

Catalyst A.I.
テクスチャフィルタリング品質:画質 (よくわからない)
表面フォーマット最適化を有効にする:オン

垂直リフレッシュを待機
アプリケーションで指定しない限りオフ

アンチエイリアシングモード
マルチサンプルAA (最初スーパーサンプルAAでいってたけど、コメントの指摘で再チェックしたら確かに重かったので変更。スーパーだと5fpsくらい落ちる。適応マルチサンプルAAでは58fpsくらいまで落ち、一人では大丈夫だけど、他車が入ってきたときのことを考えて一番下AAに。)



~iRacingクライアントの設定~

ゲーム内
5460x1080x32 Full Screen
Number of screens:3
Render each screen separately:オン (ディスプレイに囲まれているとオフでは不自然。)
Monitor width:527 (このへんは各自のモニタを実測)
Visible width:509
Viewing distance:660
Angle between center and side screens:44 (三角関数でちゃんと計算したほうがいい。)

2-Pass:オフ (重すぎる!)
Anistropic Filtering:オフ (CCCで設定!)
Antialiasing:オフ (CCCで設定!)
Vertical Sync と Cap frame queue (これをすると滑らかになって好き。でも、これが嫌いな人もいるみたい。)
Steering Wheel:オフ (好みだね。)
残りは全オンで!

renderer.ini
CockpitMirrorOptimization=0 (1だとミラーだけカクついて気になる。)

app.ini
steeringFFBSmooth=0.100000 (ポルコンのひとはこれが推奨セッティング)


こんな感じでいじってたら JP Meeting 遅れました。やーん。
2012年5月6日

Brake Vibration System for iRacing

ついったをつらつら眺めてたら、いつかやろうリストのうちの一つをやる気になってきた。ついったは麻薬。

DIY G27 Brake Vibration @ FergoTech というプロジェクトを試すよ。
簡単に説明すると、iRacingのテレメトリを解析して、ブレーキング中にホイールがロックすると振動する、という機能をお手持ちのペダルに追加してみようというもの。プロジェクト名にG27とあるけど実はG27である必要がまったくないので、どんなペダルにでも機能を追加可能。G25にもDFGTにもT500RSにもGiddy up pedalにも!

同じ機能を持った Fanatec CSP 用の Fanatec CSP brake vibration という便利ソフトウェアがあって、その作者が作ったホイールロック検出アルゴリズムの提供をうけて開発されたのがコレ。なので同じ動作をするはず。

僕のArduinoプロジェクトはプログラミング脳が働かずにまったく進んでいないけども、コレは手持ちの機材で可能なので試してみる!!


必要なもの
・お手持ちのレースシム用ペダル
・Arduino
・お手持ちの適当なモーター

というわけでこんなのを作ってみた。
まずモーターを調達。PS2のデュアルショックコントローラーから拾った。この子は確か7V駆動だけど、動けばいいや。
振動させるためモーターの軸に偏心した錘を装着。この子は当然装着済み。捗る。

Arduinoにプログラムを転送。
モーターなどをArduinoに接続。写真の右奥に伸びてる赤/茶ケーブルがモーター行き。
FergoTechの指示どおりピンに直接モーターを繋いだらパワーが足りなかったのでトランジスタをスイッチに使った。全体の電流確保のため電源アダプターも接続。
作動状況確認のため、モーター動作と一緒に光るLEDも追加しといた。
ソフトウェアを起動しておいしいね。

ブレーキペダル裏側に振動モーターを固定して完成。
ちゃんと動作した!
ロック手前でゆるゆる回り、完全ロックでブルブルくる!すごい!


ABSが無いクルマで動作させるのはリアリティがないけど、Gの小さい変化を感じる術がないレースシムには結構良いかもしれない。
iRacingは音と挙動で「ホイールロックしちゃった感」がかなり認識できるけど、それにこれが加われば「もうちょっと踏める」感がわかってタイム伸びる、かもしれないね!
そういう意味でフィードバックが増えるのは良いこと。実験は成功したので、AVRあたりで専用インターフェースを作ろうかなー。できるかなー。

またレース前に起動しなきゃいけないソフトウェアが増えてしまった。
というか走ってる時間よりこういうことしてる時間のほうが長い。目的はどこ?