4-1 斬撃
今回は、Roblox Studioのパーティクルエミッターを使用して斬撃のエフェクトを作成する方法について学習していきましょう。
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/f83fccbf-95f3-4947-88fb-81217fe289cc/97481252d1f575da199201f8b863880c.jpg)
目次
プラグインのインストール
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/3af8250b-afc9-486c-9e12-5426cfdc3f7a/eb363caa51f7657c16e459a208f245d9.png)
斬撃などの不連続にパーティクルを放出するエフェクトを作成するためには、ParticleEmitter:Emit(n) V2というアドオンが欠かせません。
このアドオンをインストールすることで、個数を指定してパーティクルを不連続に放出することができるようになります。
こちらからインストールしておきましょう。
オブジェクトの準備
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/b4ed4030-7062-4e49-9220-d455d5e21eda/e39c9395e78b550dc5e34b889168990d.png)
では早速エフェクトを作成していきましょう。
まずはWorkspaceにPartを追加して、Partの子にAttachmentを追加します。このAttachmentの子にパーティクルエミッターを入れましょう。
- Part
- Attachment
- ParticleEmitter
という階層構造になっていれば正解です。
なぜPartの中にAttachmentを入れて、その中にパーティクルエミッターを入れるのかということについて触れておきます。
パーティクルエミッターはPartの子のときは面から、Attachmentの子のときは一点からパーティクルを放出するのですが、
斬撃のパーティクルを作成するには、一点からパーティクルが放出される方が良いからです。
また、Attachmentは単独でWorkspaceに入れることができず、Partなどのオブジェクトの子にする必要があるので、Partの中にAttachmentを入れています。つまりこのPartは不要なので、Transparencyを1に設定して透明にしておきましょう。
さらに、全方位に放出されるパーティクルを作成する場合は、PartのY座標を少し上にしてPartを浮かせておくことで、パーティクルが確認しやすくなります。このとき、Anchoredを有効にし、Partを空中に固定することも忘れないようにしましょう。
パーティクルの設定
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/247577da-9f5e-4bee-8920-5b7e6fbdf580/c96aa1d943c5bf1a60771c0dfc21a026.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/78c575ab-1a2e-46f0-9ffb-7bfb7234cd07/f3d9f17d011fa89ed90419d6ad8c4a47.png)
それではパーティクルエミッターの設定を行っていきましょう。今回はこちらで用意した2枚の画像を使用してエフェクトを作成していきます。
1枚目の画像は斬撃のメインのパーティクル用で、2枚目の画像は斬撃の周囲の風のパーティクル用です。
ここでは、前者をSlash、後者をWindと呼ぶことにします。
ではそれぞれのパーティクルの設定を行っていきましょう。
パーティクルエミッターのプロパティについては下記セクションを参照してください。
Slash
Slashのパーティクルは、以下の手順で作成します。
- TextureにSlashの画像を割り当て、パーティクルエミッターのオブジェクトの名前をSlashに変更しておきます。これ以外の名前にすると、後に設定するスクリプトが動かなくなるので注意しましょう。
- Orientationを”VelocityPerpendicular”に変更します。これによって、水平方向にパーティクルが広がるようになります。
- Enableを無効にします。Slashは不連続なので、今後はプラグインを使って個数を指定してパーティクルを出しながら作業を行います。プラグインのEmitに1と入力しておきます。これでプラグインのEmitを選択すると、Slashのパーティクルが1つだけ出るようになります。
- Emissionの各項目を設定します。例では、
- Lifetime: 0.15
- RotSpeed: 900
- Speed: 0.01
- SpreadAngle: 15,15
としました。
Speedの値が0だとパーティクルが出なくなってしまうので、0に近い0.01にしています。
- Appearanceの各項目を設定します。LightEmissionを1にすることで、発光するようになります。その他の設定項目はグラフで詳細に設定します。グラフの設定は以下の画像を参照してください。
- Size
- Squash
- Transparency
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/2da38dcd-1890-4f3b-a515-fec05a66e2ed/ba69e99cef76b64b614423ab1a9f47f2.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/f517c7cc-2459-4910-8a91-80e52353a687/ac95bb63678bdab7d1f0ddef3c6b91a1.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/b89a0935-7694-481e-8bcd-5a6b4f78fef7/7186805c9550c9f1a722c363c31eedbf.png)
- 以上の設定に加えて、例ではDrag(減速の度合い)を5(最大)に設定しました。
以上でSlashのパーティクルの設定は完了です。
Wind
Windのパーティクルは、以下の手順で作成します。
1. TextureにWindの画像を割り当て、パーティクルエミッターのオブジェクトの名前を”Wind”に変更しておきます。これ以外の名前にすると、後に設定するスクリプトが動かなくなるので注意しましょう。
2. Orientationを”VelocityPerpendicular”に変更します。これによって、水平方向にパーティクルが広がるようになります。
3. Enableを無効にして、プラグインのEmitに3と入力しておきます。
4. Emissionの各項目を設定します。例では、
- Lifetime: 0.2
- RotSpeed: 300
- Speed: 5
- SpreadAngle: 30,30
としました。
- Appearanceの各項目を設定します。LightEmissionを1にすることで、発光するようになります。その他の設定項目はグラフで詳細に設定します。グラフの設定は以下の画像を参照してください。
- Size
- Transparency: 0
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/devlox-academy/7fc3973d-f908-4935-8c4f-f916e7ca1067/2c634ef707bf53b558a344e80ff71a7c.png)
- 以上の設定に加えて、例ではDrag(減速の度合い)を5(最大)に設定しました。
以上で斬撃のパーティクルは完成です。
スクリプトの設定
最後に、テストプレイ時に再生できるようにスクリプトを設定しましょう。
1. Partオブジェクトの子にScriptを作成する。
2. 下記のスクリプトをコピー&ペーストする。
3. テストプレイを開始する。
これで作成したエフェクトを再生する事ができます。
最後に
こちらは今回例で作成した斬撃のエフェクトのRBXMファイルです。学習に役立てていただければと思います。