RealityCapture 各種エラーと対策集

『xRArchiアドベントカレンダー2019』3日目の記事です。
前回はReisyuさんによる「2019年を振り返る (コアクマそらをとぶ)」でした。

私はReality Captureのエラーで今年を振り返ってみます。

Importing Model – Texture coordinates of a triangle are indexed to different textures.


モデルインポート時に生じたエラー。

原因1:
オブジェクトが複数階層になっているとNGな様子。
1オブジェクトに統合してから読み込む。

原因2:
モデルにテクスチャがない場合もこのエラーとなる。
テクスチャ貼ってUV整えてから読み込む。

原因3:
1オブジェクトにマテリアルが複数設定されている状態もNG。

Reality Captureから書き出した時のモデルと同じ構成にしてインポートする。
余計なことすると怒られる。

Loading Project – Cannot load the project that was locked to another machine.


PPI版にてプロジェクトを開く際に生じるエラー。
マシンが違うというメッセージだけれど実は原因はそうじゃないというミスリードなエラー。
プロジェクトが開けなくなるとか心臓に悪い。

原因1:
ライセンスが異なっている。
PPI版で作成したプロジェクトをSteam版やCLI版で開くとこのエラーになる。
(CLIで作成したものをPPIで開くことは可能)

原因2:
アカウントが違う場合もこのエラーとなる。
作成したアカウントで入り直せばOK。
サインアウトの仕方は[Settings]>[Licenses]>[Change application owner]

原因3:
OSをクリーンインストールした場合は別PC扱いになるのでこのエラーになる。
その場合は… どうしようもない…
PPI版リスク高い。下記の余談の項目でこれについてもう少し詳しく書きました。

Exporting Textured and Colored Mesh – Access denied


PPI版にて写真をライセンスさせた後、テクスチャ生成させた際に生じたエラー。
サポートに確認するも原因は不明。
写真の保存場所は変えていたがそれが原因か?しかしそんなシビアなのか?
サポートからの解答は以下。

1.Remove your cache and reset the RC (hold Shift key and open the app)
2.Remove crmeta.db file that you will find in folder with images
3.Please make sure that you activated RC with login in to your account, not in Anonymous mode.
4.Please create new project and use 50 – 90 % of images from your original data set.
5.Align it, mesh, texture it and then please try to export the model.

訳)
1.キャッシュを削除してRCをリセットします(Shiftキーを押しながらアプリを開きます)
2.画像のあるフォルダーにあるcrmeta.dbファイルを削除します
3.匿名モードではなく、アカウントにログインしてRCをアクティブ化したことを確認してください。
4.新しいプロジェクトを作成し、元のデータセットから50〜90%の画像を使用してください。
5.位置合わせ、メッシュ、テクスチャリングを行い、モデルをエクスポートしてみてください。

つまり作り直し。解決策じゃなかった。

余談

上記エラーの様にPPI版は元がDemo版なので随所に強烈な縛りの痕跡が残っている。
ライセンスがPCに完全に紐付いているのもDemo版の名残り。
他のPCで開けない(PC故障時も開けなくなる)のはリスクが高すぎるよとサポートに連絡した際の回答は以下。

Currently, it would not be possible to open the project on another PC. It would be possible to recreate it faster by exporting XMP files and calculated model. Then you can use locked XMPs to calculate the same component, it would be much faster. And then import the model.

訳)
現在、別のPCでプロジェクトを開くことはできません。 XMPファイルと計算モデルをエクスポートすることで、より速く再作成することが可能です。 次に、ロックされたXMPを使用して同じコンポーネントを計算できます。 これははるかに高速です。 そして、モデルをインポートします。

開けないけど設定ファイルを書き出しておけばすぐ作り直せるよ、との事。
今の仕様のうちはとりあえずバックアップとしてXMP書き出ししておくのが安全そうです。

Exporting Textured and Colored Mesh – FBX SDK : Export failed.

fbxのエクスポート先が全角パス(日本語名が使われている)だった場合にこのエラーが発生。
半角のパスを指定する。

Adding Images – Unsupported file format. Try to install a codec for your file format.


レーザースキャン点群を読み込む際にドラッグアンドドロップするとこのエラーに。
サポートされてないと言われるのを信じてはいけない。
ドラッグアンドドロップではなくメニューの点群読み込みからならちゃんと読み込める。

Exporting Registration – Operation failed – Images ‘*’ does not match the one that was used in registration.

途中で使ってる写真を変えましたね?変えたらいけないのです。テクスチャ生成用に変えるのはよくても、Export Registrationの時にはダメな様子。元に戻しましょう。

万が一元の写真を残してなかった場合は―
1. xmpを書き出す (Lockedを選択)
2. 新規プロジェクトを作成し写真を読み込む
3. 再度Alignment実行
4. 完了したらExport Registration
プロジェクトの作り直しにはなるがxmpファイルを使うことで処理時間は短くなる。

写真を変更していないのにこのエラーが出る事もあるが、その原因は不明。バグ?

Importing Control Points’ Measurements – Operetion failed – The file contains * images which are not in the current scene. Please check the console for a comprete list of images.

コントロールポイントを読み込んだ際に出るエラー。
写真のパスに全角が含まれているとこのエラーが出るので、半角パスに直してから再度コントロールポイントを書き出しておく。

Importing Control Points’ Measuremetnts – Invalid or corruted input data – Invalid file format. Error has occurred at line xxxx.


csvを読み込む際にフォーマットを間違えているとこのエラー。
区切りを正しく選択しているか(スペースかタブかコロンか)確認する。

csvの最終行以降に何もない余白がある場合もエラーになるので消しておく。

Texturing Model – Unexpected error: 0x8600001d. This may be related to an incorrect camera calibration. For more infomation, please check users’ forum.


なぜこれで解決出来たか謎なのだけれど、画面内に何も映らない向きにビューを動かしてからテクスチャ生成し直したら問題なく処理できた。謎。たまたまかもしれない。

Aligning Images – Unexpected program state


こちらも原因は不明。「予期しないエラー」。
RCの再起動では直らなかったがPC再起動で解決。

Aligning Images – Invalid or corrupted input data – Image rigs and laser scans with the prior set to “Exact” mode must be all aligned in a single run. Incremental adding is not supported.

写真とレーザースキャンデータが併用されている複数のコンポーネントをMerge Componentsする際に発生したエラー。
サポートしてないというエラーになるが、下図の通り各コンポーネントの写真とレーザースキャンのAbsolute poseをLockedにしてからマージすれば処理できる。

座標が確定しているレーザースキャンのデータを使用しているにも関わらずAbsolute poseがUnknonwになっている場合に発生するエラーということか?

Computation of one or more parts failed.

巨大なシーンのメッシュ化時に出たエラー。
メッシュ化は完了するが所々ブロック状にデータが抜けてしまっている。

定かではないが、処理中にPCでうっかり他の作業をしていたことが原因かもしれない。
もう一度メッシュ化を実行し、今度は一切PCには触らずに処理に専念させたら成功した。

RealityCapture Mini Dump (クラッシュ)

原因は色々ありそう。
以下の調整で回避出来ることがあった。

対策1:
モデルが不正な構成となっている事が原因か。
「Clean model」を行うことで回避出来た。

対策2:
テクスチャを複数枚生成する設定としている場合は1枚とすることで回避出来た。

対策3:
メモリを増設する。
写真1万枚レベルの規模な大きなシーンにて20枚を超えるテクスチャ生成でクラッシュが発生していたが、メモリ増設したところ問題なく処理できた。

対策4:
メッシュ生成時にクラッシュする場合。
生成規模が大きすぎる事が原因か。
Reconstruction Regionを小さくし範囲外の写真を無効にしてからメッシュ生成することで回避出来た。

対策5:
読み込もうとしている.rcalignファイルのファイル名が長いとクラッシュした。フォルダ名やファイル名を短くする。

対策6:
Unwrap時にクラッシュしている場合は「Large triagle remobal threshold」の値を下げる。

対策7:
Unwrap時にクラッシュしている場合は「Maximal texture count」ではなく「Fixed texel size」を使って生成する。
「Fixed texle size」を使用してテクスチャ枚数を指定したい場合は「Texel size」を「Custom」にして任意の数値を指定する (数値が増えるほどテクスチャ枚数が減る) 。

随時更新

当記事は今後も順次更新していきます。
(エラーが出るたびに…)

『xRArchiアドベントカレンダー2019』

明日12/4はFukuda Koji/FUKUKOZYさんによる「VRAA01に携わりました」です。