CommentsAssettoCorsaの挙動設定等の仕組みを調べたいときや参考にしたい際に、KN5やACDの展開がいちいち面倒臭かったので、コマンドラインで動くコンバータの開発がてらにヘルパーを作ってみました。CommentsrFactorといえば2005年にリリースされてから早10年が経ってしまった、PCレーシングゲーマーにはおなじみの「老舗」シミュレーターですね。最近になってrFactorを使用したシミュレーターショップが増えてきたこともあって、日本国内での認知度もかなり上がってきているようです。2作目の「rFactor2」が3年前にリリースされましたが、根強いファンに支えられ、今でも多くのMODがrFactor1向けに開発され続けています。rFactor1のインターフェースは、AssettoCorsaのようにUI(ランチャー)テーマを自作・改造することが出来、MOD毎にオリジナルの変更が加えられていたり(背景に動画が再生されたりビジュアルイメージが変わったり)するのですが、標準状態だと個人的にはかなり使い勝手が悪く、兼ねてより全面改修したいと考えていました。File)」はテキストファイルとして編集が可能になっており、ISI独自のフォーマットで記述されています。その記述のルール(仕様)が不明瞭な上に、オンライン各所のコミュニティ上にも情報が無く、かなり冗長な記述になっていて、とてもテキストエディターで編集できるような物ではありませんでした...という事で、UIデザインエディターを作り始めてみました。CommentAssettoCorsaのLauncherは、コマンドライン引数を設定することによって「開発モード」と「翻訳モード」に設定することが出来るようになっています。Themeのカスタマイズなどにお役立て頂ければと思いますので、今回はその設定方法や操作について解説します。CommentsDefaultテーマファイルを複製して開発テスト用のJSをゴリゴリ書いて、Launcher上にWebGLレンダラーを実装させる所まで成功しました。WebWorkerで実装したKN5Analyzerは動きませんでした...orzKN5用のマテリアルをまだ実装していないので、取り急ぎワイヤーフレームで描画確認しています。動作も60fpsで安定していて結構軽いです。Comments先日KN5ファイルフォーマットの解析でプレビューに用いましたが、KN5を解析してThree.jsでレンダリングするためのKN5Loader.jsを作ってます。KN5の解析はファイルサイズも大きく処理に時間がかかるため、WebWorkerで並行処理を実装してみました。DDSLoader.jsの拡張もしてKN5に含まれるテクスチャは(GTR35しか試していませんが)全部読み込めたので、Kunosのシェーダープロパティに基づくテクスチャのマルチマッピングもとりあえずShaderMaterialでそれっぽく見えるように実装してみました。マルチマッピング以外の処理を実装していないため、環境光による陰影や、シャドウマッピング、深度バッファなどが反映されません。32bit非圧縮ARGBの4種類のフォーマットのパーサしか実装されていません。そのため、24bit/16bit非圧縮RGBや、NormalMap等で用いられる16bit非圧縮LuminanceAlphaFormatなどを読み込むことが出来ません。Loaderに追加実装する形でサポートしてみました。CommentAssettoCorsaのランチャーはCEFで実装されているため、HTML、CSS、JavaScriptのコードによってデザインや動作をカスタマイズすることが出来ます。CEFはWebGLもサポートしているので、HTML上で3Dレンダリングさせたり出来ます。いうことで、先ずはランチャー上で車種選択やコース選択時に3Dプレビューさせてみたいので、JavaScriptでKN5ファイルをパースしてやる必要があります。ファイルフォーマットの解析に苦労しましたが、取り敢えずは試作したパーサが無事動いたので、解析できたデータをthree.jsを用いて3D表示させる所まで実装してみました。