路線バス運転シミュレータ開発記

OMSIを使って路線バスの運転シミュレータを製作しています。備忘録的にゆるーく書いていきたいと思いますので、お付き合いいただければ幸いです。

道路標識の実装

道路標識のように同一の形状でかつ非常に種類の多いオブジェクトを作成する場合、種類ごとにオブジェクトを作成してしまうと、o3dファイルとscoファイルの数が膨大になってしまいますし、エディタで必要なものを探すのも大変になってきます。

f:id:poplar1930:20210709103822j:plain

そこで、まだ荒削りではありますが、本来はバス停などのラベル付けに使われるフォント機能を使ってこういうやり方を考えてみました。

(1)標識の形(丸、四角、三角など)に着目してオブジェクトを作成する。

(2)Fontsフォルダに以下のような画像ファイルを作成し、oftファイルでそれぞれの標識ごとに[char]の値をA,B,C...と定義していく。

f:id:poplar1930:20210709103838j:plain

 

(3)scoファイルには[texttexture]を追加し、Labelの入力値によってテクスチャが動的に貼り付けられるような仕組みにしておく。

(4)標識を設置するときは、丸形、四角型、三角型などのscoファイルから選択し、実際の内容はscoの種類によらず、Label値を入力することで行う。例えばAなら通行止め、Bなら車両通行止めというような感じ。

このようにしてやれば、爆発的にオブジェクトの種類が増えることは避けられ、エディタで設置するときもLabel値を変えるだけで標識の種類を変更できるので楽かなと思っています。

ただし、案内標識と補助標識は種類が多いのでアルファベットで分類していくようなやり方だとちょっと問題がありそうなので考え中です。