UE4のSun Position Calculator Pluginを使って太陽をスライダーで動かす
こんにちは。natsumikanです。
先日、UE4で点群を1億点まで描画できました。
ここでは点群の描画ではなく、このプロジェクトで使用している「Sun Position Calculator Plugin」についてお話したいと思います。
「Sun Position Calculator Plugin」は、緯度・経度・日時等から、太陽の位置をシミュレーションできるプラグインです。
とりあえず完成したのがこれ👇
UE4のSun Position Calculator Pluginを使って日照シミュレーションをやってみました。
— natsumikan@磯野 (@isononatsumikan) March 12, 2019
Sun Position Calculator Pluginの使い方はブログで!https://t.co/rHXlnGvKFe#xRArchi #デジタル芸大#点群 #UE4 #UE4study #pointcloud
データ提供元
gluon @gluontokyo
東京藝術大学 金田充弘研究室 pic.twitter.com/yU6JNHQVOS
やり方をざっくりですが説明します。
慣れてる人はドキュメント読めばわかると思います。
UE4 4.21から追加された「Sun Position Calculator Plugin」を使用します。
・プラグインを追加します。
・追加したらコンテンツブラウザに出てくるので、レベルに配置。
「出てこない~」って人は、コンテンツブラウザの「表示オプション」を確認してみてください。
・「BP_SunPosition」をレベルに配置したら、詳細パネルで【緯度・経度・タイムゾーン・日時・時間】を入力。
とりあえずここまでやったら、こんな感じになるはず
Sun Position Calculator Plugin
じゃぁこれを、プレイ中にできるようにしていきます。
・「Light Source」をム―バブルに。
・スライダー用のウィジェットを新規に作る。
わからない人はココ見て→Unreal Engine | UI を作成し、表示する
・スライダーを追加する。(Slider_51)
スライダーの時間は好きな時間でOK。今回は9:00am~22:00pm。ただのテキストです。
次はグラフ
最終的にこうなる
イベントConstruct
Actor Classは「BP Sun Position」に。
On Value Changed(Slider_51)
On Value Changed(Slider_51)はデザイナーでスライダーの詳細パネルからイベントを追加。
MapRangeClamped
MapRangeClampedは
In Range A~In Range Bの範囲にあるValueをOut Range A~Out Range Bに変換するというノード。
今回はスライダーの0.0~1.0を9.0時~22.0時に変換という感じ。
ウィジェットはこれでOK!
レベルブループリントにウィジェットを表示させるBPを追加したら完了!
ぜひ試してみてください~。
【東京藝術大学 点群データ提供元】
gluon @gluontokyo
東京藝術大学 金田充弘研究室
#デジタル芸大