社内勉強会用 Unity講座【基本的な使い方〜オブジェクトの配置】

`※もともとは非エンジニアがUnityを触ってみる話でしたが、社内勉強会用に内容を少し書き換えました。`

3D/2Dゲームやオブジェクトを作れるUnityを触ってみましょう。
今回はソースコードを触りません。

目次
- Unityとは
- Unityのダウンロード
- 画面の使い方
- 玉が転がる坂を作ってみよう


####環境
 - OS X Yosemite 10.11.3
 - Unity 5.3.4f1 Personal

####教本
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B012VRQX4G/-22/ref=nosim/" rel="nofollow" >Unity5入門　最新開発環境による簡単3D＆2Dゲーム制作</a>

<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B012VRQX4G/-22/ref=nosim/" rel="nofollow" ><img src="http://ecx.images-amazon.com/images/I/41ImFj-NkwL._SS300_.jpg" style="border: none;" alt="Unity5入門　最新開発環境による簡単3D＆2Dゲーム制作" /></a> 

Kindleで買いました。モニタで開きながら、MacでUnityを触ってます。


##Unityとは
・2D/3Dゲームエンジン
・個人や年商10万米ドル（日本円で約1071万円 ※2016年5月現在）以下の組織は無料で使える
・対応しているプラットフォームが多い（マルチプラットフォーム）

```
・Windows/Mac
・Android/iOS/Windows Phone 8/BlackBerry
・Web Browser（WebGL/Web Player）
・PS3/PS4/Xbox 360/Xbox One/Wii/Wii U
```
・Asset Storeでプロが作ったゲーム素材を入手できる

###Unityでできること
https://www.youtube.com/watch?v=dk8gpz0o5TU

公式から出ている、Unity5のプロモーションビデオにできることがまとめられていました。何ができるかをサクッと把握できます。

ゲームしか作れないと思っていたのですが、ゲームBGMなどの音響やPVも作れるみたいです。これならぜったいVRカートも作れる（あとは技術力）

###Unityのダウンロード
http://japan.unity3d.com/

上記リンクからダウンロード＆インストールして、アカウント登録をすれば使えます。無料版（個人や年商10万米ドル以下の組織のみ）はPersonal Editionを選択。

<center>![スクリーンショット 2016-05-06 14.55.26.png](https://qiita-image-store.s3.amazonaws.com/0/54129/11bdad2f-682c-cd3d-4268-b752a7718579.png "スクリーンショット 2016-05-06 14.55.26.png")</center>

ダウンロードは10分くらい。

![スクリーンショット 2016-05-06 15.10.41.png](https://qiita-image-store.s3.amazonaws.com/0/54129/081a7c78-8112-ce3d-bb35-6e2460e4f2e8.png "スクリーンショット 2016-05-06 15.10.41.png")

こんな画面がでてくるので、「Starndard Assets Example Projectw」をクリックして開きます。

##画面編

表示されるのはこのような画面です。4ウインドウに分かれています。

![スクリーンショット 2016-05-06 15.16.04.png](https://qiita-image-store.s3.amazonaws.com/0/54129/2b64b5d5-4afd-e296-7007-f661ecdd9411.png "スクリーンショット 2016-05-06 15.16.04.png")

<strong><font color="red">Scene</font></strong>
オブジェクトを実際に配置していく場所。
ここで開発していきます٩(ˊᗜˋ*)و

<strong><font color="red">Game</font></strong>
作ったゲームを再生できる場所。事前に設定したカメラからの視点で表示されます。
上部にある再生ボタンでゲームの再生ができます。

<strong><font color="blue">Hierarchy</font></strong>
ここにはSceneに配置するオブジェクトが一覧で表示されます。
Photoshopでいうレイヤーパネルに近い印象。

<strong><font color="green">Project</font></strong>
オブジェクトにつける色や重力などといった要素がここに置かれます。

<strong><font color="green">Console</font></strong>
警告やエラーのログ一覧が表示されます。

<strong><font color="yellow">Inspector</font></strong>
ここでオブジェクトの位置を調整できます。
オブジェクトの位置（Position）、角度（Rotation）、大きさ（Scale）をX・Y・Zの数字を調整して設定できるっす。

##基本編
###オブジェクトの配置方法
![スクリーンショット 2016-05-08 12.00.30.png](https://qiita-image-store.s3.amazonaws.com/0/54129/d9d3cb21-aa5e-b57b-ddc8-b9d1fdc99438.png "スクリーンショット 2016-05-08 12.00.30.png")

Hierarchy>Create




###視点の移動
<center>![スクリーンショット 2016-05-08 12.04.37 4.png](https://qiita-image-store.s3.amazonaws.com/0/54129/67b65d38-7db7-a786-bf00-3c2a2db1611c.png "スクリーンショット 2016-05-08 12.04.37 4.png")</center>

ドラッグ＆ドロップで表示されている場所を変えられる。
altを押しながらだと回転する。

###オブジェクトの移動
<center>![スクリーンショット 2016-05-08 12.04.37 2.png](https://qiita-image-store.s3.amazonaws.com/0/54129/abacaf1a-f35f-742a-fce6-501a3fe21881.png "スクリーンショット 2016-05-08 12.04.37 2.png")</center>

クリックしたもの、もしくはHierarchyで選択したものを移動できる。

###オブジェクトの回転
<center>![スクリーンショット 2016-05-08 12.04.37.png](https://qiita-image-store.s3.amazonaws.com/0/54129/24af780c-6afc-85b8-4623-c2d122ba5c01.png "スクリーンショット 2016-05-08 12.04.37.png")</center>

オブジェクトを回せる。


###オブジェクトの拡大・縮小
<center>![スクリーンショット 2016-05-08 12.04.37 3.png](https://qiita-image-store.s3.amazonaws.com/0/54129/ece831af-faac-6fa6-d670-9c2b6085cd9b.png "スクリーンショット 2016-05-08 12.04.37 3.png") </center>

オブジェクトをドラッグで拡大縮小ができる。


###Hierarchy>Main Camera
![スクリーンショット 2016-05-08 11.00.01.png](https://qiita-image-store.s3.amazonaws.com/0/54129/6c54b3f4-30ea-ca52-6e4b-32a573367602.png "スクリーンショット 2016-05-08 11.00.01.png")


Gameで再生できるカメラの視点。Xが右、Yが上になるように調整しておく。
Positionは `X:0 Y:0 Z:0`。ここを調整すると移動できる。

###Hierarchy>Directional Light

ライトの当て方はここで調整できる。5種類くらいあるようですが今は割愛。


##作るもの
![スクリーンショット 2016-05-08 11.35.58.png](https://qiita-image-store.s3.amazonaws.com/0/54129/35559c0c-ad2f-d271-4394-fd463a70b9a2.png "スクリーンショット 2016-05-08 11.35.58.png")

完成品はこちら。玉が転がる坂です。
オブジェクト「Cube」で枠と坂を、「Sphere」でボールを作り、重力と摩擦を加えることで転がるスピードに強弱がつきながら玉が坂を下ります。


###仕組み
![スクリーンショット 2016-05-08 11.16.07.png](https://qiita-image-store.s3.amazonaws.com/0/54129/8270ef9e-fcee-546e-ee34-406d1e1ea745.png "スクリーンショット 2016-05-08 11.16.07.png")

HierarchyとProjectにある一覧が今回作るもの。

###壁と床

```ruby:以下のデータの見方
Floor　☜任意の名前　（Cube）☜オブジェクト
Position X:0 Y:0 Z:0　☜Inspector>Positionで設定する
Scale X:10 Y:0.5 Z:5　☜Inspector>Scaleで設定する
```



```
Floor（Cube）
Position X:0 Y:0 Z:0
Scale X:10 Y:0.5 Z:5

Wall1（Cube）
Position X:-5.3 Y:4.6 Z:0
Scale X:1 Y:10 Z:5

Wall2（Cube）※Wall1のDuplicate（右クリック>Duplicate）
Position X:5.3 Y:4.6 Z:0
Scale X:1 Y:10 Z:5

Wall3（Cube）
Position X:0 Y:4.6 Z:2
Scale X:10 Y:10 Z:1
```

###坂

```
Sloop1（Cube）
Position X:1 Y:8.57 Z:1
Scale X:8 Y:0.3 Z:2

Sloop2（Cube）※Sloop1のDuplicate
Position X:-1.5 Y:3.9 Z:1
Scale X:8 Y:0.3 Z:2

Sloop3（Cube）
Position X:0.9 Y:6.2 Z:1
Rotation X:0 Y:0 Z:8
Scale X:8 Y:0.3 Z:2.2

Sloop4（Cube）※Sloop3のDuplicate
Position X:0.9 Y:2.2 Z:1
Scale X:8 Y:0.3 Z:2

Sloop2（Cube）※Sloop2のDuplicate
Position X:-3 Y:0.35 Z:1
Scale X:5 Y:0.3 Z:2
```

###玉

```
Ball（Sphere）
Position X:-4.4 Y:9.58 Z:0.7
Scale X:0.4 Y:0.4 Z:0.4
```

####玉に重力を加える
Ballを選択した状態で、Component>Physics>Rigidbody

この状態でGameに移動し、再生するとボールが転がる。
しかし、スピードが一定。勢いよく転がるようにするには、摩擦を加える。

####玉に摩擦を加える
Create>Physics Material

```
Dynamic Friction: 0
Static Friction: 0
Bounciness: 0
Friction Combine: Multiply
Bounce Combine: Multiply
```

ProjectにPhysics Materialが作られるので、名前をbounceなどにわかりやすいものに変更。
Ballを選択し、Materialにドラッグ＆ドロップする。


###色をつける
Create>Material

ProjectのAssetsに追加されたものをBallなど分かりやすい名前に変更。
InspectorタブのAlbedoをクリックし色を変える。Ballにドラッグすれば色が変わる！

![439ba0a6510e95c9ae9b87419528973f.gif](https://qiita-image-store.s3.amazonaws.com/0/54129/2e344ddf-cd6c-0aa7-9e4c-b3d01982ab8a.gif "439ba0a6510e95c9ae9b87419528973f.gif")


できました◎

###個人的に困ったこと

<center>![スクリーンショット 2016-05-08 10.56.54.png](https://qiita-image-store.s3.amazonaws.com/0/54129/d9ac8d8f-ee24-d348-34e6-a3fff4802da7.png "スクリーンショット 2016-05-08 10.56.54.png")</center>

Gameで再生するとき、Main CameraのProjection（投影）がPerspectiveでないと3Dで再生されない。OrthographicだとSceneで作った通りに表示されないので注意。


##まとめ
ここまで1時間くらい。
今回は、チャプター3までで学んだ内容をかいつまんでまとめました。
本では説明がめちゃくちゃ丁寧に書かれている＆全部で8チャプターあるのでまだまだ学べそう。

<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B012VRQX4G/-22/ref=nosim/" rel="nofollow" >Unity5入門　最新開発環境による簡単3D＆2Dゲーム制作</a>

<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B012VRQX4G/-22/ref=nosim/" rel="nofollow" ><img src="http://ecx.images-amazon.com/images/I/41ImFj-NkwL._SS300_.jpg" style="border: none;" alt="Unity5入門　最新開発環境による簡単3D＆2Dゲーム制作" /></a> 

次回はフィールド作ったりキャラ動かしたり、ゲーム開発のあれこれをやっていきます。