###前提・実現したいこと
まず、自分が上下運動(浮いたり落ちたり)するシステムを作っています。
そこで、カメラの位置が初期値に来たとき(地面まで落ちてしまったとき)に、
一度だけパーティクルを再生させたいのですが、
ループを外しても、その位置にいる間は再生が繰り返されてしまいます。
また、初期値でも、スタートしてからまだ動いていない状態では再生せず、
落ちたときのみ一回再生するようにしたいです。
**地面に落ちた瞬間の一度だけパーティクルを再生する方法**はないでしょうか。
現在は下記のようになっています。
・地面の高さ y=10
・パーティクルはヒエラルキーから呼び出す
・スペースキーを押している間はカメラが上昇し、離している間は下降する
(地面より下に落ちすぎないようにy=10で止めています)
落ちたときのみというのは、該当ソースコードの部分を、
「現在のカメラのy座標−1フレーム前のカメラのy座標<0 かつ 高さがy=10」のとき、パーティクルを再生させる。
というように変えたら良い気がしているのですが、
動いているカメラの座標の取得の仕方もわからず苦戦しています。
質問が大まかに2つになってしまい申し訳ないのですが、
どうか教えていただけないでしょうか。
###該当のソースコード
if (transform.position.y<=10) {
transform.position = new Vector3(-9f, 10, 4f);
var PS2 = GameObject.Find ("particle2");
PS2.GetComponent<ParticleSystem>().Play ();
}
###補足情報(言語/FW/ツール等のバージョンなど)
C#で書いています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/22 12:12
2016/12/29 16:15
2016/12/30 00:57