【Unity5でレースゲーム】BlenderでAE86パンダトレノをモデリング
ここ1週間はプログラミングから少し離れ、レースゲーム用の車のモデリングにチャレンジしていました。
初モデリング用に選んだ車はAE86トレノです。イニシャルDでおなじみのパンダカラーのあれです。
自分が学生の頃はまだイニシャルDは始まっていませんでしたが、AE86トレノやレビンは貧乏学生の間では人気でした。
今回モデリングに使用した3DCGツールは、これまた財布に優しくて高性能で人気のBlenderです。
Unityもそうですが、こんなに素晴らしいツールを無料で使えるというのは私のような個人開発者には非常にありがたいことだと思います。
とりあえず試行錯誤の末完成したのがこちら。
90年代のゲームのようにポリゴン丸出しです。
スムーズシェーディングを掛けるとディテールが全て溶けて無くなってしまうので今はフラットシェーディングにしています。下のスムーズシェーディング適用時の画像ではドアパネルを前後に走るラインのエッジが綺麗さっぱり無くなっているのがわかると思います。
エッジを立てたい部分はエッジのそばに一本ポリゴン分割の線を入れれば良いらしいですが、ポリゴン数を増やす前にとりあえず今の状態でUnityに取り込んで動作を確認してから改良して行く予定です。
今回のモデルはVerts 2,476、Faces 2,490、Tris 4,832になりました。
ポリゴンの密度はこんな感じです。なお、タイヤ&ホイール4本分で全体の半分くらいのポリゴン数を使っています。
タイヤのトレッド面はカックカクの16面構成で、ブレーキも付いていなくてスッカスカなんですけど。
ゲームで使われているポリゴン数について山ほど情報が載っているページへのリンクです。
forum.beyond3d.com
この情報の正確性は不明ですが、PS2のグランツーリスモでさえ車1台のポリゴン数は2000〜5000程度とのこと。この数値が上のFacesに相当するのかTrisに相当するのかはわかりませんが、いずれにしても既にほぼGT4相当のポリゴン数を使ってしまっている事に驚いてしまいました。
Wikipediaにもグランツーリスモのプロデューサーの山内さんの話として同じような数が書かれていました。
Gran Turismo (series) - Wikipedia
それよりもっと驚いたのがGT1とGT2の車のポリゴン数が300だったという事。
300ポリゴンでちゃんと車の特徴を捉えてそれらしく見えるモデリングができているのは素晴らしいと思います。
ちなみにUnityのスタンダードアセットに入っている車はVerts 82,386、Faces 77,303、Tris 153,150あります。
ポリゴンメッシュの密度も相当なものです。モバイルデバイス用には少し豪華すぎるモデリングになっています。
このスタンダードアセットの車を開発中のゲームで5台走らせると、iPhone5の場合フレームレートが15fpsくらいしか出ません。今時のレースゲームとしてはちょっと許しがたい速度です。
車以外にも処理が重くなる原因はありますが、とりあえず軽いモデルでどの程度フレームレートが上がるのか実験し、モバイルデバイスで走らせたときの見栄えとフレームレートのバランスの良い部分を今後見つけて行きたいと思います。
最後に、Blenderの使い方やモデリングを学ぶのにお世話になったサイトを紹介したいと思います。
Blenderの使い方の基本はこの2つのチュートリアルサイトで学ばせて頂きました。
ここにも便利な使い方がたくさん載っています。動きで見せてくれるので非常にわかりやすいです。
車のモデリング手法はこのチュートリアルを参考にさせて頂きました。
http://darkscarab.com/view/43darkscarab.com
3面図を参照しながら面を貼って作って行くやり方です。四角い箱から作る方法にもチャレンジしましたがそちらは挫折しました。
四角ポリゴンだけを使ってモデリングするのが好ましいやり方らしいですが、ゲームなど用途によっては三角ポリゴンを使うのは許容範囲との事です。できるだけ四角ポリゴンになるように分割方法を考えるのはパズルのようで面白いですが、頑張るとどうしてもポリゴン数が増えるので、私は四角にこだわるのはあきらめて三角ポリゴンをそこそこ使ってしまっています。
次の車はもう少し綺麗に作れるように頑張ります。
https://itunes.apple.com/jp/app/toraberushutingu-retorona/id917570972?mt=8&uo=4&at=10laCt
https://itunes.apple.com/jp/app/beecluster-wu-liaono-zongsukurorushutingugemu/id663801586?mt=8&uo=4&at=10laCt