【Tips】オープンなジオ点群情報をRhinoに入れてみた+回してみた
こんにちは。ホロラボ所属(2024/11)のゲンキです。
先日X上で@YOSHIDASHIROUさんのポストを引用リツイートをしたところ、予想外の反響がありました。
Rhino+動画編集ソフトだけで作れる手軽さも魅力的ですね。
今回は、前編と後編に分けて、以下の手順でターンテーブル動画の制作について紹介します。
① 制作環境の構築
② データの作成と受け渡し
③ Rhinoでのターンテーブルフレームの書き出し
④ アニメーション作成
はじめに:Gジオ空間情報とは
ここ数年、行政や法人が特定地域の点群情報を公開する(CC-BY4等で)ようになってきました。今回の元ポストも一般社団法人社会基盤情報推進協議会(AIGID)様の公開情報の一部を利用しています。
ここで注意です。公開情報は、公開者が「こんな用途になら、〇〇の条件のもと使っていいよ」と意思表明付きで公開している事がほとんどです。必ず利用する前に確認するようにしましょう。後ほど流れに合わせて詳しく紹介します。では、早速やってみましょう!
① 制作環境の構築
必要なデータ、制作環境は以下のとおり
データ:建物・樹木などの地物の高さを含まない地表面データ(las形式)
ソフトウェア:CloudCompare+Rhinoceros 8+ChatGPT4o
元データ(las) の入手
まず、こちらのAIGIDさまのページにアクセスします。
はい、こちらでストップです。他人が制作したデータを自分の制作物に使う時は必ずライセンスを確認しましょう。
こちらの「CC BY4.0」とは、許諾に関する制作者がどれだけ権利を主張しているかを示したカテゴリーであり、「C」のすべての権利から「PD」の全ての放棄までいくつかのグレードが存在しています。今回の場合は、CC-BYなので…
となります。詳しくはこちらのサイトに定義が載っているので、目を通しておくと良いでしょう。具体的には、ポートフォリオにデータを用いた場合、終わりのページにCreditページを設け、制作者の名前とその引用元を載せるのが良いかと思います。
話を戻します。先程のリンクをクリックすると、このようなマップが出てきます。
点群は選択した地域が1つのファイルになって出てくるので、小分けしたい時は1つ選んでDLをクリックしましょう。今回は皆さんご存知渋谷にします。ハロウィンだし。
これでデータの準備は完了しました。
CloudCompareの入手
CloudCompareは様々な形式の点群を閲覧・編集できるオープンソースソフトウェアです。ウェブサイトに行き、上のDownloadから入手し、一般的な流れでインストールしてください。
② データの作成と受け渡し(起動からlasインポート、e57形式で書き出し)
CloudCompare(以下CC)を起動すると、このような画面が立ち上がります。
左上よりFile>Open
先ほどDLしたlasを選択して開く
するとこのような設定画面が現れるので、いじらずそのまま
するとインポートが始まるので暫く待つと、点群が表示されます。
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コマンドでカーブを聞かれた時に点群で埋もれて選べない)
③ Rhinoでのターンテーブルフレームの書き出し
行程は省きますが、このように渋谷のど真ん中にマイ高層ビルを立ててみました。
こちらをターンテーブルで回してレンダリングしたものをPNGで書き出してみましょう。みなさんが一番良く使うであろう、Layerタブの右横に、歯車マークが有るのですが、こちらを左クリック>ShowtoolbarでAnimationタブを起動します。
点群とモデルを選択した状態で、映画のフィルムマークをクリック
それぞれほしいセッティングに調整してからOKをクリックしてください。目安として、映画業界は24fps、テレビ業界は約30pfs、最近のゲーム業界は60fpsを使っているので、それぞれほしい秒数✕fpsでそれっぽい質感になります。(厳密にはモーションブラーも必要)今回は適当に100枚書き出してもらいました。
④ アニメーション作成
最後に、書き出したフレームをアニメーションにするのですが、AdobeCCをお持ちの方はPremierやAfterEffectsを使われると思います。今回は少し面白い+便利なものとして、ChatGPTを使った方法を紹介します。下ごしらえとして、アニメフレームを全て入れたフォルダをZIPで圧縮してください。
わざわざPremierで色々しなくても、拡張子もまとめてやってくれるので便利です。そして出来たのがこちら
いかがでしたでしょうか?結構使えそうですよね。スピードの調節等は、書き出しフレーム数や、GPTのプロンプトで可能です。慣れてしまえば数時間でできることなので、設計課題の序盤の資料が全然作れない…でもなんかいい感じなのがほしい!という方に良いと思います。
第二弾はRhinoで作ったデータをBlenderに入れて遊んでみようと思っています。今後も思いついた小技を書いていこうと思うので、Xフォローで追っかけて見てくださいね。おたのしみに!
最後まで読んでいただき、ありがとうございました🙇♀️