閃光絵巻ラボ

脱出ゲームの作り方などの技術系のブログです。

Unityで脱出ゲームの作り方(4)「部屋の中を移動する・UIでカメラ回転編」

      2015/08/02

SClmGJtdd4第4回はカメラ回転のスクリプトを実際に書いていきます。
上の画像のようにぐるりと一周できるようになるところまで進みます。

カメラを回転しよう

カメラとイベントシステムを定義します。
これでカメラの向きや位置をプログラムで扱えるようになります。
イベントシステムはひとまず「いろんな物事を受け取るシステム」とでも覚えておきます。

 

試しに90度横を向いてみましょう。
カメラの名前をmainCameraにし、Rorationを全部0,0,0にあわせて、

20150531100558217+

↓こんなかんじにします。「試しに部屋全体を消す一行」は消しました。

実行するとすぐにカメラが90度回転します。
1V20iPlIr5

 

回転の方法はいくつかありますが、ここで一番わかり易いのはインスペクターと同じ値を入れられるQuaternion.Eulerでしょう。インスペクターのRotationで角度を変えながら向かせたい角度を見つけ、その値を入れます。

 

ボタン(UI)を押してカメラを回転させる

ちょっとむずかしくなりますね!全体はこんなかんじです↓

void Updateの中に書いたプログラムは秒間目まぐるしい速さで何度も実行されます。ババババババーっと。Flashでいうenterframeですね。
↓Update関数に書いたこの行でマウスの左クリックをしたかどうかをずっと監視し続けてもらいます。

 

eventsystem.currentSelectedGameObjectでクリックしたUIを取得できます。あとで3Dをクリックした時の処理も書くつもりなので、if文で3DかUIかを分けておきます。(UIでない=3Dである)

 

↓eventsystem.currentSelectedGameObjectにつけた名前がturnLBtn(=左ボタン)だったとき、さっきStart関数に書いた回転のスクリプトを持ってくれば左ボタンでカメラが回転するようになります。

SClmGJtdd4

カメラでぐるっと一周させる

これだと左回転ボタンを押しても西しか向けないので、最初を北として「北→西→南→東」の順でループするようにします。

 

上記のスクリプトを詳しく見て行きましょう
standNameという現在立っている場所を表す変数を作りまして、

 

ゲーム開始時にcenterN(=部屋中央、北向き)にします。

 

turnLというvoidを作り、左ボタンクリックしたらturnLが起こるようにします。

さっきは回転するだけでしたが、今回は回転にあわせてカメラの位置(poisiton)も微妙に変えています。見せたいものをカメラにきれいに収めるためです。
カメラの座業移動には下記のnew Vector3を使います。小数は入れられませんが、インスペクターと同じ値を入れられるので便利です。

 

これでカメラが一周するようになりました。
カメラを滑らかに回転させることもできるのですが、そのやり方はもうちょっとまってね!(第6回で扱います)
k1T5eXIh7P

 

 »第5回へ続く

 - Unityで脱出ゲームの作り方

タグ

タグ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

20150617230620234+
Unityで脱出ゲームの作り方(6)「物体を滑らかにアニメーションで動かす」

第6回は物体のなめらかなアニメーション(トゥイーン)を実装します。 脱出ゲームに …

20150510100521211+
Unityで脱出ゲームの作り方(3)「部屋の中を移動する・下準備編」

このパートでは脱出ゲーム定番の移動ボタンを追加します。 画面上に固定で表示するU …

20150531120526222+
Unityで脱出ゲームの作り方(5)「3Dオブジェクトをクリックで取得」

これまでのパートでUIボタンのクリックはできました。 このパートでは上の画像の、 …

20150419140443163
Unityで脱出ゲームの作り方(1)「3Dの部屋を作る」

Unityで脱出ゲーム講座 初回は3Dの部屋づくりからはじめます。 このパートで …

20150702150755252+
Unityで脱出ゲームの作り方(8)「アイテムを選択(装備)する」

アイテムリストクリックでアイテムを装備する アイテムリストのカギをクリックしたら …

20150628160625244+
Unityで脱出ゲームの作り方(7)「アイテムリストを作る」

前回まででスイッチを押すとカギが降ってくるようにしました。 ここで落ちてきたカギ …

20150507120541179+
Unityで脱出ゲームの作り方(2)「UnityにSketchupの3Dの部屋をインポート」

第2回からはUnityという今話題のゲーム作成ソフトを使っていきます。 とても高 …