UnityのTerrain機能で3Dゲームマップを作りたい
UnityのTerrain機能を使いたいけどわかりづらい!
3Dゲームマップってどうやって作るの?
このようなお悩みにお答えします!
UnityのTerrainを使えば3Dのゲームマップ(地形)が無料で、簡単に、 すぐに作れます。
しかし初めて使う場合かなりとまどうのではないでしょうか。
「Sceneのビュー画面にTerrainだして、それを加工して…」というふうに始まるのですが最初に目にするのはただのCGの板。
各ウィンドウの項目は意味不明。
何をどう進めていけばいいのかわかりづらいですよね。
ですのでこの記事では 初めて使う人にもわかりやすいようにまず基本的な方法でのマップの作り方を解説していきます。
後半では応用編として少し発展させた方法もご紹介します。
実際に試してみたところ基本的なマップ作製なら30分とかからずに完成まで持っていけます。
しかもコーディングなど一切不要なのでプログラミングが苦手だ…という人でも大丈夫です!
最後まで読んでいただければ使い始めたばかりのあなたもUnity Terrainで美しいゲームマップが作れるようになっています。
それでは始めましょう!
Unity Terrainで地形を作る・導入編
Unityでマップを作る方法は以下の手順になります。
①必要なツール、アセット素材の導入
②Terrainで地形を生成
③Terrainにテクスチャ設定
④Terrainに木や草花を設置
⑤空(天球)、ライティング、フォグなどの環境を設定
Terrain作成に必要なツールと便利なアセット
実際に作り始める前にこの記事で使うツールとアセットをダウンロードしておいていただけるとありがたいです。
すべて無料ですのでだれでもインストールしてすぐに使えます!
Unity
UnityはアメリカのUnity Software Inc.(Unity Technologies)が開発したゲームエンジン。
スマートフォン、PlayStation、PCゲーム … と多くのプラットフォームに向けてゲームが作れます。
個人開発者は無料で使えます。
Terrain作成で便利なアセット
アセット(Asset)とは資産、財産などの意味ですが、Unityではゲームのスクリプトやサウンドデータ、CGのオブジェクトなどのことになります。
一度手に入れておけばずっと自分のゲーム開発に使えるので自分でゲームを作った場合、収益を生んでくれる資産になるとも言えます!(笑)
無料、有料をとわず様々なアセットがUnity Asset Storeに登録されています。
興味のある人は無料の物からでも いろいろダウンロードして試してみましょう!
以下のものは今回使ったアセットになります。Unity Asset Store からこれらのものは無料でダウンロードできます。
(名前をクリックすると各サイトに移動します。)
Terrain Tools Sample Asset Pac
…山の形などが立体のスタンプになっています。これを押していくだけで地形が作れます。
…地面のテクスチャ集です。草地や砂地など複数種類がまとめられています。
…完成品の木の3DCGモデルです。地形を作成後に配置します。
…草花のセットです。こちらも地形を作った後に配置していきます。
Unity Terrainの使い方:ベースの地形をつくる
ここから実際にTerainの機能でゲームマップを作っていきましょう。
まずマップのベースとなる地形をつくっていきます。
Hierarchyウィンドウ内で右クリックします。
表示されるコンテキストメニューの中の
3D Object ➡ Terrain
の順にクリックしていきましょう。
巨大なCGの板が表示されました。
初見だと何が何だかわからない人もいるかもしれませんが、このCGの板に凹凸を付けたり木や草などのオブジェクトを配置してゲームマップを作っていきます。
まずは基本的な方法を試してみます。
先ほど出したTerrainを選択した状態でInspectorウィンドウ内のTerrainの項目を見てみましょう。
☑Terrain の項目の中に筆のアイコンがあるのでそれをクリックします。
そこからコンボボックスをプルダウンしてRaise or Lower Terrain を選択します。
そこからBrushesの項目にあるブラシを、丸いやつ等どれでもいいので一つ適当に選んでからマウスカーソルでこのCGの板(Terrain)の面をなぞってみます。
するとなだらかな曲面の凹凸が作られました。
とりあえず適当に選んだブラシで適当に作ったというだけあってただの凸凹にしかみえませんね(笑)
イメージとしてはこの凸凹の形にデティールを加えて山や谷を作っていくわけです。
このまま山の稜線や川の溝などをデフォルトでUnityの中に入っているブラシで細かく盛り上げたりへこませたりして作ることもできますが、あまりにも時間がかかるのでここではアセットを使います。
ここは一度Terrainを平面に戻して先ほど選択していたRaise or Lower Terrain を Stamp Terrainに変更します。
(一度付けた凸凹を平面に戻すときはShift+カーソルでドラッグ、Ctrl+Z などで戻すことができます。)
先ほど紹介した Terrain Tools Sample Asset Pac をインポートしていれば黒字にギザギザのついた白い画像があると思います。
terrainstamp_mountain, terrainstamp_ridge といった名前ですね。
これをTerrainの面上にあててクリックしていきましょう。Stampなのでこすらず、一回ずつ押していく感覚で大丈夫です。
すでに出来上がった山の形がブラシになっているので簡単に山が作れます。
画像ではterrainstamp_ridge06を使っています。ridgeは尾根や稜線の意味ですね。
ここからトップの画像のような山に囲まれた森と草原のあるマップを作ってみようと思います。
ですのでBrushesの中にあるいくつかのブラシを使いterrainを軽く凹凸をつけ、
山の形をしたBrushでデティールを加えていきます。
山にかこまれたような地形ができました。
しかしこのままではまだただのグレーの凸凹でしかないとも言えるのでここからテクスチャや木のオブジェクトなどを配置していきます。
・Raise or lower terrain … 地形の上げ下げ クリック中ずっと盛り上げ(さげ)続ける
・Paint Holes … 一気に穴をあける
・Paint texture … テクスチャを設定する
・Set height … 凹凸の形状はそのままに高さを変える
・Smooth Height … 高さはそのままに表面を滑らかにする
・Stamp … 一度クリックするとブラシの形状がスタンプのようにつけられる
Unity terrainの使い方:テクスチャペイント
先ほどまでのまっさらな地形にテクスチャを設定します。
Inspectorで Raise or Lower Terrain 、StampTerrain を選択していたボックスをプルダウンし、Paint Texture を選択します。
⚙Edit Terrain Layers を開き、その中のCreate Layerを指定、そこからその中の草地のテクスチャを選択します。
(Outdoor Ground Textures などに入っているテクスチャです)
すると緑のマップになりました。
使うテクスチャを追加したい場合はAdd Layerでテクスチャを選べばTerrain Layersに登録されます。
登録したテクスチャを選択した状態でTerrainの面上をカーソルドラッグしていくとその部分だけ別のテクスチャにすることもできます。
緑の多い部分、土がむき出しになってる山頂エリア、など設定して作ってみるといいでしょう。
Unity terrainの使い方 木と草の配置
ここまでで地形の凸凹、テクスチャと設定しましたがやはりまだゲームのマップとしては不十分です。
木や草などのオブジェクトを配置していきましょう。
Terrainに木の配置をする
☑Terrainの項目の中央の木のアイコンを選択した状態で以下の手順の通りすすめます。
これで木を配置できるようになります。ここからSceneビューでの作業になります。
マウスドラッグでTerrainの面上に木を配置していくことができます。
Terrainに草と花の配置をする
同じような方法で草や花を配置します。
こちらも以下の手順で草や花を配置できる状態にできます。
Inspecterの☑Terrainの項目の木のアイコンの隣、(おそらく)四つ葉のクローバーのアイコンを選択した状態で以下のようにすすめていきます。
木の時と同様にこれでSceneビュー内でマウスドラッグするとTerrainの面上に草や花を配置していくことができます。
これで基本的なところはおおむね完成と言えるでしょう。
キャラクターを走らせてオープンワールドRPGのようなゲームにすることもできます。
Grass Flowers Pack Freeなどのアセットにはいろいろな種類の草花が用意されています。
同一の種類の草ばかり並べるのではなく、場所によって花が生えていたり、水辺には丈の高い草が生えているなど設定するとよりリアリティが増すことでしょう。
特定の花や草の生えている場所を探すと薬草が手に入る…などの設定もできそうです。
ご自分の持つゲームのイメージに合わせていろいろなオブジェクトを配置してみましょう。
Unity terrainの使い方:応用編 ゲームステージらしく整える
ここからは応用編です。
基本的なマップとしては完成、と言いましたがまだまだ設定できるところはたくさんあります(笑)
ここではよりゲームの世界観を引き立てるための方法を3つほど紹介します。
(各方法については別の記事でご紹介していきます。)
空を作る:天球の設定
特に何も設定しないとずっと天候は快晴のままです。
Skyboxといって、空模様を設定する機能があります。
地域による天候、時間帯による空の変化などを演出するために天球を配置して空の雰囲気を設定することができます。
今回の画像ではUnityアセットストアからインポートしたSkyboxを使っています。(これもやはり無料です)
・昼時の青空
・夕暮れ
光の演出:ライティング
光の色や角度、強さなどの演出を加えることもできます。
Skyboxとあわせてライティングも調節することで早朝の空、秋の夕暮れ、など時間帯や季節の変化を感じさせることもできます。
画像はLightShaftをためしてみたものです。LightShafts-masterという公開されているスクリプトを入れています。
早朝の空などに使えるかもしれません。
Unityのライトについてはこちらのライティングの記事で紹介しています。
基本の使い方と演出方法を知りたい方は是非見てみてください。
もっとリアルな地形を作る
Terrainでもっとリアルな地形を作りたい場合はジェネレーターというものがあります。
画像はMapMagic2というアセットで作られたTerrainです。
パラメーターの調整で様々な地形が作れるようです。
Unityで面白いゲームを作れるようになるには
Unityで面白いゲームを作れるようになりたい、ゲームプログラマーになりたいと考えている方はプログラミングスクールを利用してみましょう。
例えばTechAcademy [テックアカデミー]のUnityコース
ではいくつかのゲームを実際にUnityで作っていくレッスンがあります。
実際に作りながらレッスンが進行していくのでゲームプログラミングに必要なスキルを自然と身につけることができるのです。
以下、Unityの使い方を学べるおすすめのスクールを紹介します。
TechAcademy [テックアカデミー]
TechAcademy [テックアカデミー]はオンラインのプログラミングスクールです。
C#とUnityでゲームを作る方法を学ぶことができます。
課題のレッスンでは3D,2Dのアクションゲームを作り、講座の最後にオリジナルのゲームも作ることができます。
Unityのインストールからゲーム開発、アプリ公開まで一連の流れで学習が進められるので迷うことなくゲームプログラミングに必要なスキルを身に着けられます。
授業はオンラインで行われますがいつでも現役のプログラマーである講師に質問ができるため、わからないところがあっても独学の場合と違ってつまずくことがありません。
実は私もこの のレッスンを受けたことがありますが講師の方のレベルが高くUnityの使い方はともかく効果的な学習の方法などざまざまなことを教えていただきました。
無料の体験レッスンもありますので申し込んでみましょう。
テックアカデミーの無料体験 を受けてみる
ゲーム業界へ転職を考えている方には無料のキャリアカウンセリングも行われていますので受けてみるといいでしょう。
TECH STADIUM (テックスタジアム)
TECH STADIUM (テックスタジアム)もオンラインのプログラミングスクールです。
こちらではUnityコースのほかにUnrealEngineやVRなどエンターティメント系の講座が充実しています。
料金と学習期間は驚きの 2か月 99,000円…。
あまりに短期間だと本当に必要なスキルが身につくのか?と疑問に思うかもしれませんが就職、転職のサポートもついているようですので本気でゲームプログラマーを目指している方には向いているかもしれません。
コスパ最強のプログラミングスクール。2ヵ月9万円で未経験からエンジニアへ
Unityの使い方やプログラミング言語のC#に関してはテックスタジアムの講座内でも教えてくれますが事前にC#の基礎などは学んでおくとこの2か月をより有効に活用できると思います。
たとえば、ドットインストールなどのサイトでは無料でプログラミング言語の学習ができるようになっています。(有料部分もありますが)
プログラミング言語の入門として活用し、後の学習をスムーズにしていきましょう。
【アミューズメントメディア総合学院】

ゲームやアニメなどのエンターテインメントの総合的な技術を教える専門学校である【アミューズメントメディア総合学院】
でもゲームプログラミング学科でUnityの使い方を学ぶことができます。
この学校にはゲームプログラミング以外にもゲームの企画者やCGデザイナーのための講座もあります。
プログラマー志望の人以外と接する機会があれば、よりあなたの想像力を刺激しモチベーションを高めてくれることでしょう。
資料請求、体験説明会は無料ですので以下のリンクから申し込んでみましょう!
Unity Terrain で3Dゲームを作ろう
今回はUnity Terrainでゲームマップを作る基本的な方法を紹介いたしました。
最初からアセットや自作の3DCGモデルがあれば以下の手順の②以降でベースの地形は初心者でも簡単に作ることができます。
①必要なツール、アセット素材の導入
②Terrainで地形を生成
③Terrainにテクスチャ設定
④Terrainに木や草花を設置
⑤空(天球)、ライティング、フォグなどの環境を設定
ベースの地形、と書きましたがゲーム開発で面白いのはここから先です。
「ここでどんなクエストを発生させるか」「どんな敵を潜ませるか」こういったことを考えてより奥行きのある世界観を作っていきましょう。
最初の操作はむずかしく感じるかもしれませんがなれれば思いどりのマップを作れることでしょう。
ぜひUnityの機能の使い方をマスターしてあなたの世界を作ってみてください。
(画像は今回作ったマップにさらに家、岩、キャラクターのアセットを配置してみました。これらもすべて無料でダウンロードできます)
ゲームマップはこれでできる!
じゃあ、ちょっとキャラクターも自分で動かしてみたくなったな~と思ったそこのあなた!
簡単なスクリプト、キャラクターを動かす方法をこちらの記事に書いておきましたのでご参考にどうぞ。
キャラクターが動かせるようになると、より3Dのゲームっぽい雰囲気になります!
Unityでキャラクターを歩いて移動させたいんだけど、どうすればいいっすかね? この記事はUnity初心者でゲーム開発をしたいと思っていて、3D空間でキャラクターを動かせるようになりたい人のために書きました。 U[…]