Path to Flight Plan

スプラインで描いたパスからフライトプランカメラを生成し、3DGS(3D Gaussian Splatting)用のデータセットを作るまでを、1 つのウィンドウで進めるツールです。Chaos Vantage でのレンダリング、Metashape Pro でのアライメント、LichtFeld Studio 用の transforms.json の書き出しまでを、ステップ順に行えます。

ツール名 Path to Flight Plan
収録 OakCorp Tools 1.1.0 以降(OakCorp Tools for 3ds Max)
スクリプトのバージョン Ver 2026080703
対応環境 3ds Max 2025 ~ 2027
連携ソフト V-Ray 7、Chaos Vantage、Agisoft Metashape Pro(Standard は一部の機能のみ)、LichtFeld Studio
起動 OakCorp ツールバーの Path to Flight Plan ボタン、またはマクロ Path to Flight Plan(Category:OakCorp)

render2splat.jpg

ウィンドウは上から順に 4 つのステップと、セッションの保存で構成されています。

ステップ 内容 結果
① フライトプラン生成 パス(スプライン)を分割し、1 点 = 1 フレームでカメラにキーを設定します。 VRayPhysicalCamera(アニメーション付き)
② Chaos Vantage レンダリング .vrscene を書き出し、Vantage をコマンドラインで実行します。 連番画像(Spherical 360 または通常のフレーム画像)
③ Metashape Pro アライメント用のリファレンス CSV を書き出します。 Metashape でアライメントし、点群(.ply)と cameras.xml を書き出し
④ LichtFeld Studio 画像・点群・カメラ位置から transforms.json を書き出します。 LichtFeld Studio で学習できるデータセット
項目 内容
パスの一覧 フライトプランに使うスプラインです。一覧の順に連結して 1 本のパスとして扱います。
選択を追加 シーンで選択しているスプラインを一覧に追加します。
更新/削除/クリア 一覧の表示を更新、選んだパスを一覧から外す、一覧を空にします。
セグメント分割数 ノット間を何分割するかを指定します。1 ならノットの位置だけ、2 ならノットの間に 1 点を追加します。中間点は曲線に沿って配置されます。
ルックアット オンにすると、カメラが注視オブジェクトの中心を向きます。オフのときは進行方向を水平に向きます。
注視オブジェクトをピック ルックアットで向く対象を選びます。
開始フレーム 1 点目のキーを置くフレームです。
フライトプラン生成(カメラ作成) カメラを作成し、点ごとに 1 フレームずつキーを設定します。
  1. パスとなるスプラインを描きます。開いたスプラインも閉じたスプラインも使えます。Circle [円] や Rectangle [長方形] などのシェイプもそのまま使えます(元のシェイプは変更しません)。
  2. スプラインを選択して[選択を追加]を押します。複数のパスを使う場合は、飛ぶ順に追加します。
  3. [セグメント分割数]と[ルックアット]を設定します。一覧の下に、現在の撮影点の数が表示されます。
  4. [フライトプラン生成(カメラ作成)]を押します。

P2F_Cam360 という名前の VRayPhysicalCamera(ターゲットなし)が作られ、撮影点ごとにキーが設定されます。Time Slider [タイムスライダー] の範囲も撮影点の数に合わせて変わり、カメラ名は ② の[カメラ名]に自動で入ります。

パスの形を直したいときは、スプラインのノットを編集してから、もう一度[フライトプラン生成]を押します。新しいカメラが作られます。

[.vrscene を書き出し(現在のシーン)]を押し、保存先を指定します。

Vantage は、.vrscene を書き出したときの「レンダリングするビュー」のカメラを、アニメーション付きのカメラ(Original Camera)として扱います。そのためこのボタンは、書き出す前に次の処理を自動で行います。

  • [カメラ名]のカメラをアクティブなビューポートに設定する
  • Render Setup [レンダー設定] のビューのロックを解除し、アクティブなビューを使うようにする(Render Setup [レンダー設定] が開いている場合は閉じます)
  • カメラのレンズ効果をオフにする

書き出したあと、ファイルの中でカメラがアニメーション付きになっているかを検証し、結果を表示します。

項目 内容
.vrscene シーンファイル レンダリングする .vrscene です。書き出すと自動で入ります。既存のファイルを[参照…]で指定することもできます。
Vantage exe Vantage の実行ファイルです。C:\Program Files\Chaos\Vantage\vantage.exe があれば自動で入ります。
出力フォルダ 画像の出力先です。④ の写真フォルダとしても使います。
カメラ名(-camera) レンダリングするカメラです。① で生成すると自動で入ります。
画像ベース名/拡張子 出力する画像の名前です。番号は Vantage が付けます(例:shot.00000.png)。
連番桁数 画像の番号の桁数です(既定は 5)。
解像度 Spherical 用の 2:1 のプリセット(1K~8K)と Custom です。Custom では幅と高さを入力します。
Samples Vantage のサンプル数です。
追加オプション Vantage のコマンドラインに追加するオプションです(任意)。
カメラモード Spherical 360(全天球)または通常フレームカメラです。

[Vantage レンダージョブ実行(全フレーム)]を押すと、Vantage がコマンドラインで起動し、全フレームをレンダリングします。次の設定は自動で付けます。

設定 値
カメラ Spherical 360 のときは 360°×180° の全天球。通常フレームカメラのときはシーンのカメラの画角
自動露出 オフ(画像ごとの明るさの差をなくすため)
デノイズ オン
Light Cache オン
モーションブラー オフ
アルファ オン(PNG)
終了後 Vantage を自動で閉じる

パスを編集したり分割数を変えたりしたあと、変わったフレームだけをレンダリングし直す機能です。

  1. パスを編集し、① の[フライトプラン生成]と ② の[.vrscene を書き出し]をやり直します。
  2. [差分レンダリング(変更/追加フレームのみ)]を押します。
  3. 前回のレンダリングと比べた結果(そのまま使う/番号を付け替える/新しくレンダリングする枚数)が表示されるので、確認して実行します。
  • 全フレームのレンダリング時に、出力フォルダへ p2f_frames.txt(フレーム番号とカメラ位置の一覧)を保存し、これを比較の基準にします。
  • カメラ位置が[差分一致許容距離](既定は 1 mm)以内なら同じ撮影点と見なします。比較するのは位置だけで、向きは比較しません。
  • 番号がずれた画像は付け替え、不要になった画像は出力フォルダ内の _p2f_old に移します(Metashape に誤って読み込まれないようにするため)。
項目 内容
Y-up 回転(X−90°) オンにすると、CSV のカメラ位置を X 軸まわりに −90° 回転します。LichtFeld Studio で正立して表示させるための設定です(既定はオン)。
スケール CSV のカメラ位置に掛ける倍率です(既定は 1.0)。
リファレンス CSV 書き出し Metashape の Reference [リファレンス] に読み込む CSV を書き出します(Pro のみ)。
  1. Vantage で出力した画像を Metashape に読み込みます。
  2. Camera type [カメラタイプ] を ② のカメラモードに合わせます(Spherical 360 なら Spherical、通常フレームカメラなら Frame)。
  3. File [ファイル] > Import [インポート] > Import Reference [リファレンスのインポート] で CSV を読み込みます。列は label/x/y/z に割り当て(位置のみ。CSV には向きの列もありますが使いません)、座標系は Local Coordinates、精度は 0.005 m に設定します。
  4. Align Photos [写真のアライメント] を実行し、Update Transform [変換を更新] を実行します。
  5. 点群(Tie Points)を、カラー付き・Local Coordinates の .ply で書き出します。
  6. カメラを cameras.xml として書き出します(④ で使います)。

Standard では CSV のインポートを使えないため、③ の CSV、Y-up 回転、スケールは使えません。画像をアライメントしたあと、cameras.xml と .ply を書き出して ④ に進んでください。座標系はそのまま整合します。

項目 内容
Metashape cameras.xml Metashape で書き出したカメラです(推奨)。指定すると、Metashape が推定したカメラ位置で transforms.json を作ります。未指定の場合は、3ds Max のカメラ位置(真値)を使います。
Metashape からの点群 .ply 学習の初期点群として使う .ply です。
写真フォルダ レンダリングした画像のフォルダです。未指定の場合は ② の出力フォルダを使います。
transforms.json 書き出し 保存先を指定して transforms.json を書き出します。画像と点群の場所は、transforms.json からの相対パスで記録します(別のドライブなどで相対パスにできない場合は絶対パス)。
  • カメラモデルは、② のカメラモードに合わせて自動で切り替わります(Spherical 360 は EQUIRECTANGULAR、通常フレームカメラは PINHOLE)。
  • 解像度は、cameras.xml にセンサーの解像度があればそれを使います。
  • Spherical 360 のデータを LichtFeld Studio で学習するときは、3DGUT を有効にしてください。通常フレームカメラ(PINHOLE)の場合は不要です。
  • 点群の .ply を指定しなかった場合は、点群の指定なしで書き出します。

パスの一覧、注視オブジェクト、各ステップの設定はシーンに保存されます。主な操作のたびに自動で保存され、.max ファイルを開き直すと自動で復元されます。

  • [シーンへ保存]/[シーンから復元]で手動でも保存・復元できます。
  • シーンに保存されるので、.max ファイルの保存を忘れないでください。
  • Vantage の実行ファイルや出力フォルダなどは、3ds Max の plugcfg フォルダーの path2flightPlan.ini にも保存され、次回の起動時に入力済みになります。

.vrscene を書き出したときの「レンダリングするビュー」がフライトプランカメラになっていない可能性があります。② の[.vrscene を書き出し]で書き出し直してください。書き出し後の検証メッセージで、カメラのアニメーションが正しく書き出されたかを確認できます。

Vantage の自動露出がオンになっていると、画像ごとに明るさが変わり、3DGS の学習に悪影響があります。このツールは自動露出をオフにして起動します。[追加オプション]で自動露出を有効にしていないか確認してください。

③ の[Y-up 回転]をオンにして、CSV の書き出しからやり直してください。プロジェクトの途中で切り替えると、点群とカメラの向きが合わなくなります。

バージョン 日付 内容
OakCorp Tools 1.1.0 2026-10-06 OakCorp Tools に収録(スクリプト Ver 2026080703)。

本ソフトウェアの著作権は株式会社オークに帰属します。

Copyright © 2026 株式会社オーク https://oakcorp.net/

  • oaktools/path2flightplan.txt
  • 最終更新: 2026/10/06 14:47
  • by oakcorp