これからUE4で建築ビジュアライゼーションをやろうかなという方には特に朗報です。UE4.21のアップデートで、太陽位置をシミュレートできる機能がデフォルトで実装されました。
既存ユーザは自前で実装していたと思いますので恩恵は少ないでしょうが、今後の新規プロジェクトから活用するのもよいのではないでしょうか。
V-Ray for Unrealの完全な互換性のために4.19で据え置いていましたが、このことを聞いてアップデートしてみました。
やってみよう
早速やってみましょう。きっと簡単なのだと思います。
1.プラグインの追加
太陽位置機能はプラグインにあります。
メインメニュの[編集]→[Plugins]を選択してプラグインウインドウを開きます。
[Misc]に[Sun Position Calculator]がありますので、チェックONにします。すると再起動を促されるので、指示通りUE4を再起動します。
2.BP_SunPositionを配置
これで下準備が整いました。
コンテンツブラウザで[プラグイン]をチェックONにします。
するとツリービューに項目がめっちゃ沢山増えますので、[Sun Position]を探します。フォルダを選択すると「BP_SunPosition」があります。これを普通のオブジェクトのように適当に置きます。
3.時刻の設定
- LOCATION
位置を指定。例えば東京駅だとだいたい以下のようになります。
Latitude = 35.68
Longitude = 139.76
Time Zone = 9
North Offset = 0補足:北の位置の指定方法はTransform – Rotationではなく[North Offset]で行います。値を変更すると画面のオブジェクトもくるくる回転します。
- DATE
日付。 - TIME
時間。
配置したあところです。もう見たまんまです。超わかりやすいです。
実用編:日当たりシミュレーションを実装する
さてさて大体の方がすぐ試してみたくなるのが日当たりのシミュレーションでしょう。これも簡単です。やってみましょう。
あらかじめDirectional Lightは可動性=ムーバブルにしておいてください。
ブループリントを開きます。
アウトライナから[BP_SunPosition]をブループリントウインドウにドラッグします。
あとは以下のようにしてみてください。仕掛けは簡単で、
- 処理が来たら、今のSecondsをgetして、Secondsに1を足す。
もしSecondsが60になったら、Secondsを0にリセットして、続けてMinutesの処理をする。 - 今のMinutesをgetして、Minutesに1を足す。
Minutesが60になったら、Minutesを0にリセットして、続けてHoursの処理をする。 - 今のHoursをgetして、Hoursに1を足す。
Hoursが24になったら、Hoursを0にリセットする。
実はこれだけでは太陽位置が更新されません。BP_SunPositionからノードを伸ばして、UpdateSunというノードを呼び出し、接続します。
これで全部終わり。
完成
早速PLAYしてみましょう。以下は6月(夏至)、9月(秋)、12月(冬至)の3つで流した例です。動画の6:03からです。
参考サイト
- Unreal Engine 4.21 がリリースされました! – Unreal Engine(公式)
- Geographically Accurate Sun Positioning – UE4 Documentation
お気に召していただけましたか?
購入によるお支払(ご支援)も承っています。お値段は10円からお好きな価格を。
ご注意:返金のご対応はいたしかねます。