【Unity】パーティクルをキューブに当てて、ヒットのパーティクルを出す方法

unity-particle-OnCollisionEnter

パーティクルをキューブに当てて、ヒットのパーティクルを出す方法。
OnParticleCollisionを使用すると、パーティクル衝突時に別のパーティクルを簡単に発生させることができるが、衝突位置に発生する方法がまだシンプルではないです。

スポンサーリンク

①3つのゲームオブジェクトを用意

・A:当てる用のパーティクル(Beam)
・B:ヒット用のパーティクル(Explosion)
・障害物(ただのCube、Aが当たるように配置する)

スポンサーリンク

②A:当てる用のパーティクルのCollisionにチェック

さらに設定をWorldにして、Send Collision Messagesにチェック

スポンサーリンク

③A:当てる用のパーティクルに下記のスクリプト(FX_Test)をアタッチ

using UnityEngine;
using System.Collections;
public class FX_Test : MonoBehaviour {
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown (0)) {
GameObject go = GameObject.Find ("Beam");
go.particleSystem.Play ();
}
}
private ParticleSystem.CollisionEvent[] collisionEvents = new ParticleSystem.CollisionEvent[16];
void OnParticleCollision(GameObject other) {
GameObject hitParticle = GameObject.Find ("Explosion");
int safeLength = particleSystem.safeCollisionEventSize;
if (collisionEvents.Length < safeLength)collisionEvents = new ParticleSystem.CollisionEvent[safeLength];
int numCollisionEvents = particleSystem.GetCollisionEvents(other, collisionEvents);
int i = 0;
while (i < numCollisionEvents) {
Vector3 collisionHitLoc = collisionEvents[i].intersection;
hitParticle = Instantiate (hitParticle, collisionHitLoc, Quaternion.identity) as GameObject;
hitParticle.particleSystem.Play();
GameObject.Destroy (hitParticle, 1.0f);
i++;
}
}
}

メモ1:衝突位置を割り出さない場合

void OnParticleCollision(GameObject other) {
GameObject hitParticle = GameObject.Find ("Explosion");
hitParticle = Instantiate (hitParticle, other.transform.position, other.transform.rotation) as GameObject;
hitParticle.particleSystem.Play ();
GameObject.Destroy (hitParticle, 1.0f);
}

メモ2:オブジェクトが当たったらヒットエフェクトを飛ばす(OnCollisionEnter)

void OnParticleCollision(GameObject other) {
GameObject hitParticle = GameObject.Find ("Explosion");
hitParticle = Instantiate (hitParticle, other.transform.position, other.transform.rotation) as GameObject;
hitParticle.particleSystem.Play ();
GameObject.Destroy (hitParticle, 1.0f);
}
Unity
スポンサーリンク
すいみんをフォローする



CGメソッド

コメント