今回はアセットの紹介をしていきます。
紹介するのはEnviro Lite - Sky and Weather。
空と天気を構築するアセットです。


お得なセール情報(終了しました)
現在アセットストアでは、プロトタイピング向けアセットのバンドルを発売中!
今回紹介する「Enviro Lite - Sky and Weather」もバンドルに含まれています。
金額に応じてアセットが異なりますが、オススメは全てのアセットが含まれた$21.99コースです。
通常の50%OFFセールで購入するよりも遥かに安く購入できるので、
気になるアセットがある場合は買っちゃいましょう!



どんなアセット?
動的で軽量な空と天気を構築できるアセットです。
非常に簡単なセットアップ:
新しいマネージャーコンポーネントを使用すると、シーンにEnviroLiteを簡単にセットアップできます。
プロファイルシステム:
EnviroのLiteプロファイルシステムを使用すると、空をできるだけ簡単に調整できます。実行時に設定を微調整し、プロファイルに保存します。設計および実行時にプロファイルをロードします。シーンごとに異なるプロファイルを作成するか、構成を他のユーザーと共有します。
昼夜サイクル:
Enviro Liteは、現実的な昼夜サイクルをサポートします。緯度と経度による完全な位置サポートを備えた正しい太陽と月の位置。システム時刻を使用するか、リアルタイムの分に基づいてenviroに時刻を更新させるかを選択できます。
スカイボックス:
Enviro Liteには、見栄えのするダイナミックな空を実現するためのライトスカイボックスシェーダーが含まれています。地平線用と上空用の2つのグラデーションしかないため、簡単に調整できます。いくつかのミー散乱と一緒に、すべてのプラットフォームでサポートされ、非常に軽量なリアルな空を手に入れることができます。
点灯:
Enviro Liteは、太陽の高度に基づいてシーンをリアルに照らします。エディターでカーブとグラデーションを変更することで、光の強度と色を完全に制御できます。もちろん、さまざまな環境光モードから選択することもできます。
季節:
Enviro Liteは季節を変更し、Unity地形のゲームオブジェクト、マテリアル、テクスチャを交換するためのコンポーネントを取得します。あなたは現実的な設定に制限されていません!各シーズンの開始日と終了日を設定できます。Enviroは、季節、時刻、現在の天気に基づいた温度シミュレーションもサポートしています。
雲:
ダイナミックな空のための美しいパーティクルベースのスカイボックスクラウド。これらの雲は速く、見栄えがします。Enviro Liteは、スカイボックスで直接レンダリングされた巻雲もサポートしています。3層の雲を使用すると、プロジェクトに驚くほどダイナミックな空を見ることができます。
霧:
見事な霧が必要ですか?Enviro Liteには、距離、高さ、スカイフォグをサポートする高度な光散乱フォグイメージエフェクトが含まれています。透明な素材に霧が必要ですか?問題ありません。数行のコードで、独自の透明シェーダーを変更して正しく曇らせることができます。そして、あなたが始めるために、いくつかのパーティクルシェーダーと透明シェーダーがすでに含まれています!ただし、パフォーマンス上の理由から、特にモバイルでは、Unityフォワードフォグを使用することもできます。霧の色は空の地平線に一致し、リアルでダイナミックな外観になります。
天気:
Enviro Liteには、非常に強力な気象システムが含まれています。独自の天気タイプを作成して、光、空、霧、雲を運転することができます。Enviroは、あらゆる種類の統一手裏剣パーティクルエフェクトをサポートしており、考えられるあらゆる天候効果を自由に作成できます。これには、晴天、曇り、雨、嵐、雪、霧の天気など、11種類の既成の天気が含まれます。雷雨を有効にし、スムーズな遷移で天気ごとに異なる周囲音と天気音を選択できます。
ネットワーキング:
Enviro Liteは、すぐに使用できるUNet、Mirror、およびPhotonをサポートします。それはあなたのすべてのプレーヤーと時間と天気を同期させます。Enviro Liteには、ヘッドレスサーバーが時間と天気のみを計算し、それ以上は計算しない最小モードもあります。
Enviro Liteは、マルチパスおよびシングルパス/インスタンス化された立体視レンダリングをサポートします。OculusRiftでテスト済み。
多数のサードパーティアセットとの連携機能があるのも大きな特徴ですね。
Enviroには通常版とLite版の2バージョンが存在します。今回紹介するのはLite版です。
通常版はPC・コンソール向け、Lite版はモバイル向けになっています。
通常版にはLite版が含まれているので、持っている方はLite版を購入する必要はありません。
開発環境
Unity2020.3.14f1
Universal RP ver 10.5.1
Enviro Lite - Sky and Weather ver2.3.3
今回はURPプロジェクトで使用しますが、Built-inでも同じ手順で動作確認済みです。
インポートの確認
アセットインポート完了時はこんな感じです。

サンプルシーンの確認
Assets/Enviro - Sky and Weather/Samples/Sceneにサンプルシーンがあります。
一人称視点で動き回れるTerrainのあるシーンです。

右側のUIから、時間・天気・ビジュアルの品質を設定できます

デフォルトで用意されている天気のプリセットは10種類。
雨音や風の音など環境音もあります。


実際に試してみる
一から始めて実際に雨を降らせてみます。
初期設定
シーンに「Enviro Sky Manager」を配置します。
UnityメニューバーのAssets/Create/Enviro/Enviro Sky Managerから、
EnviroSkyMgrコンポーネントがアタッチされたゲームオブジェクトが生成されます。


これは、Enviroインスタンス(以下インスタンス)の管理、レンダリングパイプラインの切り替え、サードパーティのサポートを行うマネージャークラスです。

URPの設定
※URPプロジェクトのみ
Enviro Sky MgrのActivate URP Supportボタンを押します。

Scriptのコンパイル後、Enviro Sky MgrのCurrent Render PipelineがURPになっていれば完了です。

ドキュメントではURP Assetの設定など書いてありますが必要なさそう(そもそもURP Assetsがない)
雨を降らせる
インスタンスの作成
Enviro Sky MgrのCreate Lite Instanceからインスタンスを作成します。
インスタンスはビジュアルの構成、時間や天気の制御、各機能のオンオフを設定できます。

インスタンスはEnviro Sky Mgrの子オブジェクトに作成されます。![]()
作成後は非アクティブ状態になっているので、Enviro Sky MgrからActiveボタンを押します。

この時、PlayerかCameraの設定がされていないと警告がでます、
Auto Assignを押すと自動で設定してくれるます。

これで空が表示され太陽も動いているのが確認できます。

天気の設定
インスタンスのShowから、インスタンスオブジェクトのInspectorを開きます。

Enviro Sky LiteのWeather Controls/Weather/Start Weather Presetで最初の天気を設定できます。

天気はプリセットとして設定でき最初からいくつか用意されています。(自作も可能)
今回は雨を降らせたいのでHeavy Rainを設定します。

これで雨が降るようになりました。

天気プリセットを自作してみる
プリセットの作成
最初から用意されている天気プリセットを使いましたが、これを自作してみます。
今回は「天気雨」を作ってみます。
Projectビューで右クリックからCreate/Enviro/WeatherPresetを選択、新しいプリセットが作成されます。

名前を「Sun Shower」に変更。
名前はインスタンス側から識別するのに使われます。

雨のエフェクト
雨が降るようにします。雨のエフェクトはEnviroに含まれているものをそのまま使います。
個別に雨用エフェクトを持っている場合はそれを設定してもいいですね。
General Config/Paricle EffectsのAddを押し、「Medium Rain HQ」をアサイン。
上から降るようにしたいので、PositionとRotaionをそれぞれ設定

雲の設定
天気雨なので雲は出さないようにしますが、デフォルトで快晴状態なのでそのままでOK。
設定自体はプリセットのClouds Configsから行えます。

雨音の設定
プリセットのAudio Configsから音の設定ができます。
Weather Soundeffectに「sfx_enviro_heavyrain」を設定。

プリセットの設定
作成したプリセットをインスタンスに設定します。
インスタンスオブジェクトにあるWeather ZoneコンポーネントのWeather Configs/Weather PresetsにSun Showerを追加します。

最後にEnviro Sky LiteのWeather Controls/Weather/Start Weather PresetにSun Showerを設定します。

これで完成。
実行してみると雲がない快晴状態で雨が降っているのが確認できます。
(晴れているとわかりにくいので夕方にしています)

パラメータに関しては既存の天気プリセットを参考にするとよさそうです。
プリセットはAssets/Enviro - Sky and Weather/Core/Profiles/Weather Presetsにあります。

時間を調整する
インスタンスのEnviro Sky Lite/Time and Location Controlsから時間を設定できます。

Progress TimeをNoneにすると時間の流れが止まり、System Timeにすると現実の時間が反映されます。
まとめ
・Enviro Lite - Sky and Weatherは空と天気を構築できるアセット
・インスタンスのパラメータとプリセットの設定でノーコーディングで環境を構築できる
以上です。
参考資料
他のアセットの紹介記事はこちら↓
同じ天候操作系アセット「Weather Maker」も解説しています(やや古い)
※本記事にはAssetStoreアフィリエイトリンクが含まれています。
他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。
