忍者ブログ
BVE Trainsimの更新状況や、ちょっとしたコラムなど
openbveで3Dによる運転台の再現が可能なったので
急遽、車両の内装を製作することに(;^ω^)

内装にアニメーションを使ってみました。
とはいえ今のところ広告のみですが・・・。
つり革も車両の加速度に合わせて動かせますが、ファイルの行数が多くなる(プレイ中の重さは同じ)
のでもう少し良い方法がないか模索中です。









ちなみに今のところ本格的にopenBVEに対応させるのは
西條線のみですのでご了承くださいませm<_ _>m
PR
今日はRouteファイル用の新しい構文の説明。

"ArrivalTime"

これはBVETrainsimでも使われている

Track.Sta Name; Time1; Time2; PassAlarm; Door; Stop; Device; Sound1; Halt; Jam; Sound2


という"Track.sta"の構文の中で使うもので、openBVEでは"Time1"が"ArrivalTime"になり、着時刻を指定するほかに先行列車の停車駅を指定できるようになる構文です。

先行列車は快速、自分の運転する列車は各駅停車、といったことも再現できるようになりました。


構文というよりは今まであった構文に新しいオプションがついた、程度のものです。

が、ダイヤを組み立てるときにかなり役立つう上、これからのアップデートで先行列車の追い抜きを再現できれば・・・むふふ
openBVE 1.0.7.0より、Object用の構文2つとRoute用の構文1つ、計3つの新しい構文が追加されました。

"Share(ShareAll)" , "Vertex Normals" , "Track.Sta ArrivalTime"

今日はShare構文について。
この構文はストラクチャを配置する際、斜めに配置したい時や回転させて配置したいときに、ストラクチャをただ傾けるだけでなく、回転角に応じて頂点を自動的に伸ばしたり縮めたりしてくれるという構文です。

ShearAll,0,1,0,1,0,0,0.75,


この構文の仕組みを見ていくと、3つに分類することができます。

ShearAll,0,1,0,1,0,0,0.75,

簡単に言うとxyz平面上で、引っ張る方向引っ張る大きさ
となっており、ベクトルによって表現されているようです。

※"Share,"も"ShareAll,"と同じ仕組みです。


デフォルト


ShearAll,0,0,1,1,0,0,0.75,


ShearAll,0,0,1,1,0,0,-0.75,


ShearAll,1,0,0,0,1,0,0.75,


ShearAll,0,1,0,1,0,0,0.75,



今後、openBVEが運転席からさまざまな角度を見渡せるようになることを考えると重宝しそうな構文ですね。

こちらのブログにも非常に詳しく載っております。(英語)
http://railsimroutes.co.uk/blog/
お久しぶりです。
飽き性なのでこの日記の存在を忘れると平気で放置してしまいますが、仕様です。
ご理解とご協力を強制し(ry


さて西條線の製作はマイペースながらトントンで進めております。
そろそろやるべき事は半分おわり、山場を越えたかなと思うので
openBVE1.00が公開されたあたりに一旦公開したいと思います。




------------------------



という記事を下書き保存したのち、openBVEの公式サイトを見てみたら・・・




!?




!!





既にopenBVEの1.0.0が公開されてました。




\(^o^)/ナンテコッタイ






そろそろ0.971あたりが公開されるだろうと

思ってたので

予想外

でした





とりあえず、1.00での公開は無しで!
少しペースをあげて製作していきます┗(^o^ )┓三





終わったもの
・夜景の明るさを調整
・車両ストラクチャの室内を再現
・駅の構造を再編集
・AnimatedObjectを7箇所に配置
・テンキーで視点移動できるポイントを追加(16箇所)
・屋根の高さが不自然な箇所を修正(3駅)
・夜景のライト再現にSetBlendModeを使用
・頂点の描画数が平均で2000~2800になるように軽量化
・⊂二二( ^ω^)二⊃

これからやるもの
・車両データの製作(現時点で70%コンプリート)
・自然な環境音の追加
・AnimatedObjectの独自3Dストラクチャの作成
・AnimatedObjectをエリアごとになるよう一つにまとめる
・グリーンマット区間をナニカで埋める



もう山は越えたので、あとは下るだけです。
が、先は遠い・・・
openBVEではアニメーション機能やアルファチャンネルの拡張などを利用できるようになりました。
しかし、ただやみ雲に追加してしまうとハイスペックPCが必要になってしまいます・・・。

なので"何かを追加する"時はかならず"何かを削る"ようにすると良いでしょう。
そうすることで新機能を追加しても、リスクを減らすことが出来ます。


動作や見た目を損わずにして削れるものといえば「見えない頂点」です。

たとえばForm構文を使った駅は、25mおきに設置されます。
そのForm構文を使った場合、200mホームを再現するにはForm構文を8回繰り返す事になる(25m x 8 = 200m)ので、
Form.csvに頂点数が10個あるとすると

10個 x 8 = 80個

の頂点が200mに作られる計算です。
このとき、Form.csvのZ軸をのばし200mで一つとしてしまえば
200mにおいても頂点数をわずか10個に抑えられる
わけです。

<従来の25mホーム>
AddVertex,?,?,0
AddVertex,?,?,25




<200mホーム>
AddVertex,?,?,-200
AddVertex,?,?,0







Form構文だけでなく、Rail構文やWall構文、Dike構文なども同様に削れるので
全てに適用すればかなりの頂点数を削れることでしょう。



↑225m級の総合ホーム(壁、線路、ホーム等を一体化したもの)です。

またopenBVEでは「ObjectVisibility」といった、+25mのブロックを超過しても設置したオブジェクトが消えなくなる構文もあり、より頂点の数を削りやすくなりました。

その削った分を、新機能や追加ストラクチャにまわしてしまえばPCへの負担度は改良前と大差なくなります。

上記の例の場合なら、余った頂点数が70個なのでそこに追加ストラクチャや新機能を埋め込んでも十分に余裕が出来ます。

また自身の路線でも検証してみると、

今公開しているデータ(BVE2用)の西條駅


今後公開する予定のデータ(openBVE用)の西條駅


※polygonsが描画に関する項目です
opaque     = 一般ストラクチャの頂点描画総数
transparent  = 透過ストラクチャの   〃
alpha      = アルファチャンネル   〃

openBVEではアニメーションやアルファチャンネルなどの新構文を
結構な勢いで使いましたが、軽量化を行った結果BVE2用より軽くなる計算になりました。


というわけで
新しいストラクチャを追加したり新機能を使いながら、以前のバージョン(新機能を使う前のデータ)と同じようなフレームレートを維持する、ということも十分可能ということですね。

逆に言えば、このような軽量化作業を行わないと
追加した分、動作が重くなってしまうので注意が必要です。
HOMENext ≫
ブログ内検索
プロフィール
HN:
reren(回送)
HP:
性別:
非公開
カレンダー
10 2017/11 12
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
最新TB
最新CM
[03/01 秋田の新快速]
[01/18 ぷりん]
[01/11 NONAME]
[01/03 nanashi]
[10/10 くるくり]

Copyright © [ Localなbve日誌 ] All rights reserved.
Special Template : 忍者ブログ de テンプレート and ブログアクセスアップ
Special Thanks : 忍者ブログ
Commercial message : [PR]