ゲーム開発奮闘記

Unity・エフェクト・アプリ開発に関係した記事を書いています

Unity ParticleSystem Lesson:爆発

今回、爆発のエフェクト作成方法を紹介したいと思います。
f:id:KTK_kumamoto:20171227213956g:plain

※使用ソフトとバージョン
PhotoShop CC2015
Unity 2017.3.0f3


ここではテクスチャーを4枚使います。
1.eff_par.pngの円状の光テクスチャー
2.eff_ring.pngのリング状テクスチャー
3.eff_spark.pngの衝撃光テクスチャー
4.eff_smoke.pngの煙テクスチャー 
※4.については、Unity ParticleSystem Lesson:舞い上がる煙の記事で作成方法を紹介

PhotoShopでテクスチャー作成:eff_par.pngの円状の光テクスチャー

1.テクスチャー作成方法

・512x512 サイズで新規作成
f:id:KTK_kumamoto:20171219171812j:plain

・キャンバスの中心に上下のガイドを引く
f:id:KTK_kumamoto:20171226203014j:plain

・中心から円形グラデーションで白から黒の円を作成
f:id:KTK_kumamoto:20171219172501j:plain

pngで保存(eff_par.png 名前は任意に)
f:id:KTK_kumamoto:20171227211109p:plain

PhotoShopでテクスチャー作成:eff_ring.pngのリング状テクスチャー

1.テクスチャー作成方法

・512x512 サイズで新規作成
f:id:KTK_kumamoto:20171219171812j:plain

・下から上へグラデーションを作成
Color:000000 位置:2%
Color:ffffff 位置:4%
Color:4a4a4a 位置:5%
Color:000000 位置:42%
f:id:KTK_kumamoto:20171227211819j:plain
f:id:KTK_kumamoto:20171227211632j:plain
f:id:KTK_kumamoto:20171227212217j:plain

・フィルタ>変形>極座標
f:id:KTK_kumamoto:20171227212356j:plain
f:id:KTK_kumamoto:20171227212458j:plain

pngで保存(eff_ring.png 名前は任意に)
f:id:KTK_kumamoto:20171227212548p:plain

PhotoShopでテクスチャー作成:eff_spark.pngの衝撃光テクスチャー

1.テクスチャー作成方法

・512x512 サイズで新規作成
f:id:KTK_kumamoto:20171219171812j:plain

・下から上へグラデーションを作成
f:id:KTK_kumamoto:20171227214323j:plain

・フィルタ>変形>波形
波数:10
波長:最小:10, 最大37
振幅:最小:5, 最大35
比率:水平:100%, 垂直100%
短形波
f:id:KTK_kumamoto:20171227214503j:plain
f:id:KTK_kumamoto:20171227214627j:plain

・フィルタ>変形>極座標
f:id:KTK_kumamoto:20171227212356j:plain
f:id:KTK_kumamoto:20171227214934j:plain

・調整レイヤーを新規作成:トーンカーブ
カーブを編集して明るさを調整する
入力:35, 出力: 0
入力:106, 出力: 18
入力:157, 出力: 81
入力:205, 出力:255
f:id:KTK_kumamoto:20171227215258j:plain

pngで保存(eff_spark.png 名前は任意に)
f:id:KTK_kumamoto:20171227215554p:plain

④Unityでエフェクト作成

1.Unity Material作成

Project Windowで、Create > Material
 ・Material名をeff_smoke_alphaと変える
  ShaderをMobile/Particle/Alpha Blendedに設定
  ①で作成したeff_smoke.png テクスチャーを割り当てる。
f:id:KTK_kumamoto:20171227220515j:plain
 ・Material名をeff_smoke_addと変える
  ShaderをMobile/Particle/Additiveに設定
  ①で作成したeff_smoke.png テクスチャーを割り当てる。
f:id:KTK_kumamoto:20171227220452j:plain
 ・Material名をeff_par_addと変える
  ShaderをMobile/Particle/Additiveに設定
  ①で作成したeff_par.png テクスチャーを割り当てる。
f:id:KTK_kumamoto:20171227220403j:plain
 ・Material名をeff_ring_addと変える
  ShaderをMobile/Particle/Additiveに設定
  ①で作成したeff_ring.png テクスチャーを割り当てる。
f:id:KTK_kumamoto:20171227220431j:plain
 ・Material名をeff_spark_addと変える
  ShaderをMobile/Particle/Additiveに設定
  ①で作成したeff_spark.png テクスチャーを割り当てる。
f:id:KTK_kumamoto:20171227220535j:plain

2.Unity Particle System設定

パーティクルシステムを作成する

ParticleSystemを8つ作成します。
eff_burst_spark
L eff_burst_flash
L eff_burst_ring
L eff_burst_smoke_add
L eff_burst_smoke_add2
L eff_burst_smoke_alpha
L eff_burst_smoke_alpha2
L eff_burst_par_add


親:eff_burst_sparkの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Lifetime: 0.15
Start Speed: 0
Start Size: 28
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: FF911CFF
f:id:KTK_kumamoto:20171227221729j:plain

■ Emission:Rate over Time 0, Bursts:Time 0.000 Count 1
f:id:KTK_kumamoto:20171227222246j:plain

■ Shape: Off

■ Color over Lifetime:
Alpha:255, Location: 0%
Alpha:107, Location:12.1%
Alpha: 0, Location:100%
Color:FFFFFF, Location:0%
Color:FF0000, Location:100%
f:id:KTK_kumamoto:20171227222426j:plain
f:id:KTK_kumamoto:20171227222335j:plain

■ Size over Lifetime:
time:0 value:0.7938461
time:1 value:0
■ Renderer
Material : eff_spark_add
Sorting Fudge:-10
Max Particle Size 5
f:id:KTK_kumamoto:20171227222458j:plain


子:eff_burst_flashの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Lifetime: 0.15
Start Speed: 0
Start Size: 30
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: FF911CFF
f:id:KTK_kumamoto:20171228212043j:plain

■ Emission:Rate over Time 0, Bursts:Time 0.000 Count 1
f:id:KTK_kumamoto:20171227222246j:plain

■ Shape: Off

■ Color over Lifetime:
Alpha:255, Location: 0%
Alpha:107, Location:12.1%
Alpha: 0, Location:100%
Color:FFFFFF, Location:0%
Color:FF0000, Location:100%
f:id:KTK_kumamoto:20171227222426j:plain
f:id:KTK_kumamoto:20171227222335j:plain

■ Size over Lifetime:
time:0 value:0.7938461
time:1 value:0
■ Renderer
Material : eff_par_add
Sorting Fudge:-10
Max Particle Size 5
f:id:KTK_kumamoto:20171228212157j:plain


子:eff_burst_ringの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 0.3
Start Speed: 0
Start Size: 15
Start Rotation: 0
Start Color: 9A0000FF
f:id:KTK_kumamoto:20171228212726j:plain

■ Emission:Rate over Time 0, Bursts:Time 0.000 Count 1
f:id:KTK_kumamoto:20171227222246j:plain

■ Shape: Off

■ Color over Lifetime:
Alpha:255, Location: 0%
Alpha: 68, Location:15.6%
Alpha: 0, Location:100%
Color:FFFFFF, Location:0%
Color:FFFFFF, Location:100%
f:id:KTK_kumamoto:20171228213027j:plain
f:id:KTK_kumamoto:20171228213231j:plain

■ Size over Lifetime:
time:0 value:0.618468
time:0.3070831 value:0.9015369
time:1 value:1
■ Renderer
Material : eff_ring_add
Sorting Fudge:0
Max Particle Size 5
f:id:KTK_kumamoto:20171228213359j:plain


子:eff_burst_smoke_addの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 0.6, 1.5 (Random Between Tow Constants)
Start Speed: 5, 25 (Random Between Tow Constants)
Start Size: 10, 13 (Random Between Tow Constants)
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: FFFFFFFF
Gravity Modifier: -1, -0.2 (Random Between Tow Constants)
f:id:KTK_kumamoto:20171228213649j:plain

■ Emission:
Rate over Time 0
Bursts:Time 0.000 Count 30
Bursts:Time 0.050 Count 10
■ Shape
Shape: Sphere
Radius:0.01
Radius Thickness:1
f:id:KTK_kumamoto:20171228214138j:plain

■ Limit Velocity over Lifetime
Speed:右下下がりのCurve
time:0 value:1
time:1 value:0
Dampen:0.1
f:id:KTK_kumamoto:20171228214449j:plain

■ Color over Lifetime:
Alpha:255, Location:16.2%
Alpha: 0, Location:100%
Color:FFFFFF, Location:0%
Color:FFFF00, Location:4.4%
Color:FF6F00, Location:8.2%
Color:FF0000, Location:100%
f:id:KTK_kumamoto:20171228214722j:plain
f:id:KTK_kumamoto:20171228214657j:plain

■ Size over Lifetime:
time:0 value:0.7015381
time:1 value:1
■ Rotation over Lifetime
Angular Velocity: -90, 90 (Random Between Tow Constants)
■ Renderer
Material : eff_smoke_add
Sort Mode: By Distance
Sorting Fudge:0
Max Particle Size 0.5
f:id:KTK_kumamoto:20171228215050j:plain


子:eff_burst_smoke_add2の下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 0.6, 0.5 (Random Between Tow Constants)
Start Speed: 5, 20 (Random Between Tow Constants)
Start Size: 15, 10 (Random Between Tow Constants)
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: FFFFFFFF
Gravity Modifier: -1, -0.2 (Random Between Tow Constants)
f:id:KTK_kumamoto:20171228220052j:plain

■ Emission:
Rate over Time 0
Bursts:Time 0.000 Count 5
Bursts:Time 0.050 Count 3
■ Shape
Shape: Sphere
Radius:0.01
Radius Thickness:1
f:id:KTK_kumamoto:20171228220420j:plain

■ Limit Velocity over Lifetime
Speed:右下下がりのCurve
time:0 value:1
time:1 value:0
Dampen:0.1
f:id:KTK_kumamoto:20171228214449j:plain

■ Color over Lifetime:
Alpha:255, Location:16.2%
Alpha: 0, Location:100%
Color:FFFFFF, Location:0%
Color:FFFF00, Location:4.4%
Color:FF6F00, Location:8.2%
Color:FF0000, Location:100%
f:id:KTK_kumamoto:20171228214722j:plain
f:id:KTK_kumamoto:20171228214657j:plain

■ Size over Lifetime:
time:0 value:0.7015381
time:1 value:1
■ Rotation over Lifetime
Angular Velocity: -90, 90 (Random Between Tow Constants)
■ Renderer
Material : eff_smoke_add
Sort Mode: By Distance
Sorting Fudge:-10
Max Particle Size 0.5
f:id:KTK_kumamoto:20171228220738j:plain


子:eff_burst_smoke_alphaの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 1, 2 (Random Between Tow Constants)
Start Speed: 5, 50 (Random Between Tow Constants)
Start Size: 15, 13 (Random Between Tow Constants)
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: B6B6B6FF, 838383FF (Random Between Tow Colors)
Gravity Modifier: -3, -1 (Random Between Tow Constants)
f:id:KTK_kumamoto:20171228221640j:plain

■ Emission:
Rate over Time 0
Bursts:Time 0.000 Count 20
Bursts:Time 0.050 Count 10
Bursts:Time 0.100 Count 10
■ Shape
Shape: Sphere
Radius:1
Radius Thickness:1
f:id:KTK_kumamoto:20171228222015j:plain

■ Limit Velocity over Lifetime
Speed:右下下がりのCurve
time:0 value:1
time:1 value:0
Dampen:0.2
f:id:KTK_kumamoto:20171228222156j:plain

■ Color over Lifetime:
Alpha:255, Location:17.4%
Alpha: 0, Location:100%
Color:C9C9C9, Location:0%
Color:000000, Location:55.0%
f:id:KTK_kumamoto:20171228222311j:plain
f:id:KTK_kumamoto:20171228222347j:plain

■ Size over Lifetime:
time:0 value:0.7015381
time:1 value:1
■ Rotation over Lifetime
Angular Velocity: -45, 45 (Random Between Tow Constants)
■ Renderer
Material : eff_smoke_alpha
Sort Mode: None
Sorting Fudge:50
Max Particle Size 0.5
f:id:KTK_kumamoto:20171228222559j:plain


子:eff_burst_smoke_alpha2の下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 1, 2 (Random Between Tow Constants)
Start Speed: 5, 50 (Random Between Tow Constants)
Start Size: 15, 13 (Random Between Tow Constants)
Start Rotation: 0, 360 (Random Between Tow Constants)
Start Color: EAE9E9FF, A1A1A1FF (Random Between Tow Colors)
Gravity Modifier: -3, -1 (Random Between Tow Constants)
f:id:KTK_kumamoto:20171228222858j:plain

■ Emission:
Rate over Time 0
Bursts:Time 0.000 Count 10
■ Shape
Shape: Sphere
Radius:1
Radius Thickness:1
f:id:KTK_kumamoto:20171228223010j:plain

■ Limit Velocity over Lifetime
Speed:右下下がりのCurve
time:0 value:1
time:1 value:0
Dampen:0.2
f:id:KTK_kumamoto:20171228222156j:plain

■ Color over Lifetime:
Alpha: 0, Location: 0%
Alpha:255, Location:11.2%
Alpha: 0, Location:100%
Color:FF4F00, Location:0%
Color:989898, Location:17.9%
Color:000000, Location:55.0%
f:id:KTK_kumamoto:20171228223321j:plain
f:id:KTK_kumamoto:20171228223419j:plain

■ Size over Lifetime:
time:0 value:0.7015381
time:1 value:1
■ Rotation over Lifetime
Angular Velocity: -45, 45 (Random Between Tow Constants)
■ Renderer
Material : eff_smoke_alpha
Sort Mode: By Distance
Sorting Fudge: -10
Max Particle Size 0.5
f:id:KTK_kumamoto:20171228223840j:plain


子:eff_burst_par_addの下記が設定です。
■ Mainモジュール
Duration:2.00
Start Delay: 0.05
Start Lifetime: 0.5, 1 (Random Between Tow Constants)
Start Speed: 30, 80 (Random Between Tow Constants)
Start Size: 0.1, 0.2 (Random Between Tow Constants)
Start Rotation: 0
Start Color: FF4F4FFF
Gravity Modifier: 3
f:id:KTK_kumamoto:20171228224220j:plain

■ Emission:
Rate over Time 0
Bursts:Time 0.000 Count 80
■ Shape
Shape: Sphere
Radius:1
Radius Thickness:1
■ Limit Velocity over Lifetime
Speed:1
Dampen:0.1
f:id:KTK_kumamoto:20171228224327j:plain

■ Size over Lifetime:
time:0 value:1
time:1 value:0
■ Renderer
Render Mode: Stretched Billboard
Length Scale : 5
Material : eff_par_add
Sort Mode: None
Sorting Fudge: 0
Max Particle Size 0.5
f:id:KTK_kumamoto:20171228224548j:plain

3.完成!

f:id:KTK_kumamoto:20171227213956g:plain

結構長い記事になりました。
最後まで読んでくださいまして、ありがとうございます!

サンプルは、下記にアップしています。
GitHub
GitHub:eff_burst_sample.unitypackage
よかったら試してみてください!