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にすると設定したゲームオブジェクトからの設定した半径の球内に風を吹かせる事が出来ます。

Wind Zoneの風が適用される木

Wind Zoneの風が適用される木はUnityのTreeエディターで作成した木かソフトウェアのSpeedTreeを使用して作成した木のみです。

Unityのツールで自分で木を作ってTerrainで使えるようにする
Unityの木を作成する事が出来るツールを使って自分で木を作成していきます。自分で作成した木にコライダを設定しTerrainで使う事も出来ます。

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

風3

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

タイトルとURLをコピーしました