Unity勉強会に向けて(7)ぐりぐり動きます

引き続き、ドットインストールの「Unity入門(全26回)」をやりながら予習を進めていきましょう。#12からは一気にプログラミングっぽくなります。

これまで、静的な部品を配置する方法を学んできました。落下するボールも作りましたが、あれも単に質量を持つ物体を置いただけ。Unity自体が重力を考慮して動かしてくれていました。

一方、ここからは部品自体をプログラミングすることにより、自ら動く部品を作っていきます。「部品自体をプログラミングする」といってもピンと来ない方もいらっしゃるかと思いますが、ざっくりいうと「何かが起こった時にどうなるか、その部品に書いてある」というような意味だと思って頂けるとよろしいかと思います。

AssetからJavascriptを追加
AssetからJavascriptを追加します

これまで同様、Assetsタブからプログラムを作成し、オブジェクトに貼り付けるという流れになります。第2回で書いたとおり、ここでは複数選べるスクリプト言語の中からJavascriptを選択してみます。もちろんC#やBooが得意という方はそちらを選んでも構いません。なお、上の図ではAssetsタブを右クリックしてスクリプトを生成していますが、ドットインストールで紹介されているとおりProjectタブのCreateボタンを使っても構いません。

Snowman on the red carpet
Snowman on the red carpet

前回作った雪だるまをレッドカーペットの上に置いてみました。初期状態では上空に浮かんでいます。これを、カーソルキー入力で動かしてみます。要点は、

  • 画面が更新される度に呼ばれる function Update() に処理を仕込む
  • 縦横の移動はInput.GetAxis(“Horizontal”)、Input.GetAxis(“Vertical”)で取得できる

ということです。初期状態では「縦横の移動」はカーソルキー、およびasdwキーに割り当てられていますが、メニューから Edit -> Project Setting -> Inputを選んで変更することもできます。

雪だるま移動スクリプト
雪だるま移動スクリプト

こんな感じのスクリプトを雪だるまに貼り付けてみます。詳細はドットインストールの講座をご覧いただくとして、見かけの座標と合わせるためにx軸の向きを反転させています。実行するとこんな感じです。

[wpvp_player src=”http://yu-mug.jp/blog/wp-content/uploads/2015/01/2015-01-10-unity-01.mov” width=”420″ height=”298″ splash=”http://yu-mug.jp/blog/wp-content/uploads/2015/01/2015-01-10-unity-04.png”]
カーソルキーで上下左右、というと変ですね。前後左右に動かすことができました。

マウスで制御
マウスで制御してみます

もっとゲームっぽくするために、位置の制御をマウスで行うこともできます。メニューから Edit -> Project Setting -> Inputを選ぶと表示される画面から “Horizontal”、”Vertical”の設定を変更してやります。

TypeをMouse Movementにすることで入力がマウスになります。カーソルの横方向の動きをHorizontalに割り当てるため、Axisを “X axis”にしておきます。同様に、VerticalではAxisを “Y axis”に設定します。

[wpvp_player src=”http://yu-mug.jp/blog/wp-content/uploads/2015/01/2015-01-10-unity-02.mov” width=”392″ height=”308″ splash=”http://yu-mug.jp/blog/wp-content/uploads/2015/01/2015-01-10-unity-06.png”]
 

どうでしょう。ずいぶんゲームらしい、ぐりぐりの動きが実現できました!


これまでの記事