スポンサーリンク

「Unityで脱出ゲームの作り方」を写経してみる(5)

前回は、UIボタンをクリックすることにより、カメラを90度ずつ回転するところまでやった。

http://twosquirrel.mints.ne.jp/?p=12272

引き続き、以下のサイトの写経をやっていく。

Unityで脱出ゲームの作り方(5)「3Dオブジェクトをクリックで取得」
2015/06/03     2015/08/02
http://senkouemaki.com/lab/?p=98

(環境)
Windows8.1
Unity5.4.3f1

(1)3Dオブジェクトのクリック判定

Cube の窓をクリックすると、Cubeが消えて、窓から脱出できる設定を考える。

image

Cube をクリック検出させるための下準備。

Layers > Edit Layers を選択し、User Layer 8 に、新しいレイヤーの名前「clickable」を入れる

image image

image image

image image

ヒエラルキービューで、Cube を選択して、Inspectorビューで、
Add Component > Physics > Box Collider をクリックして、名前をWindowSwitch とする。
Layer を、 Clickable にする。

image image

image

GameSystem.cs の修正
(下記は、public GameObject selectedGameObject; の、selectedGameObjectのスペルが間違っている。)

image image

ray(光線)が、「カメラ」→「クリックしたところ」にまっすぐレーザーのように撃たれて、最初に当たったオブジェクトを取得するらしい。。。(詳細不明)

if(Physics.Raycast(ray, out hit, 10000000, 1 << 8)) {

 

の、8 は、layerの8らしく、ここでぶつかったオブジェクトは、 hit.collider.gameObjectで取得できるらしい。。。(ちんぷんかんぷん、なんとなくしかわからない。)

ゲームビューで、▲ボタンを押してから、左に向いて、ウィンドウをクリックすると、たしかに、左下にログが出てきた。

image

(2)スイッチクリックで3秒後に、windowSwitchを消す。

image

image

(3)スイッチが消えたあと、クリア画面に遷移する。

ClearSceneの作成

File > New Scene で、ClearScene という名前で保存。

Create > UI > Text

image

Window > Asset Store 少し時間がかかる。skybox 無料のみ で検索して、気に入ったものをダウンロード

image image

image image

image

GameSceneの、GameSystem.cs の修正
(using UnityEngine.SceneManagement; を忘れずに)

image image

File > Build Settings で、Sceneを順番にドラッグ&ドロップ

image

本当は、CubeをDestroyするまで、何秒間か待つスクリプトをコルーチン???を使って書きたかったが、うまくいかないので、シーンをもう一個作ることにした。

image

image image

なんか、すごくしっくりこないが、とりあえず、こんな感じで。

(4)いつものスマホ用スクリプト追加。

using UnityEngine;
using System.Collections;

public class GameDirector : MonoBehaviour {

    // Use this for initialization
    void Start () {
        Screen.fullScreen = false;
    }
    
    // Update is called once per frame
    void Update () {
        // プラットフォームがアンドロイドかチェック
        if (Application.platform == RuntimePlatform.Android)
        {
            // エスケープキーを取得
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                // アプリケーション終了
                Application.Quit();
                return;
            }
        }
    }
}

image

なぜかPreClear画面が真っ暗になってしまうバグがあるが

どうだろうか、、、

うむ、なんとか、初の脱出ゲーム作成ができた。。。これは道のりは長そう。。。

Screenshot_2016-12-03-20-56-14 Screenshot_2016-12-03-20-56-31

Screenshot_2016-12-03-20-56-41

スポンサーリンク

Unity

Posted by twosquirrel