前面展望をBVEへ
この記事では前面展望の動画をBVE5,6のストラクチャデータに変換したかった知識の断片です。
やり方はひとまず確立しましたが、私が今後使用することはないと思います。(理由は後述)
興味のある方はぜひ知識を生かしてこの技術を確立してください(丸投げ)
この記事では先に出力方法を解説したのちに
なぜBVEデータと相性が悪いのかを解説しています。
なぜBVEデータと相性が悪いのかを解説しています。
https://twitter.com/inuroko_Tohi/status/1657597834135486466
こちらのツイートについての解説になります。
必要なもの
前面展望動画 元データです。この動画で見える範囲が3Dデータ化されます。
3DF Zephyr Lite 動画から点群データを作り出し、さらにテクスチャ付きメッシュデータを出力できるアプリケーションです。
高スペックなPC 映像をひたすら解析するのでCPU、GPU、メモリを酷使します。また、NVIDIA ビデオカード を公式が推奨しています。
記事の対象者
革新的な技術が大好きな人
様々な資料を読み漁り、試行錯誤できる人
3DF Zephyr Liteとは?
複数の視点から撮影した写真や動画から3Dモデルを出力できるアプリケーションです。
無料の試用版と30000円以上する一般版があり、今回は一般版を使用しました。諭吉がとんでく。
以下に今回の使用目的に関する違いを列挙しました。(2023年8月25日時点の情報です)
試用版
個人使用無料
最大50枚(動画を読み込むには致命的)
時間制限なし
https://www.3dflow.net/3df-zephyr-free/
一般版
約34000円
枚数制限なし
時間制限なし
https://www.opt-techno.com/opt-zephyr/product.html
一般版にSteam版があるので、Steamのアカウントがある場合はそちらで購入するのが手間なく便利です。
動画の読み込み
新規プロジェクトでmp4の動画を読み込めます。
各種設定をしたら点群データの作成開始です。
サンプルレートが重要で、とりあえず15、30、60など高めにしておきましょう。
なお画像の設定で点群作成をした場合、inurokoのCPU(10マソ)でも数十分かかりました。
根気よく待ちましょう。(右側画像、出力の様子)
点群データにメッシュとテクスチャをつける
作成が終わるとなんか砂が散らばったような状態になります。
動画から切り出した731枚の画像から、周辺の形をデータとして判定できた点がでてきています。
ウィンドウ左側にあるSparse Point Cloudを右クリックで高密度点群へ変換し、メッシュを貼れる状態にしましょう。
あくまで変換なのでこちらはすぐに完了します。
ふたたび高密度点群のSparse Point Cloudを右クリックし、メッシュの作成(計算中と表示される)をクリックします。
メッシュとは3Dモデルの面にあたる部分で、点から面を生成する作業です。
ティータイムには短い程度に待たされるので、Steamのセールしてるゲームの巡回タイムにでもしましょう。
メッシュの生成が完了すると、ぼんやりと形ができます。
3DF Zephyr Liteが高機能なので、メッシュの作成と一緒に点群データで読み取ることができた色を貼っているのだと思います(推測)
画面上側の選択欄やワークフローの選択内にある「テクスチャ付メッシュの作成」を選択し実行すると、
これまでのカメラデータとメッシュデータを合わせてテクスチャ付メッシュを作成してくれます。
出力する
確実に写真を貼ったかのようなデータに生まれ変わりました。
あとは左の画像のように出力すれば3Dモデルとして他のアプリで使用できるデータになります。
またBVEで使用できるようにテクスチャを2のべき乗にするのを忘れないでください。
BVEで使用できる.x形式への変換はこちらの記事の中ほどから読んでください。
解説記事では30FPSでしたが、60FPSで時間をかけて出力すればここまできれいに出力できます。
走らせたかったです(敗北)
なぜBVEと相性が悪いのか?
奥行きが広いオブジェクトをBVEが扱えない
BVEはストラクチャを配置した地点からある程度離れると負荷軽減のため表示しなくなります。
一度に長い区間を出力できず、小分けにする必要が出てきてしまします。
出力されたストラクチャに対して曲線や坂を配置するのが大変
出てきたストラクチャに対して運転していて違和感のないように設定するのは大変かつ面倒で、
小分けに作られたストラクチャ全部に設定するのは手間がかかりすぎます。
また手前のストラクチャの曲線や坂を変えるとその先の設定済みのすべてのストラクチャの設定しなおしが必要になります。
異物の撤去が面倒
何もない空間に面があると勘違いしてメッシュが生成され、線路上に面がういてることがあります。
手動での撤去が必要で、わりと面倒くさいです。