おもちゃラボ

Unityで遊びを作ってます

【Unity】テクスチャ1枚で立体的な雲を作る

雲と言ってもゲームで使う雲には様々な種類の雲があります。地上から見上げるような雲や、コンバットゲームで使われるような平面上に描画される雲、360度どこからでも立体的に見える雲などがあります。

f:id:nn_hokuson:20170828185548j:plain

Unityでは雲の表現にはSKyboxがよく使われるようですが、ここでは360度どこから見ても立体的に見える雲(Volumetric Cloudを作ってみましょう。

立体的な雲(Volumetric Cloud)の作り方

ボリュメトリッククラウドって・・・名前だけは難しそうですが、作るのは全然簡単です(笑)まずは一枚雲のテクスチャを用意します。

見にくいので背景を黒色にしていますけど、実際は透明です。

f:id:nn_hokuson:20170828185607p:plain:w150

これを立体的な雲に仕立て上げるには・・・雲のテクスチャをパーティクルで放出するだけです。パーティクルは基本的にBillboardで表示されるので、どこからみても雲に見えるというわけです。

ビルボードの説明はこちらの記事を参照ください。

nn-hokuson.hatenablog.com

Particle Systemを使って雲を作る

ヒエラルキーウインドウからCreate -> Create Emptyを選択し、空のオブジェクトを作ります。そのオブジェクトにAdd Component -> Effects -> Particle Systemパーティクルコンポーネントをアタッチしてください。

f:id:nn_hokuson:20170828185640p:plain:w350

次にパーティクルの設定は次のように行いました。設定した項目だけ書いています

項目名 設定値
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の欄に雲のテクスチャをドラッグ&ドロップします。

f:id:nn_hokuson:20170828190059p:plain:w350

作成した雲のマテリアルをParticye SystemのRenderer項目の中のMaterialの欄にドラッグ&ドロップして設定します。

f:id:nn_hokuson:20170828185713p:plain:w350

実行して雲の立体感を確かめる

UnityエディタでParticle EffectウインドウのSimulateを押して雲を発生させてください。

f:id:nn_hokuson:20170828185740g:plain:w400

画面をぐるぐると回すと、ちゃんと立体的な雲になっているのがわかりますね〜!

f:id:nn_hokuson:20170828185753g:plain:w400

雲の白さや透明感は、雲マテリアルの色設定から行えます。

f:id:nn_hokuson:20170828185729p:plain:w350

まとめ

ということで、雲のテクスチャ1枚とParticle SystemがあればUnityで立体的な雲を作れることがわかりました!これに環境マッピングを入れたら更にきれいな見た目になるはず・・・これは、また別の記事で〜

f:id:nn_hokuson:20170828191240j:plain