振り回すことができるようになったグレードソード。
最後にこいつに当たり判定をつけてきますが、まずは当たった際に飛び散る岩の演出オブジェクトから作っていきたいと思います。
演出や効果にはUnityではパーティクルといったものを使うみたいです。
Contents
パーティクルオブジェクトを作成
これも、ゼロから作ると大変なので、
![](https://monmon.jp/wp-content/uploads/2021/09/1632819089-7a5bf8aedfd703f4ef04dfb240beab45-1024x583.png)
Unity Particle Pack
https://assetstore.unity.com/packages/essentials/tutorial-projects/unity-particle-pack-127325
公式のパーティクルパックを導入しましょう。これをプロジェクトにインポートしてください。
Unity Particle Pack 5.x といった似たような公式パーティクルパックが他にもありますが、無印の方が最新版だとか。
プレハブを選定
追加された演出データの中から、好みの演出を選びます。
![](https://monmon.jp/wp-content/uploads/2021/09/1632819597-855818f16e712de1985de153463f6841-1024x902.png)
StoneImpacts を今回は使っていきます。
シーンに追加
このプレハブを適当にシーンに追加します。
![](https://monmon.jp/wp-content/uploads/2021/09/1632819816-55fb2cf3918c41a24ec576eac1696ed2-1024x496.png)
最後には消すのでどこでも大丈夫です。
![](https://monmon.jp/wp-content/uploads/2021/09/1632820177-bb90def65e568e20dbbf41c212d89755-1024x851.png)
作業用にプレハブを解除します。
オブジェクトの再配置
プレハブを再生させると、
![](https://monmon.jp/wp-content/uploads/2021/09/1632820244-e0e9e175f2014581525394fd0f7558b1.png)
この3つのパーティクルが、StoneImpactsオブジェクトに沿って表示されているみたいです。
![](https://monmon.jp/wp-content/uploads/2021/09/1632821786-46529a4f3d8ce306a58a8768be895826.png)
この3つのオブジェクト親階層にドラッグし、さらに階層的つけて配置しました。
![](https://monmon.jp/wp-content/uploads/2021/09/1632820885-523dd340cdcfd78145906519df2487e4.png)
今回、子供の階層となったDecalとImpactDebrisの2つのトランスフォームは0にして位置をあわせておきます。
スクリプトの追加
演出の都度、このオブジェクトが増えていきますので、色々と問題になってきます。なので、演出が終わると自分自身のオブジェクトを削除するスクリプトを作成します。
SelfDestroy.csなど好みの名称で、
using UnityEngine;
public class SelfDestroy : MonoBehaviour {
ParticleSystem particle;
void Start() {
particle = this.GetComponent<ParticleSystem>();
}
void Update() {
//パーティクルが終了した場合
if (particle.isStopped) {
//自身を削除する
Destroy(this.gameObject);
}
}
}
このような簡単なスクリプトを作成し、
![](https://monmon.jp/wp-content/uploads/2021/09/1632821917-535f6cc235b39d2790a37a89ba28ad4c.png)
今回の一番親となる、Dustのオブジェクトにスクリプトとしてアタッチします。
ちなにみ、この段階でもパーティクルのプレビューでも石が飛び散る様を確認できるはずです。
Dustをプレハブ化
プロジェクトにこのDustをドラッグしプレハブします。
![](https://monmon.jp/wp-content/uploads/2021/09/1632821045-75d81933b368d8ef2193d09ba325edf8-1024x513.png)
Dustだとわかりにくいので、StoneImpactsOrgに名称を変更しておきます。
シーンから不要なデータを削除
![](https://monmon.jp/wp-content/uploads/2021/09/1632822167-c3ef59ffe5b81a0bec479460170eeaa3.png)
StoneImpactsやDustはここでは利用しないので削除します。
これでひとまず演出用のパーティクルオブジェクトの原型が作成できました。
いよいよ次で、グレードソードソードに当たり判定をつけて、演出を表示させていきます。
この記事はユニティちゃんライセンス条項の元に提供されています。
© Unity Technologies Japan/UCL