雲と言ってもゲームで使う雲には様々な種類の雲があります。地上から見上げるような雲や、コンバットゲームで使われるような平面上に描画される雲、360度どこからでも立体的に見える雲などがあります。
Unityでは雲の表現にはSKyboxがよく使われるようですが、ここでは360度どこから見ても立体的に見える雲(Volumetric Cloudを作ってみましょう。
立体的な雲(Volumetric Cloud)の作り方
ボリュメトリッククラウドって・・・名前だけは難しそうですが、作るのは全然簡単です(笑)まずは一枚雲のテクスチャを用意します。
見にくいので背景を黒色にしていますけど、実際は透明です。
これを立体的な雲に仕立て上げるには・・・雲のテクスチャをパーティクルで放出するだけです。パーティクルは基本的にBillboardで表示されるので、どこからみても雲に見えるというわけです。
ビルボードの説明はこちらの記事を参照ください。
Particle Systemを使って雲を作る
ヒエラルキーウインドウからCreate -> Create Empty
を選択し、空のオブジェクトを作ります。そのオブジェクトにAdd Component -> Effects -> Particle System
でパーティクルコンポーネントをアタッチしてください。
次にパーティクルの設定は次のように行いました。設定した項目だけ書いています
項目名 | 設定値 |
---|---|
Start Lifetime | 1000 |
Start Size | 40, 80 |
Start Speed | 0 |
Start Rotation | -180, 180 |
Max Particles | 100 |
Rate over Time | 25 |
Shape | Sphere |
Sort Mode(Renderer) | By Distance |
雲のマテリアルを作る
プロジェクトウィンドウで右クリックし、Create → Material
を選択します。作成したマテリアルのシェーダを「Particles/Alpha Blended」に変更してください。Particle Textureの欄に雲のテクスチャをドラッグ&ドロップします。
作成した雲のマテリアルをParticye SystemのRenderer項目の中のMaterialの欄にドラッグ&ドロップして設定します。
実行して雲の立体感を確かめる
UnityエディタでParticle EffectウインドウのSimulateを押して雲を発生させてください。
画面をぐるぐると回すと、ちゃんと立体的な雲になっているのがわかりますね〜!
雲の白さや透明感は、雲マテリアルの色設定から行えます。
まとめ
ということで、雲のテクスチャ1枚とParticle SystemがあればUnityで立体的な雲を作れることがわかりました!これに環境マッピングを入れたら更にきれいな見た目になるはず・・・これは、また別の記事で〜