MRが楽しい

MRやVRについて学習したことを書き残す

MeshLabによる3Dデータ変換をCUIで実行する

本日は MeshLab の小ネタ枠です。
MeshLabによる3Dデータ変換をCUIで実行する手順を記事にします。
f:id:bluebirdofoz:20200611204946j:plain

前提条件

MeshLab のインストールを前提とします。
以下の記事を参考に MeshLab のインストールを実施してください。
bluebirdofoz.hatenablog.com

コマンドラインでの実行

MeshLab の3Dデータ変換をCUIで実行するにはインストールディレクトリにある以下の実行ファイルを利用します。
・meshlabserver.exe
f:id:bluebirdofoz:20200611204958j:plain

デフォルトでは以下のディレクトリにインストールされています。

C:\Program Files\VCG\MeshLab

meshlabserver.exe の利用方法は exe をコマンドライン上で実行する事で確認できます。
f:id:bluebirdofoz:20200611205022j:plain

以下に翻訳したものを記述します。

meshlabserver [ログ引数] [引数]

  [ログ引数]の指定オプション:

    -d filename         すべてのフィルタリング関数のリストをテキストファイルにダンプする
    -l filename         フィルターのログがファイルに出力されます

  [引数]の指定オプション:

    -p filename         ロードするmeshlabプロジェクト(.mlp)を指定する。

    -w filename [-x]    保存する出力Meshlabプロジェクト(.mlp)を指定する。
                        -xフラグを指定すると、入力プロジェクトに含まれている3Dモデルの meshfile.ext が上書きされます。
                        それ以外の場合は、meshfile_out.ext という新しいファイルと同じ入力メッシュのディレクトリに保存されます。
                        すべてのメッシュ属性が保存されたファイルにエクスポートされます。

    -i filename         ロードするメッシュデータを指定する。

    -o filename [-l <opt_layer>][-m <opt_mask>]
                        プロジェクトの現在のレイヤーを書き込むファイルを指定します。

                        -l パラメーターが設定されている場合、指定したレイヤーは指定したファイルに保存されます。
                        <opt_layer> の有効な値は次のとおりです。
                        
                          [0~(プロジェクトの最後のレイヤー番号)] はインデックスで目的のレイヤーを指定します。
                          c はプロジェクトの現在のレイヤーを指定します。
                          x はプロジェクトの最後のレイヤーを示します。
                        
                        -l paramが指定されていない場合、デフォルトで現在のレイヤーが保存されます。

                        -m パラメーターが設定されている場合、指定されたメッシュ属性が出力ファイルに保存されます
                        <opt_mask>には、次の属性をスペースで区切ったリストで指定することができます。

                          vc->頂点カラー
                          vf->頂点フラグ
                          vq->頂点品質
                          vn->頂点法線
                          vt->頂点テクスチャ座標
                          vr->頂点半径
                          fc->面の色
                          ff->面フラグ
                          fq->面の品質
                          fn->面法線
                          wc->ウェッジの色
                          wn->ウェッジ法線、
                          wt->ウェッジのテクスチャ座標
                          mp->ポリゴンメッシュ情報
                          sa->ascii形式で保存
    
    -s filename         適用するスクリプトを指定します。

実行例

例えば、特定の3Dファイルを読み込んで別の形式で出力するには以下のようにコマンドを実行します。
・MeshLab.bat

set PATH=%PATH%;C:\Program Files\VCG\MeshLab
meshlabserver.exe -i (読み込み3Dファイルパス) -o (書き出し3Dファイルパス)