【Unity/VR】手からパーティクルを出してみよう!パーティクルをボタンで制御できるようにしてみた!

 ハロ~!新入社員のタケです!

今日はUnityのVR内でパーティクルを好きに出してみるのをやってみました!
コントローラのボタンを押すとパーティクルを放出できます!


今回は噴水のようなパーティクルをAボタンを押したら出てくるようにします。
手からこう…いろいろ出すって小さい頃の夢だったりしますよね…

まずは噴水パーティクルを適当に作ります。
コライダーに当たるとちょっと滑って消えるので、水を撒いているような見た目ですね。


このパーティクルをアバターの右手にくっつけ・・・るのではなく、OVRRigの右手の子につけます。
手のトラッキング位置はここが正しいのでアバター側には付けないようにしましょう。


コントローラーのAボタンを押したらONとOFFを切り替えられるように以下のようなコードを書いてみました。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParticleButton : MonoBehaviour
{
    public ParticleSystem Particle;
    bool isOn;
    // Update is called once per frame
    void Update()
    {
        ParticleInput();
    }
    void ParticleInput()
    {
        if (isOn == true)
        {
            if (OVRInput.GetDown(OVRInput.Button.One))
            {
                isOn = false;
                Particle.Stop();
            }
        }
        else
        {
            if (OVRInput.GetDown(OVRInput.Button.One))
            {
                isOn = true;
                Particle.Play();
            }
        }
    }
}


注意したいのはパーティクルの場合、Play()メソッドを使用しないとパーティクルが再生されません。
Enable/DisableだとDisableにしたらもうでなくなってしまったりすることがあるので必ずPlayとStopを使います。

これを適当なGameObjectにアタッチして出したいパーティクルのオブジェクトを選択します。


そしてAボタンを押すと…噴水が右手からでてきます!
もう一度押すとやめることができます。

これで周りのオブジェクトに水うちができますね!やった~!


手元のボタンでパーティクルが出せると結構面白いかなと思ってやってみました!

応用すると魔法を手で撃ったりだとかできそうですね!


--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------


コメント