LRTKレフィクシア株式会社

点群OBJの未閉鎖境界を修復して表示欠けを防ぐ6チェック

点群OBJの未閉鎖境界とは何か

点群をもとに作成したOBJをアップロードした際、モデルの一部が抜けて見える、視点を変えると面が消える、構造物の内部が透けて見えるといった問題が起こることがあります。その原因として確認したいものの一つが、メッシュに残った未閉鎖境界です。 点群は、多数の点によって対象物の位置や形状を表したデータです。一方、OBJには頂点だけでなく、複数の頂点を結んだ面を記録できます。点群から三角形などの面を生成し、連続した表面としてOBJへ書き出したものは、一般にメッシュデータとして扱われます。 未閉鎖境界とは、メッシュの表面が途中で途切れ、面によって閉じられていない部分です。閉じた立体のメッシュでは、通常、一つのエッジを二つの面が共有します。これに対し、一つの面だけに接続しているエッジは境界エッジとなります。境界エッジが連続して輪を作っている場合、その内側に面がない可能性があります。 ただし、境界エッジが存在するOBJが、必ず不良データであるとは限りません。地表面だけを表したメッシュでは計測範囲の外周が開いています。建物の外壁だけを作成したモデルや、断面位置で切断したモデルにも開いた境界が残ります。窓、扉、配管口など、実物に存在する開口部もあります。 そのため、点群OBJの修復では、境界をすべて閉じるのではなく、意図した境界と意図しない穴を区別することが重要です。見た目を整えるために無条件で穴を埋めると、実際には存在しない面が追加され、形状確認や数量計算に影響する可能性があります。 また、OBJには頂点だけを記録し、面を持たせない構成もあります。頂点だけのOBJでは、メッシュとしての穴や未閉鎖境界は発生しません。今回扱う修復方法は、主に点群から表面を生成し、面情報を含めて書き出したOBJが対象です。 点群OBJアップロード時の表示欠けを防ぐには、穴を見つけて埋めるだけでは十分ではありません。境界エッジの検出、開口部の判断、頂点の整理、面の品質確認、法線の統一、書き出し後の再検証までを順番に行う必要があります。

未閉鎖境界が表示欠けにつながる仕組み

未閉鎖境界があると、メッシュの一部に面が存在しないため、その部分からモデルの内側や反対側が見えることがあります。壁面や地面の中央に穴が残っている場合は、正面から見ても欠けを認識しやすいでしょう。 一方で、表示欠けの原因が未閉鎖境界だけとは限りません。実際には面が存在していても、法線が反転していると、特定の方向から面が表示されないことがあります。閲覧環境が面の表側だけを描画する設定になっている場合、裏向きの面は透明になったように見えます。 同じ位置に複数の面が重なっている場合も、描画が不安定になることがあります。視点を動かしたときにちらついたり、面の一部が欠けたりする場合は、重複面や近接した二重面が残っていないかを確認する必要があります。 面積がほとんどない三角形も問題になります。三つの頂点がほぼ一直線に並んだ面や、同じ位置にある頂点を複数参照した面は、編集画面では残っているように見えても、アップロード時の変換処理で除外される場合があります。その結果、変換後のモデルに穴が生じます。 材質の透明度や画像の透過情報によって面が見えなくなり、穴のように感じる場合もあります。形状の問題と材質の問題を混同しないためには、単色表示やワイヤーフレーム表示を使って、面そのものが存在するかを確認することが有効です。 表示欠けを正しく修復するには、まず面が本当に欠落しているのかを判断します。面がなければ未閉鎖境界の修復が必要です。面はあるものの特定方向から見えない場合は、法線や裏面表示を確認します。面がちらつく場合は、重複面や交差面を疑います。 原因を区別せずに穴埋め処理を行うと、既存面の上に新しい面を追加してしまう可能性があります。これにより、表示欠けが直らないばかりか、重複面が増えて別の不具合を招くことがあります。

チェック1 境界エッジの位置と連続性を確認する

最初のチェックは、OBJ内にある境界エッジを検出し、その位置と形状を確認することです。モデルを通常表示した状態で目視するだけでは、小さな穴、細い裂け目、構造物の裏側にある欠損を見落としやすくなります。 メッシュ検査に対応した汎用的な3D編集環境では、一つの面だけに接続しているエッジを抽出できます。抽出されたエッジを強調表示すると、メッシュが開いている位置を把握しやすくなります。 境界エッジが閉じた輪になっている場合は、輪の内側に面がない可能性があります。小さな輪であれば、点群の局所的な欠測、ノイズ除去による点の消失、表面生成時の処理不足などが考えられます。 境界エッジが細長く連続している場合は、複数のメッシュを結合した位置に隙間が残っている可能性があります。区画ごとに点群を処理した後でメッシュを組み合わせると、接合位置の頂点が同じ座標を共有せず、見た目だけが接している状態になることがあります。 境界エッジがモデルの外周全体にある場合は、意図した計測範囲の端である可能性が高いでしょう。地表面のメッシュでは外周が閉じていないことが一般的であり、その境界をすべて穴として修復する必要はありません。 境界エッジと同時に確認したいのが、非多様体と呼ばれる不安定な接続です。一般的な閉じた表面では、一つのエッジに二つの面が接続します。一つのエッジに三つ以上の面が接続している場合、どちらが内側でどちらが外側かを決めにくくなり、法線計算や面の簡略化で問題が起きることがあります。 複数の面領域が一つの頂点だけで接続している形状にも注意が必要です。画面上では一続きのモデルに見えても、変換処理では独立した部品とみなされたり、一部の面が不安定になったりする場合があります。 境界を検出したら、本数だけで品質を判断せず、発生位置を分類します。計測範囲の外周、実物の開口部、未計測範囲、複数データの接合部、ノイズが多い部分などに分けると、適切な処理を選びやすくなります。 大規模な点群OBJでは、一度にすべての境界を修復しようとすると、意図しない場所まで変更する危険があります。まずモデルを区画ごとに確認し、修復対象の境界を限定することが大切です。

チェック2 意図した開口部と修復対象の穴を区別する

二つ目のチェックは、検出した境界が閉じるべき穴なのか、残すべき開口部なのかを判断することです。自動修復機能を使って境界をすべて閉じると、実際には存在しない面が作られる可能性があります。 地形表面のOBJでは、計測範囲の外側が開いているのが一般的です。外周から下方向へ面を追加し、底面まで閉じると、地表面が厚みを持った立体に変わります。閲覧だけが目的であれば問題が目立たない場合もありますが、断面確認や体積計算では結果が変わる可能性があります。 建物や設備のモデルには、窓、扉、換気口、配管口、点検口などの開口部があります。点群や現場写真から実物の開口が確認できる場合、その境界は穴として閉じるべきではありません。 平坦な壁面や床面の中央に小さな穴がある場合は、修復対象となる可能性があります。周囲の点群が連続しており、実物に開口部がないことを確認できれば、周辺形状を参考に面を補うことができます。 ただし、点群が取得できていない範囲を面で埋める行為は、実測ではなく推定です。遮蔽物の裏側、機材の下、深い凹部などを周囲の形状から補間しても、実際の起伏や段差が再現されているとは限りません。 閲覧用モデルとして見た目を整えるための補間と、計測成果として使用する形状の補間は、分けて考える必要があります。位置確認や外観説明を目的とする場合は、小さな欠損を滑らかな面で補う運用も考えられます。一方、数量計算や出来形確認に使う場合は、推定面が結果へ影響しないかを慎重に確認しなければなりません。 修復対象を判断する際は、元の点群、現場写真、図面、別方向から取得したデータなどを参照します。OBJだけを見て判断すると、実際の開口部を欠損と誤認する可能性があります。 断面表示も有効です。正面から見ると単純な穴に見えても、断面を確認すると、薄い二重面が重なっていたり、内側に別の面が残っていたりする場合があります。面が欠けているのか、接続だけが切れているのかを区別してから修復します。 修復する境界と残す境界を決めたら、その判断を記録しておくことも重要です。後工程の担当者が境界を再検出した際、意図的に残した開口部なのか、未修復の不具合なのかを判断しやすくなります。

チェック3 重複頂点と微小な隙間を整理する

三つ目のチェックは、同じ位置や非常に近い位置にある頂点を整理し、隣接する面を正しく接続することです。見た目では面同士が接していても、内部では別々の頂点を参照していることがあります。 複数の点群区画からメッシュを作成し、後から結合した場合に起こりやすい問題です。区画の境界に同じような頂点が二組作られ、座標値がわずかに異なると、面同士は同じエッジを共有できません。その結果、細い未閉鎖境界が残ります。 この問題には、一定距離以内にある頂点を統合する処理が利用できます。ただし、統合の許容値を大きくしすぎると、本来別々である形状まで接着する危険があります。 特に注意したいのは、薄い壁、板状部材、配管、手すり、柵、縁石などです。表裏の頂点間隔より統合距離が大きい場合、厚みが失われたり、近接する別部材が一体化したりする可能性があります。 適切な許容値は、点群の精度、点間隔、OBJの座標単位、対象物の最小寸法によって異なります。OBJでは、座標値がどの長さ単位を表しているかがファイル内で明確に定義されていない場合があります。メートルを想定したモデルとミリメートルを想定したモデルでは、同じ数値の許容値でも実際の距離が大きく異なります。 頂点統合を行う前に、モデルの外形寸法を測り、使用している単位を確認します。そのうえで、最初は非常に小さな許容値を使い、完全重複に近い頂点だけを整理します。 処理後は、境界エッジ数がどの程度減ったかを確認します。境界が減り、外形や細部に変化がなければ、許容値を維持できます。境界が残る場合は、問題箇所だけを選択し、段階的に許容値を調整します。 モデル全体へ大きな統合距離を一括適用するのは避けたほうが安全です。局所的な隙間を直すために、離れた場所の細い形状まで変形させる可能性があるためです。 統合前後では、頂点数、面数、外形寸法を比較します。頂点数が予想以上に減った場合は、広い範囲が統合された可能性があります。外形寸法や部材の厚さが変化した場合も、許容値が大きすぎると判断できます。 重複頂点とあわせて、重複面も整理します。同じ位置に同じ形状の面が複数残っていると、ちらつきや法線の不一致を起こします。頂点順序だけが反対の面が重なっている場合は、表裏が競合して表示が不安定になることがあります。 不要な重複面を削除した後、境界エッジを再検出します。面を削除したことで新たな穴が現れる場合があるためです。片方が不要な重複面なのか、両方とも別の立体に必要な面なのかを確認してから整理します。

チェック4 穴埋め後の面構成と三角形品質を確認する

四つ目のチェックは、穴を埋めた後に作られた面が、周囲の形状に合っているかを確認することです。境界が閉じたという結果だけで修復完了と判断すると、不自然な面や不安定な三角形を残すことがあります。 小さく平坦な穴であれば、境界を三角形へ分割して閉じても大きな変形は起こりにくいでしょう。一方、曲面、段差、ねじれた境界、細長い穴では、単純な穴埋めによって周囲と合わない面が生成される場合があります。 穴の輪郭に多数の細かな頂点が並んでいると、極端に細長い三角形が作られることがあります。細長い三角形は、法線計算や面削減で不安定になりやすく、アップロード時の最適化によって削除される可能性があります。 穴埋めの前に、境界上の孤立頂点やノイズ由来の細かな折れを整理すると、面を安定させやすくなります。ただし、角や段差を示す重要な頂点まで削除すると、実形状が丸められてしまいます。 境界を単純化する場合は、周囲の形状を保てる範囲に限定します。構造物の角、地形の変化点、法肩や法尻、段差の端部などは、形状を表す重要な位置であるため残す必要があります。 穴埋め後は、新しく生成された面の大きさを周囲と比較します。周囲の面に対して極端に大きな面がある場合は、アップロード後の陰影が不自然になったり、変換処理で意図しない分割が行われたりする可能性があります。 反対に、必要以上に細かな面を多数作っても、元の点群情報が増えるわけではありません。未計測範囲を細分化しても、実測精度が高くなるわけではないため、用途に必要な面構成へ整理します。 面同士の交差にも注意が必要です。複雑な輪郭を自動的に穴埋めすると、境界の外へ面が張り出したり、新しい面同士が交差したりすることがあります。通常表示では気づきにくいため、ワイヤーフレーム表示や断面表示を利用します。 修復した部分を複数方向から確認することも重要です。正面から滑らかに見えても、側面から見ると周囲より突出している場合があります。上面、側面、斜め方向のほか、必要に応じて断面で確認します。 地形の穴を補間する場合は、周囲の傾斜を確認します。境界の両側で高さや傾斜が異なると、平らな面で閉じた部分が盛り上がったり、くぼんだりします。周辺の点群と比較し、不自然な起伏がないかを確認します。 穴埋め後には、縮退面も検査します。三つの頂点のうち二つが同じ位置にある面や、三頂点がほぼ一直線に並ぶ面は、面積がほとんどありません。編集環境で表示できても、OBJアップロード時に無効な面として除外される場合があります。 修復前後の表面積や体積を比較する方法もあります。閉じた立体で大きな変化が生じた場合は、穴埋め面が不適切な位置に作られた可能性があります。ただし、地表面のような開いたメッシュでは体積を直接比較できない場合があるため、用途に応じて断面や点群との距離を確認します。

チェック5 法線方向と面の頂点順序を統一する

五つ目のチェックは、修復した面を含め、法線方向を統一することです。未閉鎖境界を正しく埋めても、新しく作られた面の向きが周囲と反対であれば、その面だけが欠けて見えることがあります。 面の向きは、面を構成する頂点の並び順によって決まります。OBJの面情報では、頂点番号を記述する順序が反対になると、面の表裏も反対になります。 閉じた立体では、一般に外側へ向くように法線をそろえます。地表面などの開いたメッシュでは、上側から表示される向きに統一することが多いものの、利用する座標系や閲覧環境によって必要な方向は変わります。 法線を確認する際は、面から伸びる線として表示すると分かりやすくなります。周囲の面が外側を向いているのに、修復した面だけ内側を向いている場合は、その面を反転させます。 多くの3D編集環境には、連続した面から内外を判定して法線を再計算する機能があります。ただし、非多様体形状、重複面、交差面が残っていると、正しい方向を判断できない場合があります。 そのため、法線の再計算は、重複頂点や重複面を整理し、穴埋めと面交差の確認を行った後に実施するのが基本です。先に法線だけをそろえても、形状の接続が不正であれば再び向きが乱れる可能性があります。 面法線と頂点法線の違いも理解しておく必要があります。面法線は各面の幾何学的な向きを表します。頂点法線は、周辺の面を滑らかに見せるための陰影情報として使われます。 表面が連続しているのに、照明の当たり方だけが不自然な場合は、頂点法線やスムージングの設定が影響している可能性があります。一方、視点を反対側へ移したときに面が現れる場合は、面法線や頂点順序の反転を優先して確認します。 両面表示を有効にすると、反転した面でも一時的に見えるようになる場合があります。しかし、両面表示は法線や未閉鎖境界を修復する処理ではありません。別形式への変換、面削減、断面作成、体積計算などでは問題が残る可能性があります。 薄い一枚面を表裏の両方から見せるために、同じ位置へ反対向きの面を複製する方法もありますが、重複面によるちらつきが生じる可能性があります。実物に厚みがある場合は、形状へ適切な厚みを持たせる方法を検討します。 法線を統一した後は、通常表示だけでなく単色表示でも確認します。材質やテクスチャの影響を外すことで、法線による陰影の不連続や反転面を発見しやすくなります。

チェック6 OBJ書き出し後に再読み込みして検証する

六つ目のチェックは、3D編集環境上で正常に見えることだけで完了とせず、OBJへ書き出した後のファイルを再読み込みして確認することです。 編集環境の内部データでは、ソフトウェア独自の補助情報によって正常に表示されていても、OBJへ保存した際に一部の情報が変換される場合があります。書き出したファイルを実際に読み直すことで、アップロードに近い状態を確認できます。 まず、OBJを書き出す前に、境界エッジ、非多様体形状、重複頂点、重複面、縮退面、自己交差を再検査します。意図的に残した外周や開口部を除き、修復対象とした境界が残っていないことを確認します。 書き出したOBJは、作業中のモデルへ上書きで読み込むのではなく、新しい空の環境へ読み込みます。これにより、保存されていない内部情報や作業履歴に依存せず、OBJ単体で形状を復元できるかを確認できます。 再読み込み後は、頂点数、面数、外形寸法、座標位置、軸方向を比較します。面数が大幅に減っている場合は、書き出し時または読み込み時に無効な面が除外された可能性があります。 外形寸法が変わっている場合は、単位や倍率を確認します。OBJでは単位が明示されないことがあるため、書き出し側と読み込み側の想定が異なると、モデルの大きさが変化する場合があります。 座標軸の向きにも注意します。上下方向や前後方向の解釈が異なると、モデルが回転した状態で読み込まれます。回転だけで未閉鎖境界が生じるわけではありませんが、裏面から表示する状態になり、法線反転による欠けが目立つことがあります。 OBJの面は、頂点番号を参照して構成されます。存在しない頂点番号を参照する面や、正しく解釈できない記述がある場合、その面が読み飛ばされる可能性があります。特定の位置だけ再読み込み後に欠ける場合は、その周辺の面情報が有効かを確認します。 四角形以上の多角形にも注意が必要です。読み込み側では、多角形を内部的に三角形へ分割して表示することがあります。輪郭が凹んだ多角形や、頂点が同一平面上にない多角形は、分割方法によって面が交差したり、欠けたりする場合があります。 アップロード前に三角形へ変換する場合は、変換後の面構成を確認します。三角形化しただけで安全になるとは限らず、不適切な対角線によって細長い面や交差面が作られることがあります。 ファイル容量を減らすために面削減を行った場合は、削減後に境界エッジを再検出します。境界を保持しない面削減では、外周や穴の周辺にある面が削除され、新しい隙間が生じる場合があります。 大きな座標値を持つOBJも慎重に扱います。測量座標をそのまま使用すると、モデルが原点から遠い位置に配置される場合があります。閲覧環境の内部計算によっては、近接する頂点の差を十分に表現できず、面のちらつきや隙間が目立つ可能性があります。 表示用として座標をローカル原点付近へ移動する場合は、移動量を記録します。元の測量座標と表示用座標を混同すると、別の点群や図面と正しく重ねられなくなります。 最後に、実際のアップロード先で正面、背面、上面、下面、斜め方向から確認します。一つの視点だけでは、反転面や内部の不要面を見落とす可能性があります。

点群OBJアップロード前に確認したい関連項目

OBJ本体の形状を修復しても、材質や関連ファイルの問題によって表示が欠けたように見えることがあります。形状と外観の問題を分けるため、アップロード前に関連項目も確認します。 OBJでは、材質情報を別のファイルから参照する構成が使われる場合があります。OBJ内の参照名と実際の材質定義ファイル名が一致していないと、色や画像が適用されません。 材質に透明度が設定されている場合、面自体は存在していても見えにくくなります。画像に透過情報が含まれている場合も、一部が抜けたように表示されることがあります。 単色表示で正常に見えるのに、材質を適用すると欠ける場合は、未閉鎖境界ではなく透明度や画像の設定を確認します。ワイヤーフレーム表示でも面がない場合は、形状側の問題を疑います。 関連画像を使用する場合は、ファイル名、拡張子、文字の大小、保存場所を確認します。作業環境内の絶対的な保存場所が記録されていると、アップロード後に画像を参照できない場合があります。 ファイル構成はできるだけ単純にします。OBJ、材質定義、関連画像を同じ管理単位にまとめ、不要な旧版を混在させないことが大切です。 修復前と修復後のOBJが同じ場所にあり、似た名前になっていると、誤って修復前のファイルをアップロードする可能性があります。版や作成日、用途が分かる名前を付け、アップロード対象を明確にします。 ファイル名には、環境によって扱いが異なりやすい特殊な記号を避けると安全です。長すぎるファイル名や深い階層も、参照関係を分かりにくくするため注意します。 OBJアップロード後に材質だけが欠けている場合は、面の修復をやり直す前に関連ファイルを確認します。原因を取り違えると、正常な面へ不要な穴埋めや複製を行うことになります。

自動修復で起こりやすい失敗を防ぐ方法

大規模な点群OBJには、多数の境界エッジや微小な不正形状が含まれることがあります。すべてを手作業で修復するのは負担が大きいため、自動検出や自動修復を利用する場面もあります。 ただし、自動修復は実物の意味を理解して処理するわけではありません。窓や扉などの開口部、地形メッシュの外周、断面位置で切断した境界も、閉じるべき穴として処理される可能性があります。 自動修復を行う前には、必ず元のOBJを複製します。修復後の形状が不適切だった場合に、元へ戻せる状態を確保します。元の点群も変更せず保存しておくことが重要です。 境界は大きさや位置によって分類します。小さな穴、細い接合隙間、大きな欠測部、計測範囲の外周、実物の開口部を同じ条件で処理しないようにします。 小さな穴には自動穴埋めを適用できる場合がありますが、処理後の面構成と法線を確認します。細い接合隙間では、穴埋めより頂点統合が適している場合があります。 大きな欠測部は、周囲の境界だけを使って自動的に閉じると、不自然な平面や曲面が作られやすくなります。形状精度が必要な場合は再計測を検討し、再計測できない場合は推定面であることを明確にします。 複数の修復処理を一度に実行しないことも大切です。頂点統合、重複面削除、穴埋め、法線再計算、面削減を一括で行うと、どの処理によって形状が変わったのかを判断できません。 工程ごとに保存し、境界数、頂点数、面数、外形寸法を比較します。異常が見つかった場合、直前の工程へ戻ることで原因を特定しやすくなります。 自動修復後は、モデル全体を通常表示で眺めるだけでなく、問題箇所を拡大して確認します。薄い部材、段差、角、細い隙間などは、自動処理による変形が起こりやすい部分です。 元点群と修復後メッシュの距離を比較できる場合は、修復による張り出しやへこみの確認に役立ちます。ただし、点群が存在しない欠測部では比較できないため、別の資料や周辺形状による判断が必要です。

修復しても表示欠けが残る場合の切り分け

六つのチェックを行っても欠けが残る場合は、OBJ自体の問題とアップロード先の表示条件を切り分けます。 同じOBJを複数の汎用的な閲覧環境で読み込み、同じ位置が欠けるかを確認します。複数の環境で同じ面が欠ける場合は、OBJ内に面が存在しない、面の参照が不正、縮退面が除外されているなど、データ側の問題が疑われます。 一つの環境だけで欠ける場合は、裏面非表示、表示距離、面削減、対応する面形式、材質の解釈など、閲覧側の条件を確認します。 視点を反対側へ移すと面が見える場合は、法線方向の問題である可能性があります。視点を動かしたときにちらつく場合は、重複面や非常に近接した面を確認します。 モデルの一部が距離によって消える場合は、表示時の簡略化や描画範囲が影響している可能性があります。細かな面を大量に含むOBJでは、表示負荷を抑えるために一部が簡略化される場合があります。 非常に小さな三角形だけが消える場合は、面の大きさや縦横比を確認します。ノイズ由来の微小面や細長い面を整理し、必要な形状を保ったまま面構成を安定させます。 テクスチャや材質を外して単色表示する方法も有効です。単色では正常に表示される場合、透明度や関連画像を確認します。単色でも欠ける場合は、形状、法線、座標精度を優先します。 大きな座標値を持つモデルでは、ローカル原点付近へ複製を移動し、表示状態を比較する方法があります。移動後に欠けが改善する場合は、座標値と内部精度の関係が影響している可能性があります。 ただし、表示確認用に座標を移したOBJを測量成果として扱わないようにします。元座標へ戻すための移動量や変換条件を記録し、位置情報を保持したデータと区別します。 アップロード時に自動変換が行われる場合は、変換前後の頂点数や面数を比較できる範囲で確認します。面数が減っている場合、無効面の除外や自動簡略化が行われている可能性があります。

未閉鎖境界を増やさない点群計測とメッシュ生成

未閉鎖境界の修復負担を減らすには、OBJを書き出した後だけでなく、点群を取得する段階から欠測や位置ずれを減らすことが重要です。 構造物の角、段差、部材の裏側、狭い隙間、上面と下面の境界は、単一方向からの計測では点が不足しやすい場所です。対象物を複数方向から計測し、表面を構成するために必要な点を確保します。 遮蔽物がある場合は、位置を変えて計測します。車両や資材の下、設備の裏側などに大きな欠測があると、後処理で形状を正確に復元することが難しくなります。 反射条件や対象物の材質によって点が取得しにくい場合もあります。点群に空白やばらつきが多い部分を現場で確認できれば、追加計測によって修復作業を減らせます。 複数の点群を結合する際は、接合部のずれを確認します。位置合わせが不十分な点群からメッシュを作ると、二重面、段差、細い隙間が発生しやすくなります。 点群同士の重複範囲を確保し、共通する形状や基準となる位置を使って整合させます。結合後は、断面表示で段差がないかを確認します。 人、車両、仮設物、浮遊点などの不要点も、メッシュ生成前に整理します。不要点と対象物の間に面が張られると、交差面や細長い突起が作られることがあります。 不要物を削除した範囲に大きな空白ができた場合は、そのまま自動補間するのではなく、再計測の必要性を判断します。補間する場合は、推定範囲として管理します。 メッシュ生成の細かさは、元の点密度と利用目的に合わせます。点間隔に対して過度に細かな面を作ると、計測ノイズを拾い、微小な穴や細長い面を増やす可能性があります。 反対に、粗すぎる面を作ると、小さな段差や薄い部材が消え、離れた表面が一つにつながる場合があります。対象物の最小形状を考慮して設定します。 閲覧用、位置確認用、断面確認用、数量計算用では、必要なメッシュ品質が異なります。閲覧用では軽量化が重要ですが、数量計算では座標や境界形状の保持を優先する必要があります。 一つのOBJをすべての用途に使おうとすると、容量と精度のバランスが取りにくくなります。元データを保持しながら、目的に応じて表示用と計測用のOBJを分ける方法が有効です。

点群OBJ修復の作業記録を残す重要性

点群OBJの修復では、完成したファイルだけでなく、どのような処理を行ったかを記録することが重要です。 頂点統合の許容値、削除した重複面の数、穴埋めを行った位置、意図的に残した開口部、法線の再計算方法、面削減の有無などを記録します。 座標を移動した場合は、移動方向と移動量を必ず残します。表示用のローカル座標から元の測量座標へ戻せない状態になると、ほかの点群や図面との位置合わせが困難になります。 大きな欠測部へ推定面を追加した場合は、その範囲が実測ではないことを明確にします。見た目では周囲と連続しているため、後工程の担当者が実測面と誤認する可能性があります。 修復前のOBJ、工程ごとの中間データ、完成OBJを分けて保存します。最終結果に問題が見つかった場合、すべてを最初からやり直さず、該当する工程へ戻れます。 ファイル名だけに情報を詰め込みすぎると管理しにくくなるため、作業記録を別に残す方法もあります。モデルの用途、座標系、単位、修復日、修復範囲、確認結果を簡潔に整理します。 複数人で作業する場合は、修復済みの定義を統一します。境界エッジがゼロであることだけを完了条件にすると、意図した開口部まで閉じる可能性があります。 意図した境界を除いて不正な穴がないこと、非多様体形状が整理されていること、法線が統一されていること、書き出し後の再読み込みで欠けがないことなど、用途に応じた確認条件を定めます。 アップロード後の確認結果も記録します。作業環境では正常でも、アップロード後に簡略化や材質解釈の違いが生じる場合があります。どの条件で正常に表示できたかを残すことで、同様のデータを処理するときの参考になります。

まとめ

点群OBJの未閉鎖境界は、点群の欠測、複数データの接合ずれ、重複頂点、メッシュ生成時の面欠落などによって発生します。境界を放置すると、モデルの内部が見える、壁や床が抜ける、アップロード時に面が除外されるといった表示欠けにつながる可能性があります。 ただし、表示欠けの原因は未閉鎖境界だけではありません。法線の反転、重複面、縮退面、交差面、材質の透明度、アップロード時の簡略化なども確認する必要があります。 修復では、最初に境界エッジと非多様体形状を検出します。次に、計測範囲の外周や実物の開口部と、修復すべき穴を区別します。 接合部に細い隙間がある場合は、穴埋めの前に重複頂点や近接頂点を整理します。頂点統合の許容値は、OBJの単位、点群精度、対象物の最小寸法を考慮し、段階的に調整することが重要です。 穴埋め後は、境界が閉じたことだけでなく、三角形の大きさ、細長さ、面交差、周囲との連続性を確認します。元の点群がない範囲へ追加した面は推定であるため、実測面と区別して管理します。 さらに、修復面を含む法線方向を統一し、OBJへ書き出した後に新しい環境へ再読み込みします。頂点数、面数、外形寸法、座標、軸方向を比較し、書き出しによる変化がないかを確認します。 未閉鎖境界の発生を減らすには、計測段階で複数方向から点を取得し、欠測や位置合わせのずれを抑えることが大切です。点群整理、メッシュ生成、修復、書き出し、アップロード確認までを一連の工程として管理すると、問題の原因を特定しやすくなります。 現場で取得した点群や位置情報を効率よく整理し、OBJ作成前のデータ確認や後工程への共有につなげる際には、LRTK Phoneを活用した計測・管理方法も検討できます。

現場を3Dで残して、あとから測る。
実際の画面と動画で使い方を確認できます。

LRTK Phoneの使い方・実例を見る
資料請求導入相談
現場をスマホで3DスキャンLRTK Phone実例を見る