【Unity】国土地理院の地形データ取り込み

#サマリ
国土地理院の地形データをUnityに取り込んだ際のメモです。

##環境
- Unity 2019.4.30
- 基盤地図情報ビューア 2018/07/26更新版
- 基盤地図情報ダウンロードデータファイル仕様書 4.1

##目次
1. 地形データのダウンロード
1. 地形データの読み込み
1. 画像ファイルへの加工
1. terainへの反映

#1.地形データのダウンロード
- 国土地理院　基盤地図情報ダウンロードサービスのページから地形データをダウンロードします。

[基盤地図情報ダウンロードサービス](https://fgd.gsi.go.jp/download/menu.php)
(ユーザー登録/ログインが必要)

- 数値標高モデルのファイル選択へ
![数値標高モデル選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/8adb2249-819e-043c-2fc0-eb0d05053a10.png)

- ダウンロードする地域の選択する。マウスホールで拡大するとメッシュが細かくなる。
![地域選択1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/1cfd4b70-cd1b-d11a-7a59-9cc718e4e86f.png)

![地域選択2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/c9e83a1e-a649-e07a-ccc2-fccdc2994f98.png)

- 地図上の数字を選択するとDEMタブの選択リストに追加される。
![地域選択4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/0c71b0ed-eb56-a237-b2cc-d059bf7c2bcb.png)

- ダウンロードファイル確認へをクリック。ダウンロードファイルリストのDEMファイルにチェックを入れてまとめてダウンロードする。(ログインやアンケートの画面が出たら適切に入力)
![地域選択5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/915ad10d-565b-1d8a-9328-745cae7c4775.png)

![地域選択6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/658fa8e0-f06f-3580-ae4a-cd1170d1eb5e.png)

- PackDLMap.zip というファイル名でデータがダウンロードされるので適当なフォルダに展開する。


#2.地形データの読み込み
- 基盤地図情報ビューアをダウンロードする。

[基盤地図情報ダウンロードサービス](https://fgd.gsi.go.jp/download/menu.php)
![基本地図情報ビューア2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/47d84f26-c9b0-f645-fffa-a43401e5edaa.png)

- ダウンロードした FGDV.zip を展開し、FGDV.exe を実行する。起動したら[ファイル]-[新規プロジェクト作成]を選択する。

![基本地図情報ビューア3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/051d2f03-bc7b-4704-b58e-e0fcf548fac6.png)

- 新規プロジェクト作成ダイアログの追加ボタンを押し、ダウンロードしたDEMファイルを指定する。読み込むファイルを設定したらOKボタンを押す。

![基本地図情報ビューア4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/48f496e6-10f0-f394-25b3-41f28badcfa5.png)

![基本地図情報ビューア5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/7e2b34ea-e912-ae60-7c04-c08c21d0a943.png)

- 基盤地図情報ビューアに地形データが読み込まれる。

![基本地図情報ビューア6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/d268a4fb-f215-c045-0fd7-cfe189c235f1.png)


#3.画像ファイルへの加工
- テクスチャ用に初期画像を保存する。[ファイル]-[表示画面を画像データとして保存]をクリック。画像全体をマウスドラッグで選択して保存する。

![画像ファイル加工1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/8076fc49-30ed-b17e-8c6e-a431c34985ef.png)
![画像ファイル加工2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/1f477f5d-ac72-7342-ebf3-a470ab4540cc.png)

- [設定]-[表示設定]をクリックし、表示設定のDEM表示設定・連続段彩をクリック。

![画像ファイル加工4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/db186e6d-5006-2625-d2b6-9960166fa87b.png)
![画像ファイル加工5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/2eb756e6-fe34-f2bd-4f5d-fd2fc8ea49b2.png)

- 標高グラデーションの上と下の値を記録しておく。

![画像ファイル加工6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/0fca7dd2-9efe-4f43-1695-4e94f89810e8.png)


- 標高設定用に白黒画像を作成する。標高グラデーションの上のペグを選択して白に、下のペグを選択して黒に設定。

![画像ファイル加工7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/bee3b552-26c2-2c44-da12-c393275606a2.png)

- 海の色を黒、無効領域を黒、陰影レベルを左端に設定してOKをクリックする。

![画像ファイル加工8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/71ac7459-7891-b439-ea84-ad92ad5abb6e.png)

- 白黒画像を保存する。[ファイル]-[表示画面を画像データとして保存]をクリック。画像全体をマウスドラッグで選択して保存する。

![画像ファイル加工10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/a7e519a0-c293-4d1c-51e2-74834fc123b4.png)

- 他の色のテクスチャも必要なら表示設定を調整して画像データを保存する。

![画像ファイル加工11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/3011a1cd-2d05-7a34-a292-322401926d12.png)


#4.terrainへの反映

- 白黒画像とテクスチャ用画像をUnityの Asset に取り込む。白黒画像のInspectorを開き、Advancedセクションの Read/Write Enable にチェックを入れる。

![terain反映1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/1b06d208-d971-0e29-0a2a-2de51724ff2f.png)

- 下記URLから HeightmapFromTexture.cs をダウンロードし、Assetに取り込む。
[HeightmapFromTexture.cs](https://gist.github.com/fillefilip8/c0ec8cf2cd7375f21b66d1139c7ec601)

- Unityで terain を作成する。Asset上で白黒画像を選択した状態で[Terrain]-[Heightmap from Texture]を実行する。白黒画像が標高として Terrain に反映される。

![terrain反映2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/f303de36-aed4-a552-eaae-5309de86edba.png)
![terrain反映3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/fe50a912-1d83-b026-8c0b-97012de8297a.png)

- Terrain のInspector で Terrain Setting を選択。Mesh Resolution で縦横比や高さを調整する。

![terrain反映4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/78bb61b9-4e08-638f-44c8-f287b099e566.png)
![terrain反映5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/795fd459-afc8-532e-e136-ce5641df0d09.png)

- カラー画像を使ってマテリアルを作成する。Terrain のInspector で Terrain Setting を選択。Basic Terrain の Material に設定する。

![terrain反映6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/1b62dfb0-8bab-9a1d-b397-b5595e0c8ea7.png)
![terrain反映7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/9fe2f5f6-2c94-f2f4-892c-58d27e205086.png)
![terrain反映8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/8c5ef8d7-af58-5ff7-7cee-a0bbdaedb1d6.png)


#　
チームハイエナ <img width="120" alt="hyaeninae_tomei.png"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933978/99b448d3-7ff0-58f3-302b-8528cf339b8d.png">