Google Earth Studioの映像に、水と光を足す(後編)

光の道と逆さ富士で、ダブルダイヤモンド富士を

🎬 この記事の映像:ダブルダイヤモンド富士

👈 前編:ナイアガラの滝に、キラキラと水煙を


前編では、Google Earth Studio(以下GES)の映像に、自作ツール ge_overlay で水面のキラキラと滝の水煙を足しました。

後編はその続きです。挑戦したのは3つ。

  • 海 を水として扱えるようにする
  • 夕日・朝日が水面に落とす 光の道
  • 湖に映る 逆さ富士

この3つがそろうと、山頂に太陽が重なるダイヤモンド富士と、それが湖に映るもう1つのダイヤモンド富士——ダブルダイヤモンド富士 が作れます。


1. 海は、地図に「面」で入っていない

湖や川は、地図データ(OpenStreetMap)に形として登録されています。ところが 海は入っていません。あるのは海岸線という「線」だけです。

線から面を作る必要があります。助けになったのは、地図の海岸線にある「進む向きの左が陸、右が海」という決まりです。

  • 海岸線を、向きを保ったままつなぐ
  • 画面の範囲の枠で切る
  • 枠に沿ってぐるっと回り、次の海岸線につないで閉じる
  • 枠の中で閉じている海岸線は、島として穴をあける

これで、神奈川の秋谷・立石の海が水として扱えるようになりました。

🎬 検証用の映像:立石公園・秋谷(海と夕日/約15秒)


2. 太陽の位置は、日時から計算する

光の道を描くには、太陽がどこにあるか が分かっていないといけません。

GESの映像には、太陽の向きを示すデータがありません。ただ、GESのプロジェクトファイルには 撮影の日時が入っています。日時と場所が分かれば、太陽の方角と高さは計算で出せます。

これで、コマごとに正しい太陽の位置が分かるようになりました。夕日の色も、太陽の高さに合わせて変えています。低いときは夕焼け色、高いときは白い光です。


3. 光の道

夕日が海に落とす、縦に伸びる光の帯です。

最初は「太陽の方向のキラキラを増やす」くらいに考えていましたが、それだと丸いぼやっとした塊になります。実際の光の道は、縦に長く、手前ほど広がる 形をしています。

これには理由があります。水面には大小の波があって、それぞれ少しずつ傾いています。太陽の光が自分の目に届くのは、ちょうどいい角度に傾いた波 に当たったときだけです。

  • 太陽の真下の方向は、少し傾いた波で光が返ってくる → 明るい
  • そこから外れるほど、大きく傾いた波が必要になる → 数が少ないので暗い

この考え方で、画面の各場所が「どのくらい光るか」を計算しています。すると、実際と同じ縦長の光の道が自然にできあがりました。

波の荒さは1つの数字で決めます。小さくすると細く長い光の柱、大きくすると広い光の帯 になります。凪の湖から荒れた海まで、この1つで振れます。

太陽が富士山に隠れたら、光の道も消す

計算で描く方法には、1つ困ったことがありました。計算は太陽の位置しか知らないので、太陽が富士山の向こうに沈んでも、光の道を描き続けてしまう のです。ダイヤモンド富士では、まさにその瞬間が見どころなのに。

手がかりにしたのは、GESの映像に写っている太陽そのもの です。

画像の明るさは0〜255の数字で表され、太陽の部分は255で頭打ちになって真っ白に飛んでいます。でも本物の太陽は、白い雲や雪よりはるかに明るい。画像の上では、その差が消えてしまっているのです。そのまま水面に映すと、反射で暗くなって、ただの灰色の丸になってしまいます。

そこで、255付近で頭打ちになっている所だけ明るさを増幅し、水面の反射率も割り増し しています。太陽が見えている間は、水面にまぶしい太陽が映ります。山に隠れれば、頭打ちの所そのものがなくなるので、割り増しも自然に止まります。太陽が山頂に沈んでいくのに合わせて、水面の光もすっと消えていきます。

光の道の形はあくまで計算で描き、画像から借りるのは「太陽がどれだけ明るいか」だけ。次に書く失敗を経て、たどり着いた使い分けです。

画像から光を拾おうとして、失敗した

実は、この「計算で描く」方法に辿り着く前に、一度まるごと作って捨てています。

最初は、GESの映像で白く飛んでいる太陽の部分を拾って、それを下へ引き伸ばす 方法を試しました。ところが、GESの太陽はもともと丸い光として描かれているので、いくら伸ばしても実際の光の道の形になりません。光もちらちら瞬いて止まりませんでした。

調整のつまみがどんどん増え、どれを動かすと何が変わるのか分からなくなったところで、全部取り消して作り直しました。

教訓は、つまみが増えはじめたら、やり方そのものが間違っている合図 だということです。


4. 逆さ富士

ここが一番面白いところでした。

水面に映る景色は、「水面で跳ね返った視線の先に見えるもの」です。富士山のように遠くにあるものなら、跳ね返った視線の先は、同じ画面の中にもう写っています。

つまり、新しく何かを描く必要はありません。画面の中の富士山を、水面の位置に上下ひっくり返して持ってくればいいのです。

  • 画面の各場所で、跳ね返った視線が画面のどこに当たるかを計算する
  • その場所の色を持ってくる
  • 岸の近くは薄くして、境目がくっきりしないようにする

🎬 検証用の映像:河口湖・逆さ富士(約15秒)

物理に従ったら、速くなった

最初は「カメラが水平に近いときだけ映り込みを計算しないと、時間がかかりすぎる」と心配していました。

ところがこれは、水面の性質そのもの でした。水面の映り込みは、真上から見るとほとんど見えず、斜めに見るほど強くなり、水平に近いと鏡のようになります。この性質どおりに濃さを決めれば、見下ろすカットでは映り込みが自然に消えます。

物理に正直に作ったら、余計な処理も勝手に省けた、という珍しいケースでした。

さざ波

映り込みをそのまま乗せると、鏡のようで不自然です。細い帯ごとに少しずつ横にずらし、時間で流すと、水面らしくなります。

ここでも一度やり直しています。最初は「水面が何メートル揺れるか」で計算していたのですが、空撮では水面が数百メートル先にあるので、揺れが画面上で ほぼゼロ になってしまいました。今は「波の傾きの角度」で決めているので、遠くの水面もちゃんと揺れます。

海の映り込みと、灰色の太陽

最初、海で映り込みを入れると、GESの画面に描かれている太陽まで水面に映って、灰色の太陽が二重に出てしまいました。しばらくは、海では映り込みを使わずにいたほどです。

これを解決したのが、光の道の節で書いた「頭打ちの太陽の明るさを割り増す」工夫です。映った太陽がまぶしく光るようになったので、今は海でも映り込みを使っています。


5. 手前の陸が、水の上に乗ってしまう

最後に残った難所です。

地図の水の形は「上から見た範囲」なので、手前の半島や木が水を隠している ことを知りません。そのままだと、手前の陸の上にキラキラや映り込みが乗ってしまいます。

これは地図では解けないので、画像を見て判断することにしました。水らしい色と、陸らしいざらつきで見分けて、陸と判断した所を外します。

夕方は水と陸の明るさが近く、見分けにくくなります。そこで、水と陸の見本の画像を自分で切り出して渡せる ようにしました。見本は、手前・遠く・前半・後半から取っておくのがコツです。

ここはまだ完全ではなく、調整を続けています。


6. ダブルダイヤモンド富士

これで材料がそろいました。

  • 日時から計算した太陽が、富士山の山頂に重なる
  • その光が、湖面に光の道として落ちる
  • 富士山と太陽が、湖に逆さに映る

秋谷・立石の海の夕日に加えて、左:山中湖(ママの森見晴台の夕景)、中央:富士本栖湖リゾートと右:田貫湖(朝日のダブルダイヤモンド富士)でも確認しています。


7. 目指しているところ

ここまで「GESの映像をきれいにする話」をしてきましたが、本当の目的は別にあります。

シミュレーションで作った映像を、実際のドローンでそのまま撮ること です。

Drone_PreFlightは、1つの飛行計画から2つのファイルを書き出します。

  • GES用のファイル → 光と水を足して、仕上がりに近い映像にする
  • ドローンの送信機(DJI RC2)用のファイル → 現地で、そのまま自動で飛ばす

どちらも同じ経路・同じカメラの向き・同じ日時から作っているので、シミュレーションで良かった画は、現地で同じように飛ばせば撮れる はずです。

水と光に手を入れてきたのは、そのためです。水が死んだままの映像では、

この日時・この場所から、ダブルダイヤモンド富士は見えるか

が判断できません。現地に着いてから気づくのでは遅いわけです。

残っている作業

  • 手前の陸の見分けを、もっと確実にする
  • 処理を速くする。今は3000コマで1時間ほどかかり、構図を何度も試すには遅い
  • 実際に飛ばして、シミュレーションと実写を並べて比べる

最後の1つが通れば、「撮れるかどうかを、行く前に映像で確かめられる」ができあがります。そこが本当のゴールです。


Comments

“Google Earth Studioの映像に、水と光を足す(後編)” への1件のフィードバック

  1. […] 👉 後編:光の道と逆さ富士 […]

コメントを残す

BITriseOneをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む