Unityで3D脱出ゲーム(5)カメラ移動
前回は、ブタの貯金箱などの3Dモデルの作成を行った。(Metasequoia4+Blender2.7)
http://twosquirrel.mints.ne.jp/?p=13669
引き続き、以下の本とサイトを参考にしながら、進めていく。
閃光絵巻ラボ 「 Unityで脱出ゲームの作り方 」
http://senkouemaki.com/lab/?cat=2
<Unityの流れ>
(1)プロジェクトの作成
(2)オブジェクトの配置
(3)スクリプトの作成
(4)スクリプトのアタッチ
(環境)
Windows8.1
Unity5.5.0f3
VisualCode
SourceTree 1.9.10.0
Pageant
(1)切り替えボタンの配置
GameObject > UI > Button で、名前をButtonLeft に変更。
PosX :-320, Width: 100, Height: 200 に設定
Canvas > ButtonLeft > Text で、Text(Script)のText: < , Character>Font Size: 100 に設定
色も変更しておく
Canvas > ButtonLeft を右クリックして、Duplicate
名前をButtonRightに変更
PosX :320 に変更
Canvas > Right > Text で、Text(Script)のText: > に変更
(2)カメラを90度ずつ回転するスクリプトを書く
Hierarchyビューで右クリックして、Create Empty ,名前をGameManagerに変更
Projectビューで、Assets > Scripts で、右クリックして、Create > C# Script で、名前をGameManagerに変更
Hierarchyビューで、GameManagerを選択し、Inspectorビューで、Add Component > Scripts > Game Manager を選択
GameManager.cs の変更
GameManager.csをダブルクリックして、編集。
[sourcecode language="csharp" padlinenumbers="true"] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class GameManager : MonoBehaviour { public GameObject mainCamera; // カメラの定義 public EventSystem eventsystem; // イベントシステム(いろんなことに使う)の定義 // Use this for initialization void Start () { eventsystem = GameObject.Find("Eventsystem").GetComponent<EventSystem>(); GameObject.Find("mainCamera").transform.rotation = Quaternion.Euler(0, 90, 0); } // Update is called once per frame void Update () { } } [/sourcecode]
HierarchyビューのMain Cameraを選択して、Inspectorビューで、名前をmainCameraに変更。
ここで、画面真ん中上の再生ボタン(▲)をクリックしても、カメラが回転しない。。。
GameManager.cs の、EventSystemの、Sが小文字のsになっていたので、大文字にお修正。
もう一度、画面真ん中上の再生ボタン(▲)をクリックすると、カメラが90度回転した!
しかし、金庫とメモ帳が暗すぎる。
どうやら、メタセコイアでマテリアルなどを指定するときに、名前をデフォルトから全部変更しておいた方が、Unityへ(Blenderを経由して)エクスポートしたときに、Unity上で変更しやすそうな雰囲気であった。
なんか見栄えがとても納得がいかないが、集中力の限界なので、このあたりで。。。
Unityで物体のレンダリングがどうなっているのかさっぱりわからない。
(3)さらにカメラを左に、右にそれぞれ90度ずつ回転できるようにしたい。
スクリプトはUnityで脱出ゲームの作り方(4)「部屋の中を移動する・UIでカメラ回転編」を参考にさせていただいた。
これで、画面の左側のボタンをクリックすると、90度ずつ左側を向くことができるようになった。
同様に、ButtonRight のスクリプトもGameManager.csに記載する。
GameManager.cs (39行目のbreak; がミスプリしている)
これで、右回転もできるようになった。
本当はiTweenを使いたいが、まあ、今回はあきらめる。
次は、「3Dオブジェクトをクリックで取得」をやりたい。
急遽、鍵穴つきのドアを作成しておいた。
ディスカッション
コメント一覧
まだ、コメントがありません