エントリー

BVE5で119系の負荷チェック

  • 2010/10/17 17:20

ファイル 34-1.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。 先日より製作中の119系ストラクチャ、まだ完成ではありませんが、一度BVE5コンバータで変換して動作チェックをしてみました。ストラクチャ単体での変換はできませんので、ストラクチャとして飯島駅構内に配置し、路線丸ごとコンバート。変換後の路線データをIM0.5にて運転してみたところ、特に描画の不具合もなく、フレームレートも60前後を維持していましたので、交換列車用のストラクチャとしても問題なく使えそうです(この画像のみフルHD。画像右下の拡大ボタンで原寸になります)。  頂点数の多いものや、テクスチャサイズの大きなストラクチャは、これまで製作の都度コンバートして、BVE5上での描画負荷をチェックしてきましたが、私が必死こいて手打ちした程度の頂点数では、フレームレートが一時的に低下するようなことは無さそうです。むしろ草や樹木の多いところで引っかかりを感じるので、透過テクスチャを多用する方が処理が重いのでは?などと疑っています。


ファイル 34-6.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。  話が逸れましたが、「交換列車として使える」というのは重要なことでして、将来的に対向列車・交換列車をBVE5で動かすことができるようになれば(現在の開発ペースを鑑みると夢物語な感もありますが)、前方から接近しつつ右側の上り線に入線する対向列車を、停車中の運転台からじっくり眺める・・・というシチュエーションもあり得るわけで、「運転中は細かいトコロなんて気にならないから作り込まなくて良い」という訳にもいかなくなります。これまで「OpenBVEで遊ぶ用」と書いてきましたが、そういった将来の機能に対する布石でもあるのです。


■BVE5コンバータでの変換失敗談  製作途中のデータを変換したのは、ひとつ理由があります。コンバータは構文の解釈が非常に厳密で、BVE4・OpenBVEおよびそれらのストラクチャビュアが正常に描画しているデータでも、エラーを吐いて変換が途中で止まったり、変換できてもストラクチャが崩壊している・・・なんてことがあるのです。気付かぬまま製作を進めると、原因の切り分けが大変になりますから、途中で適宜チェックしておいた方が、問題を発見した時に対応が楽ですね。もしかしたら変換エラーでお困りの方がいらっしゃるかもしれませんので、恥ずかしながら実例を出して解説してみます。


ファイル 34-2.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。 七久保・田切・飯島の再リニューアルが思うように進みましたので、このところは伊那福岡の再リニューアル作業を行っているのですが、コンバートしたところホーム上のトイレが全壊しているではありませんか(まぁ実際に現在は撤去されておりますが・・・)。経験上この壊れ方はよくあるパターンで、構文のどこかに不備が潜んでいるはずです。  コンバータ本体の不具合としては、”cylinder”構文の陰影が円周方向ではなく長さ方向に付いてしまうことと、地上子、架線柱の一部がデフォルトの物に置き換えられてしまうこと(変換後structures.csvを編集することで修正可能)、この2点を確認していますが、ストラクチャの崩壊に関しては十中八九自分のミスです。


 ありがちなのは小数点とカンマ、コロンとセミコロンの打ち間違え。あと小数点の二度打ち(例えば、3.14を3.1.4と誤記述してしまうなど)、意外とBVE4やOpenBVEがスルーして、こちらの意図した描画をしてくれているケースがあるのですが、コンバータはそんなに優しくありません。もちろん構文は正確に書かれるべきですし、いつ不具合が発生するか分からない問題を内包したままというのも気持ちが悪いので、構文チェッカーとしてコンバータを使用するのも良いと思います。


 厄介なことに私のように細かいところまで作り込み、1ファイルの行数が膨大になっている場合、原因を突き止めるのが大変です。トイレが崩壊しているのでトイレが原因なのでは?と思われそうですが、実はそうとも言い切れません。原因の種類にもよりますが、原因となる誤表記の行から下は全て影響されている可能性があるのです。ですから「少なくともトイレの記述箇所か、それよりは上」としか言えず、チェック範囲はかなり広くなります。


 ちなみに今回の原因は「使っていない頂点」があったこと。そう、コンバータでは使用していない頂点があると、それ以降の面構成が破綻するのです。ちなみにセミコロンでコメントアウトした行であってもダメで、”AddVertex”で打った頂点は全て”Addface”で面貼りされている必要があります。


ファイル 34-3.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。 なぜそのような事態になったかというと、これまたお恥ずかしいことに単なるケアレスミス。構文を見ていきますと、駅舎の雨樋と縦樋を繋ぐ箱状の部品「集水器」の5つ目に問題を発見。頂点10個でひとつの集水器ができていますので、ブロック単位でコピペしてZ軸の数値を書き換え、2つ目、3つ目・・・5つ、と増やしていったわけですが、面貼りの段階でコピペしたものの数値の書き換えを忘れていた、というオチです。


ファイル 34-4.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。 実際に画像と構文をご覧いただいた方が分かりやすいと思いますので、そちらに正誤を記入しておきましたが、つまり集水器4の底が二度描きされ、集水器5の底が抜けてしまっているわけですね。ですから、本来集水器5の底に使うはずの頂点129、130が宙ぶらりんになってしまい、コンバータが誤変換したということです。


余談ですが、賢明な作者さんだと無駄な頂点があることにお気付きかもしれませんが、これは119系のブレーキ配管の時と同じ「私なりの手抜き」です。本来なら頂点8個でひとつの集水器を再現できるのですが、コピペして書き換える時に8ずつ足すより10ずつ数を足す方が簡単でしょ? ということ。その昔、建築とか工業方面に興味があったものの、数学がテンでダメなため文系に進んだ人間の悲しい手抜きです。


 それはそうと、コンバータを構文チェッカーとして使用するにしても、エラーが出ないに超したことはありませんので、念のため「やってはいけない」リストを書いておきます。


▼カンマ/小数点、コロン/セミコロンの打ち間違えは当然厳禁。 ▼小数点の二度付けおことわり(例のように構文の縦列を揃えておくとミスしにくい)。 ▼書いた頂点は必ず使う。使わなかった頂点は残さない。 ▼Addfaceで反時計回りに書いたからといってAddface2で誤魔化すのもオススメしない。(ちなみにOpenBVEだとAddface2で裏側に相当する面が暗く描画されます)


ファイル 34-5.jpg ▼ 画像をドラッグすると移動、クリックで拡大表示を終了します。 あらためて書いてみるとどれも基本的なことばかりですが、気付かぬうちにやっちゃって、ソフト側がフォロー(スルー?)してくれている事例は結構あるものです。特に私を含め複雑なストラクチャを製作されている方にはありがち。いざBVE5に対応させようとしたら不具合だらけだった、なんてことにならないよう、日頃からコンバータでチェックをかけ、できるだけピュアな構文に直しておくことをオススメします。

ページ移動

ユーティリティ

画像付記事一覧

検索

エントリー検索フォーム
キーワード