Unity仮面が教える! ラクしてゲームを作るためのAssetStore超活用術

Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう 「WorldComposer」「Skyshop」「Random Dungeon Generator」

画像

仮面:ダァス!Unity仮面だ!

秋山:秋山でーす。年末ですねー。今年一年お疲れ様でした!

仮面:おう、そうだな。今年はイロイロと戦ってきたぞ!

秋山:そういえば、Unity仮面さんって今年デビューなんですよね

仮面:言われてみるとそうだな。だいぶ長いこと戦ってきたと思うが

秋山:……。さっきから戦っている戦っているってどこと戦ってるんですか?

仮面:今は言えん…… ある巨大組織だ……

秋山(この厨二病が……)

仮面:お前、今バカにした目で見たな?

秋山:いや、してませんよ。じゃあ早速本題に行きましょうかー

仮面:クッ…… 理解はしてもらえんか……

秋山:今回は簡単なAsset 紹介ですよねー?

仮面:そ、そうだな。今回はサクっと紹介していこう

はい、第四回始まりました「ラクしてゲームを作るためのAssetStore超活用術」です。Unityエバンジェリストの伊藤です。前回MMDデータを使ってUnityで遊んでみようということをやってきました。

今回はAsset Storeに戻って、軽く3本ほどAssetStoreアイテムを紹介していきましょう。今回は「自動生成」というキーワードでチョイスしてみました。

「WorldComposer」で地形を作ろう!

WorldComposer

画像1 WorldComposer
画像

仮面:まずは「WorldComposer」

秋山:はい。これは何をするアセットでしょう?

仮面:これは凄いぞ。地形を自動生成してくれるアセットだ

秋山:へー。Unityもできるんじゃなかったんでしたっけ?

仮面:Terrain 機能だな。これは自動生成というより、簡単に地形が作れるという機能なのだが、はっきり言ってこれで地形が作るのは大変だ

秋山:え!ちょっとはっきり言い過ぎじゃないですか!?

仮面:いや、簡単は簡単なのだが、例えばサクっと山の風景とかを作るのにはやっぱりそれなりの手順が必要になってくる

秋山:へー、そうなんですか

仮面:例えばフライトシミュレーターとかの地形を作る際、それなりにホンモノっぽい地形にしないとアラがみえるだろう?

秋山:そういうもんですかねー?

仮面:そうなんだよ!だから、この「WorldComposer」を使えば、なんと「実際の地形から地形が自動生成」できるんだ!

秋山:へ?どういうことですか?

仮面:いやだから!例えば、アキヤマ、お前の育ちはどこだ?

秋山:生まれ育ったのは姫路でしたねー

仮面:ほう、なるほど。これは、その姫路の周辺地形をUnityで自動で作れるというものだ!

秋山:ええー!それはスゴいですね!

仮面:お前が鼻水垂らしていた泣いていた田んぼがUnityで再現できるということだ!

秋山:なんで鼻水なんですか……

WorldComposerの使い方

まずはBing mapアカウントを作ります。これはGoogle mapのようなサービスで、教育利用または非商用であれば、無料でも十分使えるというものです。詳しくはこちらを見てください。

Bing mapアカウントを作るには、まずはこの登録サイトへ行って下さい。そして書いてある通り、なのですが、英語でわかりずらいですよね。皆さんの為に現段階(2013/12/9現在)でのやり方を日本語で記述します。

画像2 Bing map
画像
  1. Bing Maps Account Centerに行く
    • Windows Live IDでログインします。
    • もしない場合「Create」をクリックしてBing Mapsアカウントを作ります。
  2. 「My Account」の下の「Create or view key」を選択
  3. 以下の項目を埋める
    • 「Application name⁠⁠:これから作る地図を使ったアプリ名を登録。
    • 「Key type⁠⁠:「Basic」に。⁠Trial」だと90日で期限切れになってしまい、それ以降使えなくなってしまいますので注意してください。
    • 「Application type⁠⁠:「Not-for-profit」「Education」に。

そのようにして生成したBing keyをコピーしておきます。

画像3 WorldComposer設定(1)
画像

Unityで「Window⁠⁠→⁠World Composer」でWorld Composerビューを表示します。そしてMap Parameterの[K]ボタンをクリックして、先ほどのBing keyをペーストをします。これで地図が使用可能になりました。もう一度[K]ボタンをクリックして隠しておきましょう。

画像4 WorldComposer設定(2)
画像

右クリックドラッグ、ダブルクリックで移動できるので、まずは取得したい場所に移動します。Region名を適当に追加します。Areasの項目でArea名を追加し、[Pick]ボタンをクリックします。そして取得したい領域を選択して再びクリックします。これでAreaを設定できました。これで準備は完了です。

Hightmap Exportの[Export Heightmap]をクリックするとHightmapが出力されます。さらにImage Exportの[Export Images]で画像が出力されます。そして上の「Create Terrain」のタブをクリックして、ウィンドウを出して[Create Terrain]を押せば、Unityに地形が生成されます。

詳しくはこのチュートリアル動画をご覧ください。英語ですが、映像を見るだけでだいたい理解できます。

画像5 WorldComposerの姫路地形
画像

仮面:どうだ?姫路だ!懐かしいだろう?!

秋山:まあ姫路は再開発で変わってしまって、思い出深いところはもう違う風景なんですよねー

仮面:どぉおおっと!なんだよおおおおい!折角頑張ったのにぃ!!

秋山:Unity仮面さんはどこ出身なのですか?

仮面:うっ!それは……幼少の暗黒時代を思い出せということか……

秋山:あ、じゃあいいです、面倒なことになりそうなので

仮面:うおぃ!撤回はやっ!

「Skyshop」で3Dオブジェクトを出そう!

画像6 Skyshop
画像

Skyshop

仮面:次は「Skyshop」というアセットだ

秋山:はい、これはなんでしょうか?

仮面:簡単に言えば、リアルで綺麗な3Dオブジェクトを出せるようにできるツールだ

秋山:へー、どのぐらいキレイに見えるんですか?

仮面:まあ彼らのHPにあるデモを見ればわかる。

秋山:えええ!これ実写じゃないですか!これ3Dなんですか?

仮面:そうだ。それなりに見えるだろう?

秋山:すごいですね……でもこれを作る用意とか設定とか大変なんじゃないですか?

仮面:そう思うよな、普通は。確かに今まではパノラマ画像を作るのは大変だった。だが「RICOH Theta」の登場で全てが変わったのだ!

秋山:りこーしーた?

仮面「RICHO Theta」はリコー社の製品で全天パノラマ画像が一発で撮影できるデジタルカメラだ。これを見ると……

秋山:わ、凄いですね。おもしろーい!上下左右全部撮影できるんですね?コレ本当凄いですね!

仮面:つまりな。この「RICHO Theta」で撮影した全天パノラマ画像をSkyshopで使えば、誰でも簡単に、そこに存在するかのような超リアルな物ができるということだ。

秋山:ほあ?

仮面:間抜けな声が出たな……。まあとにかく使ってみればわかる

Skyshopの使い方

Theta等で作ったパノラマ画像をUnityに持ってきます。Textureの設定で「Truecolor」にしましょう。そして「Window⁠⁠→⁠Skyshop」を選択しSkyshopビューを表示させます。 ⁠INPUT PANORAMA」のテクスチャに先ほどのパノラマ画像テクスチャをドラッグアンドドロップします。そしてその下の「SKYBOX」⁠DIFFUSE OUTPUT」⁠SPECULAR OUTPUT」をそれぞれの「New」ボタンをクリックし、空のオブジェクトを作ります。一番下の「Compute」ボタンを押すと生成が開始されます。全て終わると生成されるので、⁠Add to Scene」ボタンを押すとシーンに展開されます。

後はマテリアル設定に[Marmoset]以下のシェーダーを使えば、リアルなオブジェクトの出来上がりです。

画像7 Skyshop実例
画像

「Random Dungeon Generator」でダンジョンを作ろう!

画像8 Random Dungeon Generator
画像

Random Dungeon Generator

秋山:次はなんでしょう?

仮面「Random Dungeon Generator」というアセットツールだ。アキヤマ、お前ダンジョンを作ったことあるか?

秋山:いや、フツーないでしょ

仮面:そうだ、普通はやらない。手間が掛かるしな

秋山:そういう問題じゃないと思いますけど……

仮面:この「Random Dungeon Generator」はだな、なんとダンジョンを自動生成してくれるツールなのだ!

秋山:え?ええ?

仮面:だ、か、ら!ボタン、ポチでダンジョンのステージが作れてしまうというものだ!

秋山:ええ?ボタンポチですか?

仮面:そうだボタンポチだ!

秋山:でも自分で入れたいモノもありますよね?死体とか

仮面:なぜ、いの一番に「死体」というキーワードがでるのだ……

秋山:でも、ありますよね?そういうホラーゲーム

仮面:おう!これは自分固有のアセットももちろん追加できる。ランダム要素も自由に設定できるので、たまにしか出さないとかいう設定も自由自在だ。

秋山:作ったあと、変更は……?

仮面:一個一個が独立に存在するので、編集することももちろんできる。逆に言えば、二度と同じダンジョンが作れないがな

秋山:一期一会ですねえ。じゃあ気に入らないんだったらもう一回ボタン押せばいいわけですか

仮面:そういうことだ。ダンジョンテンプレートも「Armory(兵器庫⁠⁠Corridors(渡り廊下⁠⁠、⁠Dining(大食堂⁠⁠、⁠Prison(監獄⁠⁠、⁠PrisonBreak(脱出用の監獄⁠⁠」といろいろある

秋山:物騒なのばっかりですね

仮面:そりゃダンジョンだからな。とにかく!いちいちチマチマとダンジョン作成をしたくない、というシチュエーションで使えばいいということだ

秋山:……どんなシチュエーション?

「Random Dungeon Generator」の使い方

何でもいいので、何かサンプルシーンを開きます(ここでは「Armory⁠⁠。シーンのDungeonGeneratorを選択して、一番下の「GENERATE DUNGEON(faster)」をクリックすると、ダンジョンが生成されます。以上です(笑⁠⁠。

画像9 自動生成されたダンジョンマップ
画像

仮面:とまあ、サクっと三本紹介してきたがどうだったろうか?

秋山:いやー、楽なんじゃないですか?

仮面:お前は何もしていないがな……

秋山:意外と皆さんからのTwitterからのリクエストも多かったみたいですね

仮面:そうだな。駆け込みで何本かリクエストもらったアセットがあるから、次回に持ち越すとしようか

秋山:そうですね!この路線でちょっといってみましょうか!

仮面:おう、例によって @unitymaskにリクエストを投げてくれれば調査するぞ!

秋山:記事の採用は、記事を持ってご連絡に変えさせていただきます

仮面:ま、まあそういうことだ

秋山:じゃあ良いお年をー!

仮面:熱きUnity戦士達よ!十分な休息あれ!

おすすめ記事

記事・ニュース一覧