見出し画像

【Tips】オープンなジオ点群情報をRhinoに入れてみた+回してみた

こんにちは。ホロラボ所属(2024/11)のゲンキです。
先日X上で@YOSHIDASHIROUさんのポストを引用リツイートをしたところ、予想外の反響がありました。

Rhino+動画編集ソフトだけで作れる手軽さも魅力的ですね。

今回は、前編と後編に分けて、以下の手順でターンテーブル動画の制作について紹介します。

① 制作環境の構築
② データの作成と受け渡し
③ Rhinoでのターンテーブルフレームの書き出し
④ アニメーション作成

はじめに:Gジオ空間情報とは

ここ数年、行政や法人が特定地域の点群情報を公開する(CC-BY4等で)ようになってきました。今回の元ポストも一般社団法人社会基盤情報推進協議会(AIGID)様の公開情報の一部を利用しています。

ここで注意です。公開情報は、公開者が「こんな用途になら、〇〇の条件のもと使っていいよ」と意思表明付きで公開している事がほとんどです。必ず利用する前に確認するようにしましょう。後ほど流れに合わせて詳しく紹介します。では、早速やってみましょう!

① 制作環境の構築

必要なデータ、制作環境は以下のとおり
データ:建物・樹木などの地物の高さを含まない地表面データ(las形式)
ソフトウェア:CloudCompare+Rhinoceros 8+ChatGPT4o

元データ(las) の入手

まず、こちらのAIGIDさまのページにアクセスします。

las点群がほしいのでこちらをクリック

はい、こちらでストップです。他人が制作したデータを自分の制作物に使う時は必ずライセンスを確認しましょう。

赤い四角がライセンスに関するリンク
ページ下の「使用許諾」欄にもありました!

こちらの「CC BY4.0」とは、許諾に関する制作者がどれだけ権利を主張しているかを示したカテゴリーであり、「C」のすべての権利から「PD」の全ての放棄までいくつかのグレードが存在しています。今回の場合は、CC-BYなので…

誰が作ったかちゃんと言ってくれたら自由に使っていいよの意

となります。詳しくはこちらのサイトに定義が載っているので、目を通しておくと良いでしょう。具体的には、ポートフォリオにデータを用いた場合、終わりのページにCreditページを設け、制作者の名前とその引用元を載せるのが良いかと思います。

話を戻します。先程のリンクをクリックすると、このようなマップが出てきます。

23区全部入りはすごい
点群がほしい地域をクリックした後、左の下から2番めのDLボタンをクリック

点群は選択した地域が1つのファイルになって出てくるので、小分けしたい時は1つ選んでDLをクリックしましょう。今回は皆さんご存知渋谷にします。ハロウィンだし。

Zipの中身。4つが1つにまとめてある。

これでデータの準備は完了しました。

CloudCompareの入手

CloudCompareは様々な形式の点群を閲覧・編集できるオープンソースソフトウェアです。ウェブサイトに行き、上のDownloadから入手し、一般的な流れでインストールしてください。

Downloadをクリック。ベータ版は開発者でない限り避けましょう。

② データの作成と受け渡し(起動からlasインポート、e57形式で書き出し)

CloudCompare(以下CC)を起動すると、このような画面が立ち上がります。

まだ何も開いていないのでUIのみ

左上よりFile>Open

先ほどDLしたlasを選択して開く

するとこのような設定画面が現れるので、いじらずそのまま

Applyをクリック
Yesをクリック

するとインポートが始まるので暫く待つと、点群が表示されます。

わくわく

CCでは特に内容を編集することはなく、e57で書き出します。plyでも良いですが、前者が軽量です。
左のサイドバーで選択されているのを確認したら、左上よりFile>Saveで、SaveFile画面を開いて名前をつけて保存してください。この時ファイルの種類をe57にするのを忘れずに。

点群が黄色線のバウンディングボックスで囲まれているのが選択された目印

Rhino>Importコマンドで読み込ませてください。
ちなみにスケールはmmのようです。

読み込ませたあとの注意点

点群の座標系は元の点群データを継承しています。つまりRhinoの(0.0.0)原点中心には置かれません。インポート直後に眼の前には出てこないはずです。(奇跡的に23区の原点を見つけた人、Xで教えて下さい!)

今回の渋谷の時のインポート直後。なにもない。

この時、インポートが失敗している可能性もあるのですが、画面上部ヒストリウィンドウ(各部名称はこちら)を見るとsuccessfully…とあるので読み込み自体はエラー無く完了しています。

つまり、どこかには存在しているが、ビューに入っていないのです。
そのような時に便利なのがCtrl+AとZSです。

ZSはZoomSelectedコマンドのショートカット(エイリアス)ですが、Ctrl+Aで全選択と組み合わせると、インポートしたオブジェクトにビューを飛ばせるので、見失った方は使ってみてください。

いたいた

Rhinoに入れた点群はPointCloudというデータ形式として扱われます。Pointツールバーに編集ツールがあるので、お好みの形にデータを掃除してあげてください。

例えば、SelectbyBoundaryCurveを使うとTopビューから土地の形に切り抜くことで、敷地を均す(点群を丸ごと消す)ことができます。

注意点として、必ずビューから見て敷地境界線カーブが手前になるように動かしてからにしてください。(じゃないとSelectbyBoundaryCurveコマンドでカーブを聞かれた時に点群で埋もれて選べない)

このように敷地境界線の形でで切り落とせる。Topビューかつパース無し(Parallel)で行うこと。

③ Rhinoでのターンテーブルフレームの書き出し

行程は省きますが、このように渋谷のど真ん中にマイ高層ビルを立ててみました。

背景の黒はOptions>View>Renderedのあたり

こちらをターンテーブルで回してレンダリングしたものをPNGで書き出してみましょう。みなさんが一番良く使うであろう、Layerタブの右横に、歯車マークが有るのですが、こちらを左クリック>ShowtoolbarでAnimationタブを起動します。

こいつを左クリック
するとToolbarsがでてくるので、Animationタブを開く

点群とモデルを選択した状態で、映画のフィルムマークをクリック

右下のSetup360degreeTurntableをクリック
するとこのような設定画面がでてくる。

それぞれほしいセッティングに調整してからOKをクリックしてください。目安として、映画業界は24fps、テレビ業界は約30pfs、最近のゲーム業界は60fpsを使っているので、それぞれほしい秒数✕fpsでそれっぽい質感になります。(厳密にはモーションブラーも必要)今回は適当に100枚書き出してもらいました。

④ アニメーション作成

最後に、書き出したフレームをアニメーションにするのですが、AdobeCCをお持ちの方はPremierやAfterEffectsを使われると思います。今回は少し面白い+便利なものとして、ChatGPTを使った方法を紹介します。下ごしらえとして、アニメフレームを全て入れたフォルダをZIPで圧縮してください。

簡単な動画なら作ってくれます。

わざわざPremierで色々しなくても、拡張子もまとめてやってくれるので便利です。そして出来たのがこちら

いかがでしたでしょうか?結構使えそうですよね。スピードの調節等は、書き出しフレーム数や、GPTのプロンプトで可能です。慣れてしまえば数時間でできることなので、設計課題の序盤の資料が全然作れない…でもなんかいい感じなのがほしい!という方に良いと思います。

第二弾はRhinoで作ったデータをBlenderに入れて遊んでみようと思っています。今後も思いついた小技を書いていこうと思うので、Xフォローで追っかけて見てくださいね。おたのしみに!

最後まで読んでいただき、ありがとうございました🙇‍♀️






いいなと思ったら応援しよう!