Unityで木が風になびく機能を追加する

今回はUnityで木が風になびく機能を追加します。

Terrainで追加した草はTerrainのWind Setting for Grassで設定する事が出来ますが、
木には風の設定が出来ません。

草は揺れているのに木の枝や葉が揺れないのは少し違和感が生じてしまいます。
そこで今回は木にも風の設定をしたいと思います。

これは新しくスクリプトを組んだりする必要がなく、元々機能として用意されているのでそれを使います。

スポンサーリンク

風を吹かせる機能を追加する

風の元となるゲームオブジェクトにAdd Component→Miscellaneous→Wind Zoneを選択します。

風1

デフォルトの設定では上のようになっています。
ModeをDirectionalとすると、ゲームの世界全体に風を吹かせます。
全体に風を吹かせたい場合は全体を管理するゲームオブジェクトに設定するとわかりやすいと思います。

Mainはゆっくりと変化する風力
Turbulenceは急激に変化する風力
Pulse Magnitudeは時間の経過で変化する度合い
Pulse Frequencyは時間の経過で変化する頻度

みたいです。

ここら辺は調整しながらいい設定を見つける必要がありそうですね。

風2

ModeをSphericalにすると設定したゲームオブジェクトからの設定した半径の円内に風を吹かせる事が出来ます。

それではUnityの実行ボタンを押して確認してみましょう。

風3

風で木の枝や葉がなびくようになりました。
ずいぶんリアルになりましたね。