【UnityC#講座】フィールドを走り回ろう【Terrain】

Terrain/マッシュルームハウスやバスのオブジェクト、Prefab

Unity5.6.0f3
Windows10

3Dのフィールドを走り回るゲームを作りたいと思う方はたくさんいることと思います。
Unityならそれを簡単に実装できるTerrainという機能があります。
今回はその使い方を学んでみましょう。

まずはいつも通りプロジェクトファイルを作りましょう。
適当に「Terrain」と名付けました。
Sceneも一応保存しておきましょう。

■Terrainの設置

さっそくTerrainを出します。

Hierarchy > Create > 3D Object > Terrain

あるいは画面上部のメニューにあるGameObjectから、

GameObject > 3D Object > Terrain

どちらでも同じTerrainができます。

Terrain/選択

これはTerrainのInspectorです。

Terrain/Inspector

Terrain/7つのボタン

中でもこの7つのボタンに注目してください。
左から順に説明します。

・Raise/Lower Height

マウスをSceneのTerrainの上で左クリックしながらこすると地形を高くでき、ブラシを選ぶことができ様々な地形を作ることができます。
Shiftを押しながら使うと地形を低くすることができます。
ただし最初の状態より低くすることができず、一旦高くする必要があります。

・Paint HEIGHT

マウスで左クリックした地点の高さに揃えることができます。
Shift押しながら左クリックするとその高さをセットすることができます。

・Smooth HEIGHT

地形をなだらかにします。

・ペイントブラシボタン

Terrainにテクスチャを貼ります。

・ツリーボタン

tree(木のオブジェクト)を設置します。

・details ボタン

草や細かな人工物を設置します。

・Settings(設定)

Terrainの大きさや影などの設定をします。

まずは左側の3つのボタンで自由に地形を変えてみましょう。

Terrain/上から

Terrain/横から

このようになりました。

■Terrainを歩き回る

さてまだまだ未完成ですが一度このフィールドを自由に歩いてみたくありませんか?
Unityには手軽に使えるキャラクターが用意されているのでそれを使ってみましょう。

画面上部のメニューから、

Assets > Import Package > Charactors

Terrain/CharactorsをImport

チェックボックスは外さずにImportをクリックしてください。

もしCharactorsがなかったらAsset StoreからStandard Assetsをダウンロードしてください。

無事インポートされたら、

Project > Assets > Characters > ThirdPersonCharacter > Prefabs > ThirdPersonController

このThirdPersonControllerをSceneかHierarchyのどちらかにドラッグ&ドロップしてください。
これでもう再生すれば動かせるのですが、カメラがキャラクターに付いてこないのが不便です。
なのでHierarchy上でMain CameraをThirdPersonControllerにドラッグ&ドロップします。
こうするとMain Cameraは「子オブジェクト」になりキャラの動きに付いて行きます。
ドラッグ&ドロップされた方は「親オブジェクト」と言います。

次はMain Cameraの位置を整えましょう。
Main CameraのInspectorのTransformの値を全て0にするとキャラの足元にMain Cameraが行くので、後はScene上でカメラの位置や角度を調整します。
それができたら再生してキーボードで動かしてみましょう!

Terrain/真っ白な中歩き回る

上下左右キーの他にWSADキーそれぞれが上下左右に対応しており、スペースでジャンプします。

スポンサーリンク

■Terrainを彩る

次はTerrainを自然あふれるフィールドにして行きましょう。
まずはメニューのAssetsからEnvironmentをImportしてください。
Standard Assetsをダウンロードされた方は既にProjectのAssetに入っていると思います。

Assets > Import Package > Environment

これがTerrainを自然のように彩るための材料が入っています。

次にTerrainのInspectorを見ましょう。
ペイントツールを選び、そこのEdit Texturesをクリックします。

Terrain/Add Terrain Texture

Terrain/ブラシツール

するとAdd Terrain Textureというウィンドウが出てくるのでSmoothnessから以下のTextureを選びAddしてください。

・GrassHillAlbedo
・GrassRockyAlbedo
・MudRockyAlbedoSpecular
・SandAlbedo
・CliffAlbedoSpecular

Terrain/ブラシツール後

そうするとInspectorに現れます。
好きなものを選び、SceneのTerrainにペタペタ塗りましょう。

Terrain/水面設置

Unityなら動く水面も簡単に設置できます!

Project > Assets > Standard Assets > Environment > Water4 > Prefabs > Water4Advances

Water4AdvancesをSceneの好きな位置にドラッグ&ドロップしましょう。

次は草を生やします。

Terrain/detailsボタン

detailsボタンのEdit Ditailsから、TerrainにTextureを登録したのと同じ要領でAddしてください。
登録するのはEnvironmentに入っている以下のものです。

・GrassFrond01AlvedoAlpfa
・GrassFrond02AlvedoAlpfa

それをペタペタとSceneのTerrainに塗りましょう。

Terrain/草茫々

■Terrainに木を生やす

さて、次は木なのですが、Unityには木を自分でデザインするTreeエディターという機能があります。

Tree エディター

しかしそれは面倒なので出来合いのものを使います。

Asset Storeで「Tree」と検索するとたくさん無料のものが出てくるのでそれをダウンロードしてください。

私はこちらを使いました。

Terrain/ツリーボタン

今までと同じように登録してTerrainに設置してください。

Terrain/設置した木に向かって

他にもこんなものがあります。

Terrain/マッシュルームハウスやバスのオブジェクト、Prefab

これらもAsset Storeに無料であります。
今回はTerrainの機能ではなくPrefabを直接置きました。
他にも色んなものがあるので漁って楽しんでみてください。

今回はこれで終わります。
ではでは。

もっとTerrainの使い方を知りたい方は公式マニュアルを読んでください。

Terrain Engine

■関連記事

【UnityC#講座】Render Textureでゲーム内にディスプレイを作る、Lens Flareで太陽を作る

スポンサーリンク

目次に戻る