点群OBJアップロード後に輪郭が欠ける現象とは
点群から作成したOBJファイルをアップロードした後、建物の角、地形の境界、構造物の端部、配管の外周などが部分的に欠けて見えることがあります。アップロード前の編集画面では連続していた輪郭が途切れたり、視点を回転させたときだけ一部の面が消えたりすると、通信中にファイルが破損したように感じられるかもしれません。
しかし、点群OBJの輪郭が欠ける原因は一つではありません。OBJ内に面要素が含まれていない、面要素が不正な頂点番号を参照している、面を構成する頂点の並びが周囲と逆になっている、極端に小さい面や重複形状が読み込み時に処理されない、モデルが原点から遠く表示側の数値精度の影響を受けるなど、複数の可能性があります。これらの挙動はアップロード先の実装や設定によって異なるため、「OBJなら必ず同じように表示される」とは限りません。
OBJは頂点座標、面、線、点要素、法線などを記述できるテキスト形式です。一般的なポリゴンメッシュでは、vで頂点座標を記録し、fで複数の頂点を参照して面を定義します。頂点座標が並んでいるだけでは、面を前提に表示する環境で表面形状として復元されません。また、点要素として扱うにはpなどの要素定義が必要であり、v行だけを点群として表示できるかは閲覧環境の機能に依存します。The Library of Congress+1
実務で「点群OBJ」と呼ばれるデータには、点を中心に扱うOBJと、点群から面を生成したメッシュOBJが混在しています。点のみのデータと面を持つデータでは、輪郭が欠ける理由も確認方法も異なります。そのため、最初に「元の点が欠けているのか」「面だけが欠けているのか」「面は存在するが描画条件によって見えていないのか」を分けて考えることが重要です。
この区別を行わずに点数削減や穴埋めを進めると、必要な輪郭まで削除したり、計測していない場所に推定面を作ったりするおそれがあります。寸法確認、出来形確認、体積算出などへ利用する場合は、見た目だけを整えるのではなく、元点と面の関係を確かめながら修正しなければなりません。
本記事では、「点群 OBJ アップロード」で情報を探している実務担当者に向けて、輪郭が欠けるときに確認したい五つの項目を解説します。面情報、面定義、面の向き、微小形状、座標と単位の順に調べることで、再アップロードだけを繰り返すよりも原因を切り分けやすくなります。
輪郭が欠ける原因を調べる前の基本確認
輪郭欠けを調べる前に、アップロードしたファイルが確認対象の最新版であるかを確かめます。似た名前の旧版、軽量化前の試作版、一部範囲だけを書き出した検証版を誤って選んでいると、アップロード処理が正常でも必要な輪郭は表示されません。
書き出し直後のOBJと、実際にアップロードしたOBJのファイル名、更新日時、容量を照合します。ただし、容量が同じでも内容が同一とは限らず、容量が違うだけで転送中の破損と断定することもできません。確実に照合できる運用では、書き出し元とアップロード対象のハッシュ値を比較します。圧縮して受け渡す場合は、圧縮前の元ファイル、圧縮ファイル、展開後のファイルを区別して管理してください。
次に、アップロード前のOBJを、書き出しに使用した環境とは別の閲覧環境で開きます。別の環境でも同じ場所が欠けている場合は、OBJ自体の形状または記述に問題が含まれる可能性が高まります。アップロード先だけで欠ける場合は、対応している要素、面の分割方法、裏面描画、近接頂点の統合、簡略表示など、読み込み側の条件を確認します。
点表示、面表示、ワイヤー表示を切り替えられる場合は、それぞれで同じ範囲を確認します。点表示では輪郭付近の頂点が残っているのに面表示だけが欠けるなら、計測点そのものよりも面生成や面定義が確認対象です。点表示でも同じ位置に点がなければ、計測時の遮蔽、不要点除去、切り出し範囲、書き出し対象を確認します。
背景色、表示色、透明度、陰影、照明も一時的に変更します。細い輪郭が背景に近い色で表示されていると、形状が存在していても欠けたように見えます。単色表示やワイヤー表示で確認すると、実際の形状欠損と表示上の見えにくさを区別しやすくなります。
正面だけでなく、上面、側面、斜め方向、裏側からもモデルを確認してください。常に同じ場所が消えるのか、見る方向によって消える場所が変わるのかは、原因を判断する重要な手掛かりです。
ここまでの基本確認を行った後、面情報、頂点参照、面の向き、微小形状、座標値の順に調べます。一度に複数の処理を行うと、どの変更が有効だったのか分からなくなるため、修正ごとに別ファイルを作って比較することが大切です。
確認項目1 頂点だけでなく面情報が含まれているか
最初の確認項目は、OBJファイルに必要な面情報が含まれているかどうかです。OBJでは、頂点座標を表すvと、頂点番号を参照して面を作るfは別の要素です。多数のv行があっても、対応するf行がなければポリゴンの表面は定義されません。OBJは三角形だけでなく、四つ以上の頂点を持つ多角形も表現できます。ウィキペディア+1
点群からOBJを書き出した場合、設定や変換経路によっては頂点座標だけが保存されることがあります。ただし、頂点座標だけのOBJを自動的に点群として描画するか、点要素がなければ何も表示しないか、編集用の頂点表示で見せるかはソフトウェアによって異なります。そのため、「元の環境では点が見えたから、アップロード先でも同じように見える」と判断するのは安全ではありません。
面情報の有無を確認するには、テキストとしてOBJを開いてf行が存在するかを調べる方法があります。行数が多い場合は、閲覧環境の統計表示で頂点数と面数を確認するほうが実務的です。ワイヤー表示に切り替えられる場合は、輪郭部までポリゴンの辺が連続しているかを拡大して確認します。
輪郭部分に頂点は残っているのに辺や面がない場合、その範囲では面が生成されていません。点群から面を生成する処理では、点同士の距離、近傍点数、面の角度、探索半径、穴の大きさなどが条件として使われることがあります。条件が厳しすぎると、点間隔が広い場所や急な段差に面が作られません。反対に条件が緩すぎると、本来つながっていない点同士が結ばれ、膜状の面や交差面が発生することがあります。
輪郭部は、計測方向や遮蔽物の影響を受けて点密度が低下しやすい場所です。壁面と天端の境界、構造物の裏側、細い部材の外周、地面と設備の接触部などでは、内部より面生成が不安定になります。モデル全体へ同一条件を適用した結果、平坦部は維持されても輪郭だけ面が不足することがあります。
元の点が十分に残っている場合は、モデル全体の面を作り直す前に、欠けた範囲と周辺だけを選んで局所的に面を再生成します。正常な範囲を保持したまま検証できるため、修正による変形を抑えやすくなります。
一方、元点が存在しない場所を自動的に穴埋めすると、実測していない形状を補間することになります。見た目を整える用途と、寸法や体積を扱う用途では許容できる処理が異なります。計測成果として利用するデータでは、穴埋め前に元点の有無と補間範囲を記録してください。
書き出し対象の選択漏れも確認します。編集画面で非表示になっていたグループ、別レイヤーに分けられた部材、選択範囲外の形状などが出力されないと、外周の一部だけが欠けることがあります。アップロード用OBJを作る前に、必要な対象をすべて表示し、全体出力と選択範囲出力のどちらになっているかを確かめます。
確認項目2 面定義と頂点番号に不整合がないか
二つ目の確認項目は、面定義と頂点番号の対応です。OBJの面要素は、ファイル内の頂点リストを番号で参照します。正の番号は通常一番目を1として参照し、負の番号はその時点までに定義された要素を末尾側から相対参照します。参照先が存在しない場合や、読み込み側が対応していない記述を含む場合、面を正しく復元できないことがあります。ウィキペディア+1
読み込み環境によっては、エラーで処理を中止する場合があります。一方で、問題のある面だけを読み飛ばし、残りを表示する実装も考えられます。後者では明確なエラーが出ず、輪郭の一部だけが欠けた状態で読み込みが完了することがあります。エラーログや読み込み結果の頂点数、面数を確認できる場合は、元データと比較してください。
不整合は、OBJを書き出した後にテキスト加工や独自変換を行ったときに発生しやすくなります。容量削減のためにv行だけを削除し、対応するf行を更新しなければ参照番号がずれます。複数のOBJを単純に連結する場合も、後半の正の頂点番号へ適切な加算を行わなければ、前半の頂点を誤参照します。負の相対番号を含むファイルでは、連結位置と定義順序にも注意が必要です。
通常の三次元編集環境から改めて書き出せば、頂点番号は再構成されることが多いため、手作業で番号を直すより安全です。ただし、変換ツールや独自処理を経由した場合は、書き出し後のOBJを別環境で開き、面数と外形を確認します。
輪郭が直線的に切られたように欠けている場合や、特定位置以降の形状がまとめて消えている場合は、ファイル末尾まで正常に保存されているかも確認します。ファイルの容量だけでなく、末尾付近に不完全な行がないか、書き出し処理がエラーで停止していないか、転送前後の内容が一致するかを調べてください。
面を構成する頂点数にも注意が必要です。OBJでは四角形やそれ以上の多角形を記録できますが、表示側では最終的に三角形へ分割して描画されることが一般的です。凹形状、自己交差、ねじれ、同一平面上にない頂点を含む多角形では、どの対角線で分割するかによって結果が変わる可能性があります。
複雑な多角形が輪郭部に含まれる場合は、アップロード前に三角形化し、変換後の形状を確認する方法があります。OBJ書き出し機能にも、四角形などを三角形として出力する設定を持つ環境があります。Blender Documentation
ただし、三角形化は不正な形状を自動的に正常化する処理ではありません。元の多角形が自己交差している場合や、頂点の並びが適切でない場合は、三角形化後にも重なりや反転が残ります。変換後にはワイヤー表示で輪郭部を拡大し、極端に細い三角形、重複面、交差面がないかを確認します。
修正後のOBJは元ファイルとは別名で保存し、書き出し元とは異なる閲覧環境で開きます。正常に表示できることを確かめてから再アップロードすると、OBJ内部の問題とアップロード先固有の問題を切り分けやすくなります。
確認項目3 面の向きと裏面表示が適切か
三つ目の確認項目は、面を構成する頂点の並びと裏面表示です。視点を動かすと欠ける場所が変わる場合や、正面から消えている面が反対側から見ると現れる場合は、面の表裏判定が周囲とそろっていない可能性があります。
三角形の表裏は、描画処理では頂点の並び順によって判定されることがあります。裏面を描画しない設定では、裏向きと判断された面が表示対象から除外されます。そのため、同じ外周を構成する面の一部だけ頂点順序が逆になっていると、構造物の角や外周が欠けたように見えます。Khronos Wikis
実務では、この問題を法線反転と呼ぶことがあります。ただし、OBJに記録できる頂点法線vnは主に陰影計算へ使われ、裏面判定が必ずvnだけで決まるとは限りません。輪郭が完全に消える問題を調べる際は、法線表示だけでなく、面の頂点順序と裏面描画の設定を確認する必要があります。OBJは面ごとに頂点、テクスチャ座標、法線の参照番号を記録できます。ウィキペディア+1
面の向きが乱れる原因としては、点群からの自動面生成、別々に作った形状の結合、鏡像反転、負の倍率を含む変換、部分的な面の貼り直しなどが考えられます。面を構成する頂点順序が逆になると、同じ位置にある面でも表裏判定が反対になります。
確認するときは、裏面を識別できる表示や面向き表示を使い、隣接面の向きがそろっているかを調べます。閉じた立体であれば外側を基準に向きを再計算できる場合がありますが、開いた地形面、薄板、片面だけを持つ構造では自動判定が意図と一致しないことがあります。
地形のような開いたモデルでは、上面として使うのか、下側からも見るのかによって適切な設定が変わります。壁面や薄い板では、片面表示を前提にするのか、両面表示を許容するのかも用途に応じて決めます。自動修正後は複数方向から確認し、必要な面が外側から見えることを確かめてください。
裏面表示を一時的に有効にして欠けが解消するかを調べる方法は、原因の切り分けに有効です。裏面表示で輪郭が戻る場合、面自体は存在している可能性があります。ただし、両面表示を有効にしたままにするだけでは、面の向きの不整合が残ります。
別のアップロード先や閲覧環境では片面表示になる可能性があり、陰影や面選択の結果も不安定になるため、可能であれば面の向きをそろえます。両面表示は応急的な確認方法と考え、最終データでは用途に合った面方向へ整理してください。
頂点法線が形状編集前の状態で残っている場合は、陰影が不自然になり、輪郭が背景に溶け込んだように見えることがあります。この場合は形状に合わせて法線を再計算します。ただし、陰影の乱れと面そのものの欠落を混同せず、ワイヤー表示や面数でも確認することが重要です。
確認項目4 微小面や重複頂点が残っていないか
四つ目の確認項目は、微小面、重複頂点、重複面、交差面などの不安定な形状です。点群から自動的にメッシュを生成すると、点密度が変化する場所や遮蔽物の周辺に、極端に細い三角形や面積がほとんどない面が作られることがあります。
作成元で表示できていても、アップロード先で検証、変換、近接頂点統合、簡略化などが実施される場合、結果が変わる可能性があります。ただし、どの形状を無効と判断するかはサービスやソフトウェアによって異なります。「微小面は必ず削除される」と断定せず、読み込みログ、変換後の面数、検証用データの表示結果を確認してください。
面積がほぼゼロの面は、三つの頂点がほぼ一直線上にある場合や、複数の頂点が同一または極めて近い位置にある場合に発生します。このような面は数値誤差の影響を受けやすく、環境によって表示結果が変わることがあります。輪郭線に沿って細長い面が連続していると、外周の一部が不安定に見える場合があります。
重複頂点も確認対象です。画面上では一つの角に見えていても、同一座標または非常に近い座標に複数の頂点があり、それぞれが別の面に属していると、見かけ上連続していても接続されていない境界になります。隣接面の法線が分かれたり、変換処理後に小さな隙間が生じたりする可能性があります。
近接頂点を統合する処理では許容距離が重要です。モデルの単位を確認せずに大きな値を指定すると、薄い部材の表裏、細い溝、段差、角部まで同一位置へまとめられるおそれがあります。最初は十分に小さな許容値を使い、統合前後の寸法と輪郭を比較してください。
重複面は、同じ位置に同じ形状の面が二枚以上重なった状態です。複数回の計測データを結合した場合や、部材を複製して重ねた場合に発生することがあります。重複面は奥行き判定の競合によるちらつきを起こすことがあり、向きの異なる面が重なると表示がさらに不安定になります。
面同士の交差にも注意が必要です。地面、壁、設備などを一括して面生成すると、本来別の対象である面が内部で交差することがあります。交差部に細かな破片状の面が作られている場合は、アップロード前に対象物ごとへ分けて確認する方法が有効です。
修正は、未使用頂点の確認、完全に重複した面の整理、面積が極端に小さい面の確認、必要に応じた近接頂点の統合、交差面の修正という順で進めます。一括修正機能を使う場合も、元データを複製し、処理前後を比較できるようにします。
自動検出された微小面をすべて削除すると、薄板、細い配管、鋭い角、段差などを構成する必要な面まで失う可能性があります。面積だけを基準にせず、対象物の実寸、モデルの単位、利用目的を考慮して判断してください。
確認項目5 座標値と単位が適切か
五つ目の確認項目は、座標値、原点からの距離、モデルの単位です。公共座標や現場座標をそのままOBJへ書き出すと、モデルが原点から大きく離れた位置に配置されることがあります。
OBJは頂点座標を数値として記録しますが、標準的なOBJ記述だけで「この数値はメートル」「この数値はミリメートル」と機械的に共有できる統一的な単位指定があるとは限りません。書き出し側と読み込み側で単位の前提が異なると、モデルが想定より大きくなったり小さくなったりします。ウィキペディア+1
原点から遠いモデルで細部が不安定になるかどうかは、アップロード先や描画処理の数値表現に依存します。表示側が限られた精度の数値で座標を扱う場合、大きな整数部分と小さな点間差を同時に保持しにくくなり、近接頂点や細い面の表示に影響する可能性があります。ただし、大きな座標値があれば必ず輪郭が欠けるわけではありません。
確認するときは、元座標を保存したうえで、モデル中心または現場内の基準点をローカル原点とする検証用データを作ります。形状と寸法を変えず、位置だけを原点付近へ平行移動してアップロードし、同じ視点と倍率で比較します。
原点付近へ移動したデータだけ正常に表示される場合は、大きな座標値または表示範囲が影響している可能性があります。ただし、ローカル座標化すると元の位置情報を直接利用できなくなるため、基準座標、移動方向、移動量、使用単位を記録してください。
複数モデルを重ねる場合は、案件内で共通のローカル原点を定めます。担当者ごとに異なる原点を使うと、後から統合した際に位置が合わなくなります。原点名、元座標、移動量、単位、座標系を作業記録へ残します。
単位の不一致は、アップロード後に既知の二点間距離を測ることで確認できます。構造物の幅や基準点間距離など、元データで確定している寸法を使います。想定値と大きく異なる場合は、読み込み倍率や単位設定を見直してください。
モデルが極端に大きく解釈されると表示範囲が広がり、対象が小さく見えることがあります。極端に小さく解釈されると、近接頂点の統合許容値や簡略化条件に対して形状が細かすぎる状態になる可能性があります。単位確認は、輪郭の見え方だけでなく後工程の距離、面積、体積にも関係します。
座標調整では、平行移動と倍率変更を混同しないことが重要です。原点からの距離を小さくするために必要なのは位置の移動です。倍率を変更すると距離、面積、体積が変わるため、単位変換として意図的に行う場合を除き、原点調整の代わりに使わないでください。
欠け方の特徴から原因を切り分ける方法
輪郭欠けの原因は、欠け方の特徴からある程度絞り込めます。最初に、視点を変えても同じ場所が欠け続けるかを確認します。同じ場所が常に欠ける場合は、面情報の不足、面定義の不整合、微小面、書き出し範囲などを優先して調べます。
反対側から見ると欠けていた面が現れる場合は、面の頂点順序と裏面表示の影響が疑われます。面自体が存在する可能性があるため、面を再生成する前に面向き表示と両面表示で確認します。
近づくと見え、遠ざかると輪郭が途切れる場合は、点の表示サイズ、画面上の解像度、表示倍率、簡略表示などを確認します。アップロード先が距離に応じた簡略化を行う場合は、細い部材や小さな突起が遠距離で省略される可能性があります。ただし、すべての環境が同じ簡略化を行うわけではないため、仕様や設定を確認してください。
角、段差、細い部材だけが丸くなったり欠けたりする場合は、軽量化や近接頂点統合の条件が強すぎる可能性があります。平坦部は少ない頂点でも外形を維持しやすい一方、形状変化の大きい場所では輪郭を保持する頂点が必要です。
多数の小さな穴が不規則に発生している場合は、元点の密度不足、微小面、重複頂点、交差面、面向きの乱れを確認します。穴を一括で埋める前に、周囲に元の計測点が存在するかを確かめます。
輪郭が一定の直線や平面で切られたように消えている場合は、書き出し範囲、クリッピング範囲、選択範囲、ファイル末尾、座標値を確認します。編集画面の表示領域と実際の書き出し対象が一致しているとは限りません。
特定の部材単位で欠けている場合は、グループ、オブジェクト、レイヤー、表示状態、選択状態を確認します。必要な部材が非表示または未選択のまま書き出されていないかを調べてください。
原因を切り分けるときは、一度に一つの条件だけを変更します。面向きの修正、頂点統合、三角形化、座標移動、軽量化を同時に行うと、改善理由が分からなくなります。変更ごとに別ファイルへ保存し、同じ視点、倍率、背景、表示方式で比較します。
点群OBJを修正して再アップロードする手順
輪郭欠けを修正する際は、元の点群、編集データ、書き出し直後のOBJ、実際にアップロードしたOBJを分けて保存します。アップロード用ファイルへ直接上書きすると、修正によって形状が悪化した場合に元へ戻れません。
次に、欠けている範囲を特定します。正面、側面、上面、斜め方向から確認し、画面上の位置だけでなく、対象物のどの端部が欠けているかを記録します。同じ視点を再現できるように画像や視点情報を残すと、修正前後を比較しやすくなります。
点表示で元点の有無を確認します。元点が残っている場合は、面生成、面定義、面向きの修正を優先します。元点がない場合は、計測データ、切り出し範囲、不要点除去の履歴を確認します。別方向から取得した点がある場合は、位置合わせの精度を確認してから不足範囲へ利用します。
面表示とワイヤー表示では、穴、重複面、交差面、細長い三角形、ねじれた多角形を確認します。問題が局所的であれば、その範囲だけ面を削除し、周囲の正常な頂点を使って再生成します。
面向きは、両面表示を無効にした状態と有効にした状態を比較します。反対側からだけ見える面があれば、頂点順序または面向きを修正します。頂点法線を再計算する場合は、陰影の改善と面の表裏修正を区別してください。
重複頂点を整理するときはモデルの単位を確認し、十分に小さな許容距離から開始します。統合後に角、段差、薄い部材、配管径などが変わっていないかを測定します。頂点数を減らすことより、必要な形状を維持することを優先します。
複雑な多角形がある場合は三角形化した検証版を作り、変換後の対角線、面向き、細長い三角形を確認します。三角形化後に不安定な面が増えた場合は、周辺の頂点配置や元の多角形から見直します。
座標値が大きい場合は、移動量を記録してローカル原点付近へ平行移動した検証版を作ります。同時に単位を確認し、既知寸法が一致しているかを測ります。
修正後は、書き出し元とは別の閲覧環境でOBJを開きます。頂点数、面数、外形、既知寸法を確認してから、アップロード先でも同じ視点と表示倍率で比較します。
モデル全体が大きい場合は、輪郭が複雑な範囲を含む小さな検証用データを同じ条件で書き出します。小規模データで面向き、三角形化、座標移動などを比較してから全体へ適用すると、原因を把握しやすくなります。
輪郭欠けを防ぐための計測と書き出しの考え方
輪郭欠けは、OBJを書き出す段階だけでなく、点群を取得する段階から予防することが重要です。対象物の端部や角部は、一方向からの計測では点が不足しやすいため、可能な範囲で異なる方向や高さから取得します。
壁の角を正面だけから取得すると、正面の点は密でも側面や裏側の点が不足します。その状態で面を生成すると、正面と側面の境界に穴が生じる可能性があります。構造物の輪郭を残したい場合は、角をまたぐように複数方向から確認します。
地面と設備の接触部、擁壁の天端、階段の段鼻、配管の外周なども遮蔽が起こりやすい場所です。現場で取得結果を確認できる場合は、計測直後に輪郭部を拡大し、点が連続しているかを確認します。現場を離れてから不足に気付くと、再計測が必要になる可能性があります。
ただし、同じ範囲を繰り返し取得すればよいとは限りません。位置合わせが不十分な複数の点群を重ねると、輪郭が二重になり、面生成後に凹凸、重複面、細い隙間が発生することがあります。複数回の計測データを統合するときは、共通基準を使い、ずれを確認します。
不要点の除去も慎重に行います。離れた位置のノイズを整理することは有効ですが、外周にある点を一括削除すると必要な輪郭まで失う可能性があります。上面だけで判断せず、側面や斜め方向から確認しながら処理してください。
面生成では、モデル全体へ一律の条件を適用するより、点密度や形状に応じて範囲を分けたほうが適切な場合があります。広い地表面、垂直壁、細い設備、複雑な角部では、点間隔や適切な探索条件が異なるためです。
軽量化するときは、単純な削減率だけで条件を決めないことが重要です。モデル全体の面数を一定割合で減らすと、平坦部だけでなく輪郭を構成する頂点も削減される可能性があります。外周、角、段差などの形状変化を優先して残し、処理前後の寸法を比較します。
書き出し時には、単位、座標、選択対象、非表示対象、面の三角形化、法線出力、グループ構成を確認します。毎回異なる設定で書き出すと、同じ点群でもアップロード結果が変わります。案件ごとに設定と使用した版を記録し、再現できる状態にしておくことが大切です。
点群OBJアップロード前の最終確認
点群OBJをアップロードする直前には、形状だけでなくファイル全体の状態を確認します。まず、必要な頂点と面が含まれているかを調べます。点表示、面表示、ワイヤー表示を切り替え、輪郭部を重点的に確認してください。
次に、不要な孤立点がないかを確認します。モデルから遠く離れた位置に点があると表示範囲が広がり、対象部分が小さく表示されることがあります。孤立点を削除する前に、計測上必要な基準点や管理点ではないことを確認します。
面の向きも確認します。裏面表示を無効にし、正面、側面、裏側からモデルを見ます。見る方向によって面が消える場合は、面の頂点順序と向きを確認します。
微小面、重複頂点、重複面、交差面を調べ、必要な範囲だけを修正します。自動修正を行った場合は、頂点数や面数だけでなく、輪郭、既知寸法、薄い部材が維持されているかを確認してください。
モデルの単位は既知距離を測って確認します。座標値が大きい場合は、原点付近へ平行移動した検証用データも作り、同じ条件で表示結果を比較します。
OBJを書き出した後は、可能であれば書き出し元とは別の環境で開きます。書き出し元だけで確認すると、その環境固有の補正や表示機能によって問題を見落とす可能性があります。
ファイル名には、対象範囲、処理段階、作成日、版番号などを含めます。元点群、面生成後、軽量化後、アップロード用を区別し、旧版を誤って選ばないようにします。
アップロード前後のファイルを確実に照合したい場合は、容量だけでなくハッシュ値を記録します。アップロード先で再取得できない場合でも、送信した元ファイルの識別情報を残しておけば、検証対象を特定しやすくなります。
アップロード後は、元データと同じ視点だけでなく、異なる方向と表示倍率でも比較します。近距離では正常でも遠距離で見えにくい場合や、正面では正常でも裏側から消える場合があるためです。
問題が見つかった場合は、一度にすべての設定を変えず、修正内容ごとに別ファイルを作ります。どの変更で輪郭が改善したかを記録すれば、次回以降の点群OBJアップロードでも同じ確認手順を活用できます。
まとめ
点群OBJアップロード後に輪郭が欠ける場合は、アップロード失敗だけを疑うのではなく、OBJの面情報、頂点参照、面の向き、微小形状、座標値と単位を順番に確認することが重要です。
最初に、点そのものが欠けているのか、面だけが欠けているのか、面は存在するものの描画条件で見えていないのかを区別します。頂点が残っているのに面表示で消える場合は、面生成や面定義が主な確認対象です。視点によって消える位置が変わる場合は、面の頂点順序と裏面表示を調べます。
常に同じ位置が欠ける場合は、面情報の不足、頂点番号の不整合、微小面、書き出し範囲などが考えられます。角や細い部材だけが失われる場合は、軽量化や近接頂点統合の条件が強すぎないかを確認してください。
公共座標や現場座標を含むOBJでは、原点からの距離と単位も確認対象です。大きな座標値の影響が疑われる場合は、移動量を記録したうえでローカル原点付近へ平行移動した検証版を作り、同じ条件で比較します。
修正作業では元データを残し、一つの処理ごとに別ファイルを作成します。三角形化、面向きの修正、頂点統合、座標移動などを同時に行わず、処理前後の輪郭と既知寸法を比較してください。
輪郭欠けを防ぐには、書き出し設定だけでなく、計測時に端部や角部の点を十分に取得することも大切です。複数方向から対象を確認し、取得直後に輪郭部の点密度を確認できれば、後工程での穴埋めや再計測を減らしやすくなります。
現場で位置情報と三次元データを取得し、点群の状態を早い段階で確認する運用では、LRTK Phoneの活用も選択肢になります。取得した点群を確認しながら対象範囲や輪郭の不足を把握し、書き出し条件を記録することで、点群OBJアップロード後の手戻りを抑えやすくなります。