今回、魔法詠唱(Singing)のエフェクト作成方法を紹介します。
※使用ソフトとバージョン
Substance Designer 2017.2.2
Blender 2.79
Unity 2017.3.0f3
制作の流れ
1.イメージ絵作成
地面から回転しながら舞い上がるリング。地面に広がる回転するリング。
2.必要素材をリスト化
ここでは、下記の要素で組み立てることにします。- 舞い上がる回転するリング
- 地面の広がる回転するリング
- 地面の広がる光
- 詠唱プレイヤーの位置に発光する光
- 地面の広がる衝撃波
要素を組み立てるのに必要な素材は、下記のものです。
3.素材作成
i. リングテクスチャー:ring.png
- Substance Designerを起動
- 新規Substance Graph :Empty Graph Name: ring
- Shape作成:横長にぼかした光を作っていきます。 パターン: ガウス
- Transform2D作成:Shapeノードの光を少し下に移動 オフセット:Y -0.38
- Cartesian_to_polar_grayscale作成:極座標でリング状に形状を変える
- Transform2D作成:90度回転させる 回転:角度 90
- Blend作成:2つの半円リングノードを加算ブレンドして、1つのリングにする ブレンドモード:加算(覆い焼き)
- Curve作成:明るさを調整
- ring.pngで書き出し
Size Mode: Absolute
Width: 1024px
Height: 1024px
Format: Relative to parent
Size X:0.59, Y:0.26
ii. 光テクスチャー:par.png
- Substance Designerを起動
- 新規Substance Graph :Empty Graph Name: par Size Mode: Absolute Width: 1024px Height: 1024px Format: Relative to parent
- Shape作成:ぼかした光を作っていきます。 パターン: 放物面
- curve作成:Shapeノードの光の領域をカーブで調整 カーブ具合は、画像を参照
- par.pngで書き出し
iii. 衝撃波テクスチャー:aura.png
- こちらは、適当に作ってしまったので詳細は割愛します!
- aura.pngで書き出し
iv. 衝撃波モデル:aura.fbx
- Blenderを起動
- Cylinderから形状を変える
- aura.fbxで書き出し
4.Unityで組み立てる
Unity Material作成
Create > Material・Material名:ring_add
・Shader:Mobile/Particle/Additive
・テクスチャー:ring.png
Create > Material
・Material名:par_add
・Shader:Mobile/Particle/Additive
・テクスチャー:par.png
Create > Material
・Material名:aura_add
・Shader:Mobile/Particle/Additive
・テクスチャー:aura.png
パーティクルシステムを作成する
親の空のGameObjectが1つと、ParticleSystemを5つ作成します。
eff_singing ← 空のGameObject
L ring_up ← ParticleSystem
L par ← ParticleSystem
L ring_ground ← ParticleSystem
L par_ground ← ParticleSystem
L shock_cone ← ParticleSystem
- eff_singing : 空のGameObject
- ring_up : 舞い上がる回転するリング
- par: 詠唱プレイヤーの位置に発光する光
- ring_ground : 地面の広がる回転するリング
- par_ground : 地面の広がる光
- shock_cone : 地面の広がる衝撃波
i. eff_singing : 空のGameObject 詳細
- 空のGameObjectを作成する Hierarchy上で、右クリック > Create > Create Empty
- 名前をeff_singingと変更する
ii. ring_up : 舞い上がる回転するリング
- Transform : ParticleSystemを作成した際の初期のトランスフォーム Rotation : X -90
- Mainモジュール Start Lifetime: 0.3, 0.5
- Emission Rate over Time : 10
- Shape : Off
- Color over Lifetime Alpha: 255, Location: 0%
- Size over Lifetime time : 0, value : 0.65
- Rotation over Lifetime Angular Velocity : 360
- Renderer Material : ring_add
Start Speed: 10
Start Size: 3
3D Start Rotation : On
X : 50, -50 Y : 50, -50 Z : 0, 0
Start Color: #8DFF56FF
Scaling Mode: Hierarchy
Alpha: 0, Location: 100%
Color: FFFFFF, Location: 0%
Color: FFFFFF, Location: 100%
time : 1, value : 1
Render Alignment : Local
iii. par: 詠唱プレイヤーの位置に発光する光
- Transform : プレイヤー位置の高さに調整 Position : Z 1
- Mainモジュール Start Lifetime: 1
- Emission Rate over Time : 3
- Shape : Off
- Color over Lifetime Alpha: 255, Location: 0%
- Size over Lifetime time : 0, value : 0.1860638
- Renderer Material : par_add
Rotation : X 0
Start Speed: 0
Start Size: 5
Start Color: #8DFF56FF
Scaling Mode: Hierarchy
Alpha: 0, Location: 100%
Color: FFFFFF, Location: 0%
Color: FFFFFF, Location: 100%
time : 1, value : 1
iv. ring_ground : 地面の広がる回転するリング
- Transform : 地面にめり込まないように、少しだけ浮かします Pozition Z : 0.06
- Mainモジュール Start Lifetime: 0.3, 0.4
- Emission Rate over Time : 15
- Shape : Off
- Color over Lifetime Alpha: 0, Location: 0%
- Size over Lifetime Size : 1.5
- Renderer Render Mode : Horizontal Billboard
Start Speed: 0
Start Size: 5
Start Rotation: 0, 360
Start Color: #8DFF56FF
Scaling Mode: Hierarchy
Alpha: 255, Location: 50%
Alpha: 0, Location: 100%
Color: FFFFFF, Location: 0%
Color: FFFFFF, Location: 100%
time : 0, value : 0.2
time : 0.95, value : 0.8
Material : ring_add
v. par_ground : 地面の広がる光
- Transform : 地面にめり込まないように、少しだけ浮かします Pozition Z : 0.06
- Mainモジュール Duration:2.00
- Emission Rate over Time : 3
- Shape : Off
- Color over Lifetime Alpha: 255, Location: 0%
- Size over Lifetime time : 0, value : 0.1860638
- Renderer Render Mode : Horizontal Billboard
Start Lifetime: 1
Start Speed: 0
Start Size: 15
Start Color: #8DFF56FF
Scaling Mode: Hierarchy
Alpha: 0, Location: 100%
Color: FFFFFF, Location: 0%
Color: FFFFFF, Location: 100%
time : 1, value : 1
Material : par_add
vi. shock_cone : 地面の広がる衝撃波
- Mainモジュール Start Lifetime: 0.3, 0.4
- Emission Rate over Time : 7
- Shape : Off
- Color over Lifetime Alpha: 255, Location: 0%
- Size over Lifetime Size X : 1.5
- Rotation over Lifetime Angular Velocity : 360
- Renderer Render Mode : Mesh
Start Speed: 0
Start Size: 1.3, 1.5
Start Color: #8DFF56FF
Scaling Mode: Hierarchy
Alpha: 0, Location: 100%
Color: FFFFFF, Location: 0%
Color: FFFFFF, Location: 100%
time : 0, value : 0.2531646
time : 1, value : 1
Mesh : shock_cone
Material : aura_add
Render Alignment : Local
完成です!
今回も、テクスチャーをすべてSubstance Designerで作成しました。
長文になりましたが最後まで読んでくださいまして、ありがとうございます!
サンプルは、下記にアップしています。
eff_singing_sample.unitypackage
よかったら試してみてください!
こちらの本もよろしくお願いいたします!
Unity ゲームエフェクト入門 Shurikenで作る! ユーザーを引き込む演出手法 (Smart Game Developer)
- 作者: ktk.kumamoto
- 出版社/メーカー: 翔泳社
- 発売日: 2016/04/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る