どうも、チャーさんです。
この記事では、Unityで竜巻のエフェクトを作る方法に
ついてお話しします。
この記事を読めばあなたは、Unityで竜巻エフェクトを
作れますし、竜巻用のテクスチャ画像、メッシュの
作り方もわかるようになります。
ですが、この記事を読まなければ、結構苦労すると
思います。意外と作り方を見つけるのが難しいので。
ということで、早速本題に入っていきます。
動画での説明はこちら
Unityでの竜巻エフェクトの作り方
Unityで竜巻のエフェクトを作る方法は、以下の手順です。
1、竜巻用のテクスチャ画像を作る
2、竜巻用のメッシュ(3Dモデルのことです)
3、テクスチャとメッシュをUnityで使えるようにセットする
4、パーティクルシステムで竜巻を作る
この順序を踏めば竜巻エフェクトを作ることが
できます。
それでは1つずつ順に説明します。
竜巻用のテクスチャ画像を作る
まず竜巻用のテクスチャ画像を作るですが、
そもそもテクスチャ画像というのは、3Dモデルに
貼り付けるための画像です。
いつもあなたはUnityのパーティクルシステムで光の模様を
飛ばしてると思いますが、あれも言ってしまえば、
ああいう模様の画像を板状の3Dモデルに貼り付けて
飛ばしてるだけなのです。
で竜巻用のテクスチャがUnityでデフォルトで用意
されてるやつでは表現できないので、作る必要があります。
とはいえ、作り方は簡単です。
作るためにはペイントソフトが必要ですが、
無料でやるならBlenderが簡単に用意できます。
ということでBlenderを開いてください。
持っていない場合はBlender公式とグーグルで検索して
ダウンロードしましょう。
またお絵描きソフト持っている場合は、それを開いてください。
ここからはBlenderの手順で話を進めます。
でBlenderを開いたら、普通にGeneralを押して
ください。
最初に表示されるキューブは使わないので
消しておいてください。
次にBlenderの画面上部にTexture Paintという
のがあるので、そちらをクリックしましょう。
ここでテクスチャ画像を作ることができます。
で、Texture paintの画面を開けたら、
Newというボタンがあるので、そちらをクリックしましょう。
その際画像のサイズを設定することになりますが、
高さと横幅それぞれ32pxでOKです。
すると真っ黒な画像が表示されます。
次に筆の設定を少し変えます。
radiusという筆の半径が50pxとでかくなってるので
これを1pxまで小さくしてください。
また、その横にstrengthという項目が
あるので、こちらを0.1まで下げてください。
さらに、いま筆の色は黒色になってるので、
これを白色にしてください。
これで筆の準備は完了です。
次に、表示されてる真っ黒な画像が小さいと
思うのでマウスホイールをスクロールして拡大して
その黒い画像の上で、左クリックを押しながら、
左右に往復させてください。
イメージとしては風切りな感じです。
こんな感じになればいいです。
それができたら、竜巻のテクスチャ画像は完成です。
テクスチャ画像を作るのは割と簡単ですよね。
次に作っていただいたテクスチャ画像を保存
する必要があるので、Image*という項目があるので
そこをクリックし、saveボタンを押して保存します。
あなたの好きなフォルダにtornado.pngという名前で
保存してください。
これにて竜巻のテクスチャ画像パートは完了です。
次に、
竜巻用のメッシュを作る
パートです。
まずメッシュとはなんやねん?というおさらいをすると
要は3Dモデルのことでして、厳密にいうなら、
ポリゴンの集まったやつをメッシュといいます。
つまり3Dモデルです。
で、竜巻用のメッシュの作りかたですが、
まずはblenderのadd>mesh > circleをクリックして、
circleを追加しましょう。
次に、編集モードに切り替えて、
頂点モードの状態で、circleの下半分を範囲選択して
削除してください。
すると半円のような形が残ります。
その状態でAdd modifierをクリックして、
screw(スクリュー)というのがあるので、
それをクリックしてください。
すると、輪っかみたいな形のモデルができ上がります。
そしてこの状態ではまだ竜巻メッシュではないので
編集を加えます。
まずは、Screwを1.1mまで増やしてください。
さらに、Iterationというのを2まで増やしてください。
さらにAngleを360->310にしてください。
すると、渦巻き状のメッシュが出来上がります。
これが竜巻用のメッシュになります。
こちらも保存します。
で保存する前に、blenderの右上の方を
みていただきcircleとなってる名前をtorando
へと名前を変えておいてください。
ここで設定した名前がUnityでメッシュとして使用
するときに、表示される名前になります。
でメッシュを保存するには、
file > export > fbxで保存する必要があります。
また保存する際は、メッシュのみをエクスポートするように
Object typeをmeshを選択し、
同時にapply transformというとこもチェックをつけて好きな
フォルダに保存してください。
これをしないとblenderとunityの座標系が違うので
メッシュを回転させたりメッシュのサイズを大きく
しないといけなくなります。
テクスチャとメッシュをUnityで使えるようにする
次に、竜巻用に作っていただいたテクスチャ画像と
メッシュをUnityのパーティクルシステムで使えるようにします。
まずはUnityを開いていただいて、さらに
テクスチャ画像とメッシュを保存したフォルダを開いて
ください。
その後、UnityのAssetのとこにテクスチャ画像と
fbxをドラッグアンドドロップしましょう。
これでUnityに2つを持ってくることができましたが、
このままではパーティクルシステムでは使えません。
なので次の作業として、
まずはAssetの中のメッシュを選択してください。
そしてそのメッシュのインスペクター画面を
みてください。
そこに、Locationというのがあるので、そちらを
クリックしてUse External Material (Legacy)
に切り替えておいてください。
これによりパーティクルシステムのメッシュ選択欄に
表示されるようになります。
逆にいうとこの設定しないと出ません。
次にテクスチャ画像ですが、このままですと
黒い部分がそのままパーティクルシステムで
表示されて見た目がよくないので、
同じくAssetの中のテクスチャ画像を選択し、
インスペクター画面のAlpha Sourceという項目を
From gray scaleに変更してください。
これにより、黒い部分を透明にすることができます。
さらにそれができたら次は、
Assetの中で右クリックをクリックし、
create > materialを選択してください。
Materialには名前でtornadoMaterialと名付けてください。
さらにMaterialのインスペクター画面で、
shaderをクリックし、standardから
mobile > particle > Additiveに変更し、出てきたスロットに、
作成したテクスチャ画像をドラッグアンドドロップし
設定してあげましょう。これによりようやく下準備が
整いました。
竜巻エフェクトを作る
ではここからは、竜巻エフェクトを作っていきます。
ということでパーティクルシステムを出してください。
HierarchyでEffects > particle systemで出ます。
そしてまずは、早速テクスチャ画像とメッシュを設定していきます。
なのでRendererモジュールを開いていただきたいので
下の方にスクロールし、
Rendererをクリックしてください。
そこのMaterialのところで右のまるいボタンを
クリックしDefault-ParticleSystem から
先ほど作成したMaterialに変えてください。
先ほどMaterialにtornadoという名前をつけたので
それで検索すると出てきます。
これでマテリアルはセットできましたので、次はメッシュです。
Rendere Modeというのがあるので、
BillboardというのからMeshというのに切り替えてください。
そして下に出たCubeのところの右のまるいボタンを
クリックし、同じくtornadoと検索し、
作成したメッシュを選びましょう。
これにて、テクスチャ画像とメッシュがセット
されました。
次は、形を整えていきます。
まずはShapeのところのチェックを外して、
まっすぐ上に飛ぶようにしましょう。
それから、
start life timeとstart speedとstart size
Random Between Constantsにしてください。
start life timeとstart speedは数値を1.2 と2に設定しましょう。
start sizeは1.5と2.5にしてください。
さらに、色がこのままだと竜巻ぽくないので、
start colorをクリックし、白色から薄緑色を選択し
風っぽい色を選択してください。
ここまできたらさらに形状を竜巻に近づけるために、
size over timeモジュールにチェックをつけてください。
すると下がすぼみ竜巻ぽい形になります。
また風の勢いが足りないと思いますので、Emission
をクリックしRate over timeを一気に100まで
あげておいてください。
そして後は不規則性を加えて、より竜巻に近づけます。
Rotation over lifetimeモジュールにチェックをつけ、
separate axisをクリックし、
さらに右の下矢印ボタンをクリックし、
random between two constantsをクリックして
ください。
そしてそれぞれx,y,zに-300から300を入力してください。
ここまでやると動きにかなりに不規則性が出て、
より竜巻のようなランダムな風の動きを表現することができました。
はい、ということで長かったですが、これで
竜巻エフェクトの完成です。
後はemissionの数を増やしたりとか、
size overtimeで形状を変えてみたり色々あなたの
お好みの竜巻を作っていきましょう。
まとめ
ということでまとめに入ります。
Unityで竜巻エフェクトの作り方は、いかです。
1、竜巻用のテクスチャ画像を作る
2、竜巻用のメッシュ(3Dモデルのことです)
3、テクスチャとメッシュをUnityで使えるようにセットする
4、パーティクルシステムで竜巻を作る
これらをやれば、竜巻エフェクトを作れるので
ぜひやってみてください。
長かったですが読んでいただきありがとうございました。
チャーさん