BVEで自然な路線データを作るためには、「境界」にこだわる

BVEのグラフィック

いまやかなり大きなユーザ数を抱えるBVE Trainsim。実際の鉄道車両の挙動をリアルに再現することができ、さらにその拡張性の高さ、データ作成の容易さなどから、単に遊ぶだけではない、「作る楽しさ」も味わうことのできる素晴らしいソフトウェアだと思います。

BVEでは、昨今の最新ゲームエンジン(Unreal EngineやUnity)などに搭載されているような、高品質なグラフィック処理が行われません。わかりやすい例だと、BVEではライトや影の計算があまりされません。最近のグラフィックボードやゲームエンジンは、どちらかというとそこを頑張ることが多いのですが、BVEでは車両の挙動の計算などにリソースを割いているので、グラフィックの処理は路線データなどの製作者側でなんとかしてあげることが必要です。

そのために、どのような点に気をつけていけばいいのかをある程度知っておくと、より自然な風景を作ることができます。ここでは、2つ、グラフィックを自然にさせる方法をご紹介します。オブジェクトをただ闇雲に配置するのではなく、まずはこの2点を抑えて、「リアルっぽく見せる近道」を知っていただきたく思います。

自然なグラフィック その1 ~ 溶け込ませる ~

BVEでのグラフィックがすこし不自然に見えてしまう原因として、オブジェクトが「溶け込んでいない」ことが一つ挙げられます。

画像13

アスファルトの上に、ホーム柱と自動販売機を立ててみました。このオブジェクトは、どちらも直方体に平面のテクスチャを貼り付けているだけです。プラットフォームを模したものも、直方体にベースのテクスチャを貼り付けただけのかんたんなものです(線路はとりあえず手元にあったちょっと不自然な写真を使ったので、ガタガタしているところなど今回はお見捨ておきください)。画像はすべてBlender内のものですが、影や反射などは切っているので、BVEと条件はあまり変わりません。

今回は、テクスチャに注目していただきたいです。特に、柱の根元の部分、ホームに突き刺さっている部分に注目してください。自動販売機も、同じく下の部分を見てください。ここにひと手間加えるだけで、劇的に馴染むようになります。

画像12

↑ 根本の部分に注目

このとき使用しているテクスチャは、下の画像のようになっています。これを、2枚めの画像のように、プラットフォームのテクスチャを、柱の下の部分に合成し、すこし消しゴムツールなどでぼかして組み合わせます。こうすることで、プラットフォームとの境界線が見えにくくなります。

画像9

↑ この画像を、↓ のように修正します

画像3

すると、このように変わります。変化がわかるでしょうか?自動販売機の下の部分にも同じような修正をかけています。プラットフォームと柱の間に見えていた境界線が、ぼんやりと薄くなっています。これだけで、風景が馴染んでいるように見えます。

画像14

↑ 変化後。地面と、自販機や柱との境界線に注目

もう少し、近くで見てみましょう。

画像12

↑ もともとこうだったのが、↓ こうなります

画像11

近くで見ると、かなり大げさにやっているように見えて不自然かもしれませんが、BVEの運転席から見るとかなり馴染んで見えます。駅の柱などだけではなく、ビルと道路の境界線や、ホームの屋根、線路など、大きなものから小さなものまで、動物のカメレオンのように「周りの色に合わせる」だけで、一気に馴染みます。現実世界を観察してみるとよくわかりますが、直線的に「ビシっと」境界線が見えることはないです。どんなにオブジェクトが多くても、どんなにきれいなテクスチャでも、「直線的な境界線」がひとつあるだけで、一気にCG感が出てしまいます。

まずは、「境界をぼかす」もしくは「境界をかくす」ことを意識してみてください。

自然なグラフィック その2 ~ まわりと影響し合う ~

現実世界では、物体に光が反射したり、影が落ちたりして、物体がお互いに光の影響を及ぼしあいます。逆に、影響を及ぼしあったりしていないと、そのオブジェクトがそこに存在しているように感じられない、ということです。

すなわち、オブジェクト同士がお互いに影響しあっていることが見て取れれば、「そこに存在している」ように見えるのです。

現実世界では、無数の光が飛び交っています。天井に設置された照明から出た光が、壁に反射して、天井に反射して、床に反射して…、と、一つの光源から出た光であっても、パソコンの計算ではまかなえないくらい、複雑なことになっています。そんな計算、ゲームのような瞬時に計算しなければいけないところで真面目にやるのは現実的ではありません。

ただ、普通に考えて、物体が複雑に入り組んでいるような部分に光は入り込みにくいですよね。そこで、「複雑な部分は、あまり難しい計算はしないでとりあえずふんわり暗くしとく」っていうのが、「アンビエントオクルージョン」という機能です。これは、3DCGを扱う最近のソフトウェアでは標準で搭載されていることが多い機能です。

画像4

↑ アンビエントオクルージョンなし  ↓ あり

画像5

BVEでは、影が描画されません。反射もありません。なので、この章の冒頭で述べた「周りと影響しあう」ことが発生していないので、たくさんのオブジェクトを配置したとしても、それらがまとまらず、バラバラに見えてしまう原因となってしまうのです。

オブジェクト同士が影響し合うためには、すべての影とまではいかないまでも、アンビエントオクルージョンくらいは描き込んでおくと、それだけでぐっと全体のまとまりが良くなります。

画像7

↑ アンビエントオクルージョンなし  ↓ あり

画像6

もう少し近くで見てみましょう。

画像11

↑ アンビエントオクルージョンなし  ↓ あり

画像17

違いがわかりますか?BVEだとかなり調整が難しく、かんたんに「描きこむ」と言っても作業量がとても多くなってしまいます。しかし、このひと手間で、大きく印象が変わってきます。

「なじませる」と、「影響しあう」で、もっと自然な路線データへ

いまみてきたように、まっすぐな境界線をとにかく排除する!という意気込みでテクスチャを作ると、かなりCG感が減ります。なので、木々や草などで根本的に隠してしまう、というのもかなり良い方法です。もしくは、影を描いて、境界線部分を黒つぶれさせてしまうというのも方法としてはあるかもしれません。

画像16

この画像は、私が3年前くらいに制作した3DCGの駅です(今となっては突っ込みどころがかなりありますが)。この例では、地面の左端、すなわち床と壁のぶつかる境界線を黒つぶれさせています。夜ということで黒つぶれさせても違和感がなかったので、汚れのように見せかけてテクスチャをたくさん汚し、黒つぶれ部分を馴染ませています。

Station2_アートボード 1

最後に、もういちど今回出した例のCGで最初の状態と最後の状態を見比べてみましょう。1枚目はBVEでもよくある表現ですが、そこに「境界ぼかし」と、「アンビエントオクルージョン」をかけたものです。

この記事が、あなたの路線データ制作の一助になることを願っています。

画像12

画像17


この記事が気に入ったらサポートをしてみませんか?