[路線バス]バスPIベース エルガミオ&レインボーⅡ 公開

バス塗り絵シリーズ第二弾は初代エルガミオ/レインボーⅡです。
[このプラグインの説明]
いすゞ エルガミオは1999年から約20年に渡って製造されたロングセラー中型バス。
世代によって細かな違いはあるのですが、今回は2007年モデルであるPDG-代をプロトタイプとしています。初代エルガミオの完成系とも言える世代ですので販売数も多く、日本全国都会から田舎まで見られる型式です。
日野 レインボーⅡは日野自動車から発売されている統合車種。このPDG-代からヘッドライトが一灯となり、エルガミオとの識別ポイントとなっています。

塗装ベースの使い方等はこちらを参照ください。


▲ベースの白車体です。エルガミオ/レインボーⅡで2種類用意しています。

▲塗装見本。LRと言えば一畑バス。そしてそれに並ぶKRと言えばやはり日ノ丸自動車でしょう。


このファイルには
・ベースモデル
・サンプルPIデータ(白車体)
・塗装見本データ(一畑バスLR&日ノ丸自動車KR)
が含まれています。

◆構文の変更でできること。
ベンチレーターの撤去が行えます。(デフォルトは”有り”です。構文の”ventilator”部分を削除してください。)

◆テクスチャの選択でできること。
非公式側の中央窓を固定窓にできます。(その仕様の透過texを同梱しています。)

◆テクスチャの選択+構文の変更でできること。
側面幕の位置を4種類から選べます。(前・前中・戸袋・後から選択可能。構文の変更箇所は構文のコメントに記載しています。)

前作の横浜市MPに比べてカスタマイズ可能な範囲が増えているので、わがまちのバス、オリジナルのマイ架空バスなどの再現にどうぞ。

【更新履歴】
[2019-03-18]公式側のホイールアーチが表示されていない問題を修正。

カテゴリー: RailSim2-PI公開 | タグ: , , , , , | コメントする

バスPI塗装のユーザー開放開始

当方のバスPIのバリエーション展開は色々な事業者のカラーリングを集めたバスコレクションという形で行ってきました。
しかし最近あまりバスPIに掛けられる時間がなくなってきたこともあって、バリ展が遅々として進まないようになってしまいました。
そこで方針を転換し、今後は簡単に色を塗ることができる塗装キットを提供することにしました。(従来の完成品も並行して公開していきます。)

最初はニューエアロスター。以前、架空の狛枝市営バスとして公開したものに少し手を加えて再構成しています。
画像右が提供する白車体。真っ白の透過テクスチャになっているので、これの白い(不透明の)部分に色を塗り、同梱の透過texを重ねてテクスチャを作成することで、左のようなバスが簡単に作れます。
※透過の部分はそのままにしておいてください。

・フォルダ構成について

◆k101_bus_platform…
このフォルダの中にモデルと共通のtexが入っています。ここは弄らないでください。
◆青枠の部分
塗装したバスをTrainPIとして遊ぶために必要なフォルダです。
フォルダ名を各自変更してから塗装を行ってください。
※Train2.txtの構文は、ほとんど変更しなくてもRS上に表示することができるようになっています。
一番上のPluginHeaderで名前と説明を変更してください。
◆赤枠の部分
青枠の部分で作ったtexを呼び出し、StructPIとしても使用できるようにする構文が入っています。
TrainPIフォルダの相対パスが構文中にいくつかあるので、自作したTrainPIのパスにword等で一括変換してください。

・texの公開について

上記フォルダの赤枠と青枠の部分については、許可なしに公開が可能です。
TrainPIとして公開する場合は青枠の部分を
TrainPI+StructPIとして公開する場合は赤枠+青枠の部分を梱包してください。
※公開する際は必ずデフォルトからフォルダ名を変更してください。上書きされてしまいます。
※公開する際はベースの部分(k101_bus_platform…)を同梱しないでください。


▲路線バスPIベース_ニューエアロスター(KC-MP717K・横浜市中古)▲
ベースモデルとサンプルデータが入っています。

▲[路線バス]アルピコ交通_ニューエアロスター(KC-MP717K・横浜市中古)▲
サンプルデータから作ってみたアルピコ交通です。使用するには上のベースが必要です。

カテゴリー: RailSim2-PI公開, RailSIm2-製作支援 | タグ: , , , , , | コメントする

Zバッファ干渉と多重テクスチャの話

木陰の記事でZバッファ干渉の対策について少し触れましたが、そもそもZバッファ干渉とは何ぞやということを一つも説明していなかったので記事にしておきます。

ちなみにZバッファ干渉という用語はVRM発祥のようで、一般的にはZファイティングと呼ばれているらしいのですが、”Zバッファ干渉”の方が分かりやすいかなぁと思っているので以下この呼び方を使っていきます。

1. Zバッファ干渉とは

RailSimをやっていて、以下のような経験をしたことがあるのではないでしょうか。
・レイアウトを俯瞰すると道路や水田がチラつく
・視野角を調整すると家の窓がチラつく
・組駅でホームを重ねて置いたらチラつく
いずれもZバッファ干渉が原因です。
RailSimで遊んでいると何かと付き纏うこの干渉。そもそもどうしてこのような現象が起こるのでしょうか?

▲干渉対策を行っていない樹木PIでの例です。対策をしていない影はカメラの角度によってチラついてしまいます。

2. Zバッファ干渉の仕組み

3DCGの描画処理の技術の一つに”Zバッファ法”というものがあります。詳しいことは割愛しますが、要は
“オブジェクトまでの距離を計算し、より奥にあるものを描画しないことで描画リソースを節約する技術”
です。
RailSimではこのZバッファ法によりオブジェクトとの距離を常に計算しながら描画を行っているのですが、以下のように平行して近接しているポリゴンではどちらが奥でどちらが手前なのか判断ができず、計算の度に前後が入れ替わってチラついてしまうのです。

本来であれば同一平面上(距離がほぼゼロ)にポリゴンを重ねなければこの干渉は発生しないのですが、RailSimはそのあたり厳しいようで、数cm離していたとしても遠くから見ると干渉を起こしてしまう場合があります。

3. 3つのZバッファ干渉対策

じゃあどうすりゃいいんだという話ですが、解決策は大きく分けて次の3つ
・そもそも近接した平行ポリゴンを使わない
・平行ポリゴンを使う場合は距離を離す
・多重テクスチャを使う

この3つを適材適所使い分けていくことで、Zバッファ干渉問題のほとんどは解決できるはずです。
それでは一つずつ見ていきましょう。

3.1.そもそも近接した平行ポリゴンを使わない

当たり前の話ですが重要なことです。電車の前面などは特に望遠圧縮等で干渉の影響を受けやすいところなので、平行ポリゴンを作らないようなモデリングをすることが大切です。

▲103系初期車のモデルです。前照灯部分に穴を開けていますが、これは前照灯のレンズ部分と前面外板が近接して干渉が起こるのを防ぐための処置です。

3.2.平行ポリゴンを使う場合は距離を離す

しかし平行ポリゴンを全く使わないというのも難しい話です。車番等のレタリング等は車体のtexに直接書きこんでしまうと変更が難しいので、透過のポリゴンを用意して車体に重ねて配置する方法が最も現実的でしょう。


▲旧客等、この手の側面車番や標記類は、車体から7mm離して透過のポリゴンを置いています。なので微妙に浮いているのですが、影が落ちない設定にしているので目立ちません。

▲参考で上のオハフ61の車番に影を落としたもの。浮いているのが一目瞭然ですね。

この方法のメリット・デメリットは

メリット
◆作るのが楽
モデルを作成する時にあまり考える必要なくペタペタ貼っていけるので楽です。
◆自由度が高い
車両によって標記の位置が異なる場合が結構あるかと思います。この方法は単に一枚のポリを浮かせているだけなので、オブジェクトを分割してしまえば自由自在に動かすことが可能です。

デメリット
◆結局根本的解決にはならない
平行ポリゴン間の距離を離しても、結局平行ポリゴンですので視点を遠く(200mくらい先)に持っていくとチラつくのには変わりありません。あくまでチラつき軽減の処置です。
◆影の問題がある
浮かせてポリゴンを配置しているので影との相性が悪いです。透過側のポリゴンにはNoShadowの設定が必須になります。
(NoReceiveShadowだと透過ポリゴンの影が落ち、NoCastShadowだと架線影等が段ズレする)

という感じです。この手法は楽で汎用性が高いのでよく使っているのですが、如何せん影の問題があるので前面等目立つところは後述の多重テクスチャの方が向いているかもしれません。

3.3.多重テクスチャを使う

平行ポリゴン間の距離がゼロに近いとZバッファ干渉を起こすという風に書きましたが、2枚のポリゴンの頂点座標が完全に一致していて距離がゼロの場合は干渉が生じません。
この性質を利用してポリゴンを重ねて表現する技法をRailSimでは多重テクスチャと呼んでいるようです。

▲まずは実例を。103系と201系、JRマーク部分の違いがお分かりいただけるでしょうか。103系には架線影が落ちていませんが、201系には落ちていますね。

103系は3.2.で取り上げた透過ポリゴンで浮かせる方式にしているのですが、対する201系では多重テクスチャを使っているので影が落ちるようになっています。
<多重テクスチャの作り方>
上でだいたい説明が終わってしまったような気がしますが、頂点座標を全て揃えたポリゴンを重ねると、Zバッファ干渉を起こさずに重ねることができるという性質があります。この場合、透過順序は材質順によって決まり、メタセコイアの材質パネルで下にある方のテクスチャが手前に表示されます。
201系の例で軽く見ていきましょう。

▲201系の前面まわり。JRマークの周辺が分割されています。

▲JRマーク部分をスライドさせた図。下のブラックフェイス部分にもJRマークのポリゴンと同じものが見えますね。
ブラックフェイスとJRマークで頂点座標を揃えて多重テクスチャを使うことで、同一平面ながらZバッファ干渉の影響を受けずにポリゴンを重ねることができています。
もちろんこの場合、JRマークの材質はブラックフェイスのものよりも下に配置しています。

▲メタセコイアの材質パネル。JRマークがブラックフェイス(材質名”前面塗装2″)の下に来ています。

多重テクスチャの作り方は以上です。
影の処理についてですが、2つのポリゴンが同一平面にあるので影をオフにする処理も必要なく、そのお陰で上の201系のJRマークに影が落ちるようになる…というわけです。

さて多重テクスチャのメリットとデメリットをまとめましょう。

メリット
◆チラつきの心配がない
Zバッファ干渉の問題が解決されているのでチラつきの心配がありません。
◆影が落ちる
シャドウカットの処理が必要ないのでちゃんと影が落ちます。特に白くてそれなりの大きさのある標記などは影が落ちないと不自然に見える場合があるので、影がしっかりと落ちることは重要です。

デメリット
◆モデルを多重テクスチャ前提で組む必要がある
地味に面倒です。作り方にもよりますが、
・2枚目のポリゴンが載る場所を作る
・そのポリゴンをコピペして2枚目のポリゴンを作る
・2枚目のポリゴンの材質を変更してマッピングを再度行う
という手順を要するため、3.2.の方法に比べて実装が面倒です。
また、重ねるポリゴンが多いとポリゴン数が増えて重くなります。

◆自由度がない
多重テクスチャを貼る位置はモデルで固定されているので、スイッチで位置を微妙に変えたいという時にテクスチャの変更によって変えることしかできません。103系のJRマークは、車両によって貼り付け位置が微妙に違うので多重テクスチャを用いるのはかなり難しいです。

こうしてメリットデメリットを挙げると、あまりコスパのよろしくない技法にも思えますが、汎用性は高い技法なので色々使えると思います。以下にいくつか適用例を挙げていきます。
・夜間発光に使う
元々夜間発光はこのやり方が推奨されています。窓の部分に発光用テクスチャを重ねて、構文で制御してやることで窓のチラつきなく夜間発光を実装することができます。
・下地と描き込みを分離したい時に使う
直近の適用例は旧客の屋根です。旧客は形式によってベンチレーターの位置が異なるので、ベンチレーター影の描き込みが必要になってきます。今回の旧客では屋根色のバリエーションがありますので、それぞれの色に対して形式毎のベンチレーター影を描き込むとtexの数がとんでもないことになってしまいます。
そこで、屋根色の下地ポリゴンとベンチレーター影のポリゴンを重ねた多重テクスチャの構成にしました。
こうすることでtexは屋根色分+形式毎のベンチレータ影分だけとなり、tex枚数が節約できます。

他にも細々とした適用例はありますが、基本的な考え方は先述の通りです。

以上、Zバッファ干渉とその対策についてまとめました。

上記の方法はあくまで一例なので、参考程度にして自分のやりやすい方法を探してみてください。

カテゴリー: RailSIm2-製作支援 | タグ: , , , , , | コメントする

影の出る木を作る


木陰のある木が欲しいという要望があったので、ちょっと検討してみました。

今あるRailSimの樹木の主流はビルボードだと思っています。
ビルボードとは、1ポリゴンの長方形の板に樹木の透過画像を貼った単純なもの。RailSimではカメラの方向に対応してオブジェクトを自動回転させる設定が出来るので、ペラペラの絵でも常に正対した状態となってまるで立体の木がそこにあるように映ってくれるというものです。

しかしながら、ビルボードの実体はペラペラのポリゴンなので、RSの機能で影を落とそうと思っても長方形の影が出てしまいます。
RSの機能を使ってちゃんとした影を落とすならばフルポリの樹木を作ってあげないといけないのですが、これは手間も掛かる上に数百単位で配置する木を全てフルポリにするのはあまり現実的ではありません。

なので、今回は簡易シャドウを使って疑似的に木陰を用意してあげることにします。

単純ですね。ポリ数は2倍になりますが所詮2ポリです。
texは樹木用と影用(黒ベタ80%)で二つ用意しています。影のtexは別個に用意しなくても樹木用のものを黒く塗り潰して材質設定で半透明にすれば表現できるのですが、DayAlphaを使って日の出と共にボワッと影が浮き出るやつをやりたかったので影専用texを用意しています。

さてそれではこの影を動かしていきましょう。時刻の変化と共に影をどうやって動かそうかなぁと考えていたら、RSには光源の向きによってオブジェクトを自動回転させる便利機能もあるようで、これを使ってやります。

適用した結果がコレ。隣の便所はRSが描画するシャドウとの比較用です。
時刻と共に影は伸び縮みすることはありませんが、これだけ動けば簡易シャドウとしては十分でしょう。


+αで月ごとに影のポリゴンの長さを変えることで、夏は短い影、冬は長い影が出るようにしてみました。しかしこの機能、RSの時計の数字を拾っているので実際にその月まで時計を動かさないと影の長さが変わらないので微妙かもしれません。
また、簡易シャドウ系で悩みの種なのはZバッファの干渉によるチラつきですが、これはシャドウのポリゴンに微妙に傾斜を付けることで低減しています。(影の端の方を5cmくらい上げています。)


最後に使用例。影が付くことで、樹木が浮いてる感じがマシになっているのではないでしょうか。(特にこういった雪原では)

今回の樹木PIはtexにPhotoshopCCで自動生成されたイラスト5種を使用しています。また、透過設定を甘めにしているので場所によっては後ろのオブジェクトが透ける場合があります。(遠景で目立たない程度にしています。アンチエイリアスを活かしたいがための処置です。)

カテゴリー: RailSim2-PI公開, RailSIm2-製作支援 | タグ: , , , | コメントする

[国鉄]旧型客車オハ61 公開

[このプラグインの説明]
木造客車の台枠を流用して製造されたローカル用鋼体化客車60系。
オハ61を初めとする広窓形の3等客車は60系で最もポピュラーなタイプ。
全国各地の普通列車で使用されました。

このプラグインは
・代表型式オハ61
・緩急車のオハフ61
・北海道向けオハ62
・北海道向け緩急車のオハフ62
を収録しています。
※北海道向けオハ62・オハフ62は大型蓄電池箱と歯車式車軸発電機を装備しています。

オハ61は同時期に製造されたスハ43と見た目はほぼ同じですが、
・木造車譲りのTR11を装備
・スハ43よりボックス一つ分窓が多い
・スハ43より微妙に車長が短い
・ボックス席の背ずりが板張り
などの違いがあります。雑客編成中の微妙な違いをお楽しみください。

カテゴリー: RailSim2-PI公開 | タグ: , , , , | コメントする