こんにちは。きょうは運転シミュレータの開発ツールとして Unity を選択した理由を述べていきます!
1. 国内の情報が豊富
ゲーム開発プラットフォームとして世界的に有名なものが 2 つあります。
(1) Unreal Engine : https://www.unrealengine.com/ja/
(2) Unity : https://unity.com/ja
Unreal Engine は、多くのプロフェッショナルに採用されており、美しい描画が特徴です。私が尊敬している「電車でGO!!」にも採用されています。
しかしながら、国内向け・日本語のサイト・書籍が少なく、情報の入手性が良くありません。
かたや Unity は日本国内でも人気のあるツールで、スマホゲーム開発でよく使われています。そのため、日本語のサイト・書籍が多く、情報を入手しやすいのが特徴です。
私はこの手の開発ツールを初めて使うので、私がやりたいことをどれだけできるか分からなかったため、容易に情報を入手できることを重視しました。
2. 美しい 3D 表現ができる
Unity はデフォルトでもきれいなグラフィックを表現できます。
下図のようにデフォルトで影をレンダリングしてくれますし、いくつかの設定をすればモーションブラーも表現可能です。
3DCG だからこそ今後「動きのある」表現を増やしていきたいと考えており、そのためにはこういった自然な描画表現が必要と考えています。
・・・とは言え、上図のように建物などのアセットのテクスチャがチープだとその特徴を生かしきれませんが (^-^;
3. Asset Store が充実している
シミュレータを製作するうえで、もっとも地道で時間がかかるのが、建物や自動車、人物といった 3D オブジェクトの製作です。せっかく車両システムや交通システムをプログラムで再現できても、風景がチープだとそれが台無しです。(本音を言うと、報酬を払うので作ってくれる仲間が欲しい^-^)
Unity では Asset Store なるサイトを運営しており、ここで Unity ユーザのアセットを共有できる仕組みになっています。
この Asset Store は非常に充実しており、無料・有料であらゆるアセットが配信されています。いま製作中のシミュレータでもいくつかのアセットで使わせてもらっています。(社会人はお金で解決)
4. マルチプラットフォームであること
Unity では ビルト設定を切り替えるだけでプラットフォームを切り替えることができます。(MAC, iOS 向には Mac OS 上でビルドする必要がありますが)
将来的にシミュレータをいくつかのプラットフォームで展開していきたいので、これもありがたい要素でした。とはいえ、まずは Windows に集中していきたいと思います。
5. スクリプト言語が XNA / MONO を踏襲している
Unity では「スクリプト」と呼ばれる C# のコードを書くと、より緻密な表現が可能になります。コード体系は、昔、私が使ったことある XNA, MONO の流れを踏襲しており、とても取っつきやすかったです。
かたや Unreal Engine のコード言語は C++ です。私のような素人プログラマーにとっては、C# のほうが分かりやすくて書きやすいです。
まとめ
以上のとおり、私が Unity を使うことにした理由を挙げました。
もし私と同じように開発ツールに迷っている方の参考になれば幸いです。
Unity に関するチュートリアルが公式サイトや個人のサイトにありますので、こういった情報を参考に実際に動かしてみると、Unity の使用感がつかめます。
また、ワークショップや勉強会も活発に開かれていますので、興味のある方は、いちど参加するのが良いと考えます。
ありがとうございました!
コメント