Blenderでモデリングした車をUnityで手軽に走らせてみる

## 対象

* Blender等の3Dモデラーで作った車を、眺めるだけじゃなく簡単に走らせてみたい
* でも、Unityの勉強までしたいわけじゃない

という人向け。

## やることの概要

Unityにドライビングゲーム作成のチュートリアルがあるので、その車の3Dモデル(.fbx形式)をオリジナルのものに置き換えます。

チュートリアルの車。これを・・
![before2.png](https://qiita-image-store.s3.amazonaws.com/0/131071/9e3a8516-b756-300a-c2b2-8ed577b1ce86.png)

Blenderで作った車に置き換えると・・
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/b05007e2-28ac-6202-c0ca-e011271b8c9c.png) （もっと造形愛を…汗）

こうじゃ！
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/6e8d0a50-b769-ff88-7b99-34c93e23cc1d.png)

※ 3Dモデルを置き換えるだけなので、テクスチャは多分付かないです。そこから先はお勉強になります^^; 

## Unityのインストール

まずはUnityのインストールです。（執筆時点でUnity5.3.x）

1. ダウンロード
2. インストール
3. ライセンス登録（大雑把に、個人利用は無料）

この辺は特に迷うことはないと思います。Google検索で[Unity 入門 インストール](https://www.google.co.jp/search?q=Unity+入門+インストール)などで調べてみてください。

ただし、インストールの最中に以下のような画面があるので、「Example Project」にチェックを入れてください。
![install.png](https://qiita-image-store.s3.amazonaws.com/0/131071/17441a03-3971-00c4-af8e-cb1a859e81c2.png)

## チュートリアルの読込と、まずはそのまま実行

ドライビングゲームのチュートリアルを読込、実行するところまでをやりましょう。

Unityを起動すると、以下のような画面になります。「Standard Assets Example Project」をクリックしてください。これは色んなゲームのチュートリアルの詰め合わせプロジェクトです。

![project2.png](https://qiita-image-store.s3.amazonaws.com/0/131071/a8179efd-588f-042b-22cf-f038dd5d6171.png)

（Unityのプロジェクトとは、3DモデラーBlenderでいうところの.blendファイルにあたります。）

概ね以下のような画面が開きます。
![init.png](https://qiita-image-store.s3.amazonaws.com/0/131071/732b30f0-5148-490d-c5b9-c1d2ffe06aeb.png)

まずは、チュートリアルの中からドライビングゲームの編集画面を開いて実行してみましょう。

1. 「Project」タブの中のリストから、Assets->SampleScenes->Scenes フォルダを開きます
2. その中のCarシーン（ドライビングゲーム用の画面）をダブルクリックしてください。これでドライビングゲームを編集できる状態になります。（※）
3. 上の再生ボタンを押すと、ドライビングゲームをテスト実行することができます。十字キーやWASDキーで動きます。

![carexample.png](https://qiita-image-store.s3.amazonaws.com/0/131071/fae6178d-e1fd-ddd3-c77e-0e9d86cf4464.png)

※ Unityにおけるシーンとは、ゲーム上で遷移する画面の１つ（タイトル、メニュー、ゲーム等）に相当します。

## チュートリアルの車を見つける

このチュートリアルに出てくる車の3Dモデルは.fbx形式です。どこにあるのかというと、ProjectタブのStandard Assets→Vechiles→Car→Modelsフォルダの中にあるSkyCarです。

![skycar.png](https://qiita-image-store.s3.amazonaws.com/0/131071/599e1d37-9956-3e14-600e-aab843bc3b4c.png)

矢印を展開すると、構成を見ることができます。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/13f414aa-82e2-72c9-5aac-3fe2275047c0.png)

実ファイルはどこにあるかというと、これを右クリックすると「Show in Explore」という項目が出てくるのでクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/8c58fb6f-a103-7042-f927-99f5d7b241dc.png)

3Dモデラーの人には見慣れた.fbx形式ですね。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/279ba78e-8b2d-bec8-5128-38794053c85a.png)

## チュートリアルの車を置き換える
いよいよ、置き換え作業を行います。

### ファイルの置き換え

チュートリアルの車は色んなパーツで構成されていますが、今回はこのうち「SkyCarBody」パーツのみを置き換えます。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/13f414aa-82e2-72c9-5aac-3fe2275047c0.png)

3Dモデラーで車のオブジェクト名を「SkyCarBody」に合わせます。この状態で「SkyCar.fbx」としてエクスポートしてください。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/5271d14f-8dca-64a5-b3b4-5560b72ea8ca.png)

Blenderの場合はエクスポートする際に「選択したオブジェクト」にします。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/affc6322-dc31-c57e-988e-38a98ac7f8cf.png)

先の章で開いたチュートリアルのSkyCar.fbxのファイルを適当にリネーム（ここではSkyCar_オリジナル.fbx）し、3Dモデラで作った「SkyCar.fbx」をコピーしてください。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/e4156328-a771-7ccf-0305-1454a6bd294e.png)

Unityは自動的に読み込んでくれます。しかし、まだScene画面には車が映っていません。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/a0aad266-36ab-253b-8e44-6aab292ef885.png)

### Unity上での調整

車が映らないのは、スケールが小さすぎるからです。SkyCarBodyのスケールをUnity上で調整しましょう。

まず「Hierarchy」タブでCar→SkyCar→SkyCarBodyを選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/24885fbe-05b8-cefd-8e35-d17210b1da9b.png)

「Inspector」にSkyCarBodyのプロパティが表示されます。スケールをx80 y80 z80にしてみましょう。姿が現れます。
![image](https://qiita-image-store.s3.amazonaws.com/0/131071/648ad76f-bbc8-b92a-527d-6b2f2a8f3465.png)

90度ひっくり返っているので、RoatationやPositionも調整します。（妙に縦長なのでScale Zも調整…）

![image](https://qiita-image-store.s3.amazonaws.com/0/131071/86c76aec-856c-3729-fb4f-ca4e3562ec6f.png)

この状態で上の再生ボタンを押すと、置き換えた3Dモデルの車が走り出すはずです。お疲れ様でした！

タイヤを動かす等やりたい場合は、元のデータを参考に試行錯誤してみてください。

## 後書き・感想

blendxjpの懇親会でお話しした方と「モデリングした車、Unityで走らせられるといいですね～」みたいな会話をしたので、もしかしたら需要あるかな？と考えてこの記事を書いてみました。

書き終わった後で、「・・コレもうfbx読み込むアプリにすればいいのでは？」とか思ったりも・・（汗

あとUnityのチュートリアルについて。この記事では強引にファイルの置き換えで対処できたものの、Unityのチュートリアルは全般的にリッチすぎて（多機能すぎて）、概要を把握しづらい・とっかかりとしてはハードル高いなという印象を感じました。もっと機能を削減した最低限のシンプルなチュートリアルがあると間口が広がってよさそう。

※ ここで躓いたよ、ここが間違ってたよ などあればコメントお願いします。