【unity】3D脱出ゲーム作成_その4

3D脱出ゲーム

前回蓋が外れるギミックを作成しましたが、なにか物足りない気がします。今回はその辺りを補完していきます。

効果音の設定

前回作成したBoxManagerクラスに以下赤マーカー追加でスクリプトの効果音設定ができます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BoxManager : MonoBehaviour
{
    public GameObject BoxEnter;
    public GameObject ButtonUp;
    public GameObject ButtonDown;
    private int countU;
    private int countD;

    public AudioClip sound1;//反応音
    public AudioClip sound2;//外れる音
    AudioSource audioSource;
    void Start()
    {
        countU = 0;
        countD = 0;
        BoxEnter.GetComponent<Rigidbody>().isKinematic = true;
     audioSource = GetComponent<AudioSource>();//コンポーネント取得
    }
    public void CountButtonUp()//CountButtonDownメソッドも同じ変更
    {
        countU++;
        Debug.Log("up" + countU);
        audioSource.PlayOneShot(sound1);//1回再生
     if (countU == 1 && countD == 3)
        {
            BoxEnter.GetComponent<Rigidbody>().isKinematic = false;
            ButtonUp.SetActive(false);
            ButtonDown.SetActive(false);
            audioSource.PlayOneShot(sound2);//1回再生
            ButtonLow.SetActive(true);//アングル変更で追加
        }
        else if(countU > 1 || countD > 3)
        {
            Start();
        }
    }
}

オブジェクトの効果音設定は以下の様にします。

・音を発したい物:AudioSourceコンポーネント追加

・音を受け取りたいカメラ:AudioListenerコンポーネント追加(元々付いてる)

音の大きさ等を変えたい場合は、AudioSourceコンポーネントをいじってみてください。

ボタンでカメラのアングル変更

ギミックで外れた蓋はそのまま地面に落ちますが、箱用カメラのアングルを変更してそれを追える様にします。蓋は外れるけどCanvasは残るので、前回作成した戻るボタンと同じくUIボタンで設定します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BoxManager : MonoBehaviour //追加変数とメソッドのみ記載
{
   public GameObject ButtonHigh;
   public GameObject ButtonLow;
   public void PushButtonHigh()//初期アングル_下有効_上無効
   {
        boxCamera.transform.Rotate(-90, 0, 0);
        ButtonHigh.SetActive(false);
        ButtonLow.SetActive(true);
   }
   public void PushButtonLow()//アングル下向き_上有効_下無効
   {
        boxCamera.transform.Rotate(90, 0, 0);
        ButtonLow.SetActive(false);
        ButtonHigh.SetActive(true);
   }
}

簡単ですね。蓋が外れた時にアングル上下稼働させたいので、前段スクリプトの青マーカーも合わせて追加します。

以下、前回の蓋が外れる所から今回やった所までの完了デモになります。音はちゃんとでていますwww

ボタンデザインの自作が難しければ、asset storeにフリーでいくらでもあります。

反応音(カチッ)と外れる音(ガチャ)は効果音ラボ様から使用しました。一通り揃うのでお勧めです。

完了デモで蓋が外れた後、文字がDUUD→UDDUに変化していると思います。この文字が箱の2個目のギミックのヒントになるのですが、ただテキストを裏面に貼り付けて終わりではなく、意外と設定が必要になってきます。その辺りを次回解説します。

コメント

タイトルとURLをコピーしました