点群から作成したOBJファイルをアップロードした後、地面や構造物の表面に穴が開いたように見えることがあります。計測時には連続していたはずの形状が部分的に抜けたり、視点を変えたときだけ面が消えたりすると、元の点群が破損したのではないかと不安になるかもしれません。
しかし、点群OBJの穴は、必ずしも計測データそのものの欠損を意味するわけではありません。元の点群に点が存在しない場合もあれば、点はあるものの面が生成されていない場合、面の頂点順序による表裏判定で片面描画時に消えている場合、法線の不整合で陰影が乱れて穴のように見える場合、材質の透明度によって背景が透けている場合もあります。さらに、OBJを受け取る側の変換処理や表示負荷を抑えるための簡略化によって、細かな面が省略されることもあります。
原因を確認せずに穴埋め処理を行うと、本来は開口部である場所まで塞いだり、計測できていない範囲を実測形状のように見せたりするおそれがあります。反対に、単なる表示設定の問題に対して面を追加すると、重複面や自己交差が発生し、別の不具合につながる可能性があります。
本記事では、「点群 OBJ アップロード」で検索している実務担当者に向けて、アップロード後に穴が開いて見える代表的な原因と補修法を7つに分けて解説します。実データの欠損と表示上の問題を切り分ける方法、補修前後に確認したい項目、再発を防ぐ計測時の考え方まで整理します。
点群OBJの穴には実際の欠損と表示上の欠損がある
点群OBJに穴が開いて見える状態は、大きく分けると実際に形状データが不足している場合と、形状は存在するものの表示されていない場合があります。この二つを区別しないまま補修を始めると、必要のない形状編集を行うことになりかねません。
実際の欠損とは、対象部分に頂点が存在しない、または頂点を結ぶ面が存在しない状態です。計測対象の裏側が死角になっていた場合、反射を得にくい表面だった場合、点群生成時のフィルタで必要な点まで削除された場合などに発生します。元の点がなければ、OBJに変換しても正確な表面は作れません。
表示上の欠損とは、頂点や面は存在しているものの、描画条件によって見えない状態です。面の頂点順序に基づく表裏判定、法線の不整合、透明な材質、表示範囲の設定、詳細度の切り替えなどが原因になります。この場合は、面を新しく作るよりも、表示設定や属性を修正するほうが適切です。
OBJは、頂点座標を示す情報だけでなく、複数の頂点を参照して面を構成する情報を記録できます。ただし、点群から書き出したOBJが必ず面を含むとは限りません。面を持たず、頂点または点要素を中心にしたOBJもあるため、アップロード先が点の描画に対応していなければ、データが読み込まれていても何も見えない、あるいは点の間が広く空いて穴のように見えることがあります。
面を含むOBJでも、連続した表面を完全に表現できるとは限りません。点密度が低い部分や、急激に形状が変化する部分では、メッシュ生成時に面が張られないことがあります。また、非常に細長い三角形や面積がほぼゼロの面は、読み込み時に無効な形状として除外される場合があります。
穴の見え方も原因を推測する手掛かりになります。常に同じ位置が抜けている場合は、点群または面の不足が疑われます。見る方向によって消えたり現れたりする場合は、面の表裏判定が関係している可能性があります。遠くでは穴が見え、近づくと塞がる場合は、表示時の簡略化や詳細度が影響していることがあります。
最初に「穴がある」と判断するのではなく、どの情報が欠けているのかを段階的に確認することが、安全な補修につながります。
補修を始める前に確認する基本手順
穴を見つけたら、最初に元のOBJを複製し、編集用のファイルを別に用意します。原因を調べる過程では、面の削除、頂点の統合、法線の再計算、座標変換などを行うことがあります。元ファイルを直接上書きすると、修正によって問題が悪化した場合に戻れなくなるため、未編集の原本を保管しておくことが重要です。
次に、材質やテクスチャを使用しない単色表示へ切り替えます。単色かつ不透明な状態でも穴が見える場合は、材質以外の原因を調べます。単色表示では穴が消える場合は、透明度、画像の透明部分、材質の割り当て、画像参照などに原因がある可能性が高くなります。
その後、面表示と頂点表示を切り替えます。面表示では穴があるものの、頂点表示では対象部分に多数の点が確認できる場合、点群は存在していても面が生成されていない可能性があります。頂点表示でも点がない場合は、元の計測データが不足しているか、点群処理の途中で削除されたと考えられます。
視点を対象面の反対側へ移動する確認も有効です。片側から見ると穴があるのに、反対側から見ると面が現れる場合は、面の頂点順序による表裏判定が周囲と逆になっている可能性があります。両面表示へ切り替えて穴が消える場合も、表裏の問題を疑います。
同じOBJを複数の表示環境で確認することも大切です。作成環境では正常で、アップロード先だけで穴が見える場合は、アップロード後の変換や描画条件が影響している可能性があります。どの環境でも同じ場所が欠ける場合は、OBJ内部の頂点や面に原因がある可能性が高まります。
穴の位置、形状、大きさ、見る方向、表示距離も記録します。規則的な格子状の欠損、細い亀裂状の隙間、不規則な大穴では、考えられる原因が異なります。補修前の画面を保存し、どの操作で状態が変わったかを記録しておくと、原因の追跡が容易になります。
この段階では、穴を埋めることよりも、点、面、表裏、法線、材質、表示のどこに問題があるかを切り分けることを優先します。
原因1 計測時の死角で元の点群が不足している
点群OBJに実際の穴が生じる代表的な原因は、計測時に対象部分を十分に取得できていないことです。計測装置や撮影位置から対象面が見えなければ、その部分の点は生成されません。点が存在しない場所では、後工程で正確な面を作ることも困難です。
死角が発生しやすい場所には、構造物の裏側、軒や張り出し部の下面、段差の立ち上がり、資材や車両の陰、植生の内側、配管の背面などがあります。地面のように広く連続した対象でも、仮設物や人、重機が一時的に遮ると、その背後に点が得られない範囲が残ります。
対象物へ近づきすぎることも欠損の原因になります。近距離では細部を高密度に取得しやすい一方、対象全体を見渡せず、上部や側面が視野から外れる場合があります。反対に離れすぎると、細い部材や小さな凹凸を構成する点が不足しやすくなります。
移動しながら計測する場合は、速度や経路も点密度に影響します。同じ方向から一度通過しただけでは、遮蔽物の反対側を取得できません。構造物の角を回り込まずに進むと、一方の面は高密度でも、隣接する面がほとんど取得されないことがあります。
この原因に対する最も確実な補修法は、欠損部分を再計測することです。再計測では、穴の部分だけを狭く取得するのではなく、既存点群と重なる周辺範囲も含めます。共通して確認できる壁面、角部、路面、基準となる構造物などを広めに取得すると、追加点群を既存データへ合わせやすくなります。
現場へ戻れない場合は、周囲の点や面から補間する方法があります。ただし、補間によって作られる形状は実測結果ではありません。平坦な床や一定勾配の法面にある小さな欠損であれば、周囲の傾向から補いやすいものの、複雑な設備や変状箇所では、実際と異なる形状になる可能性があります。
特に注意したいのは、本来存在する開口部を誤って穴と判断することです。排水口、貫通孔、構造物の隙間、設備の開口などは、塞がれていないことが正しい形状です。設計図、現場写真、他方向から取得した点群などと照合し、補修対象であることを確認してから面を追加します。
再計測できない大きな欠損は、無理に完全な面として埋めず、欠損範囲を残した状態で管理する選択も必要です。推定形状を実測形状と同じように扱うと、数量計算や離隔確認の結果に影響する可能性があります。
原因2 点群から面を生成する条件が適切でない
元の点群には十分な点があるにもかかわらず、OBJへ変換した後に穴が生じる場合は、メッシュ生成条件が適切でない可能性があります。メッシュ生成では、近くにある点をどこまで接続するか、点の向きや密度をどのように評価するか、どの大きさまで面を作るかといった条件が使われます。
接続できる点の距離を短く設定しすぎると、点密度が少し低い部分で面が作られません。平坦な地面では連続していても、斜面の端部、段差の周辺、構造物との境界などでは点間隔が広くなり、そこだけ穴になることがあります。
一方で、接続距離を大きくしすぎると、離れている物体同士が誤ってつながります。地面と配管、壁と仮設物、上下に重なる床面などが一枚の面で結ばれると、穴は減っても実際とは異なる形状が生まれます。したがって、穴の数だけを基準に条件を決めるのは適切ではありません。
ノイズ除去の条件が強すぎる場合も、メッシュ生成前に必要な点が失われます。周囲より孤立している点を削除する処理は、明らかな飛び点の除去に役立ちますが、薄い部材、細い縁、角部などの点まで孤立点として判断されることがあります。
補修する際は、まず穴の周囲に点がどの程度残っているかを確認します。点が十分にあり、表面として連続している場合は、対象範囲だけを再メッシュ化する方法が有効です。全体を同じ条件で再処理すると、正常だった部分まで変化する可能性があるため、局所的な再生成を優先します。
小さな穴で、境界が一つの輪として明確につながっている場合は、境界頂点を利用して面を張る方法があります。ただし、穴の周囲に重複頂点や細長い三角形が多いと、単純な穴埋め処理によって不自然な面が生成されることがあります。
補修前には、境界周辺の不要な頂点を整理し、極端に短い辺や重複した辺がないかを確認します。補修後は、周辺と面密度が大きく異なっていないか、表面が不自然に平らになっていないかを確認します。
曲面の穴を一枚の平面で塞ぐと、外観だけでなく断面形状にも不連続が生じます。曲面では、周囲の曲率や法線方向を参考に複数の面を生成し、なだらかにつなぐ必要があります。
メッシュ生成条件を調整する際は、穴が減ったかどうかだけでなく、誤接続、表面の膨らみ、細部の消失、面数の急増も確認します。適切な補修とは、すべての空間を面で埋めることではなく、実際の対象形状に近い接続を保つことです。
原因3 面の表裏や法線方向が反転している
OBJ内部に面が存在していても、面の表裏判定が周囲と逆になっていると、アップロード後に穴のように見えることがあります。三角形や多角形の表裏は、一般に面を構成する頂点の並び順、つまり頂点順序によって判定されます。
表示環境によっては、処理負荷を抑えるために面の裏側を描画しません。そのため、周囲と逆向きの頂点順序を持つ面だけが片面描画で消え、まだらな穴として見えることがあります。視点を反対側へ回したときに消えていた面が現れる場合は、この可能性が高いと考えられます。
OBJに記録できる頂点法線は、主に陰影計算や滑らかな表示に使われます。法線が反転したり周囲と不連続になったりすると、面が暗くなったり、明るさが急に変わったりして、穴や亀裂のように見えることがあります。ただし、一般的な背面除去は頂点法線そのものではなく、面の頂点順序による表裏判定を基準にするため、面が消える原因と陰影が乱れる原因は分けて確認する必要があります。
補修では、まず両面表示へ切り替えて穴が消えるかを確認します。両面表示で面が見えるなら、形状そのものを追加する必要はありません。対象となる面の頂点順序を反転させ、周囲と同じ向きにそろえます。
その後、必要に応じて法線を再計算します。ただし、すべての法線を自動的に外向きへそろえる処理は、開いたメッシュや複雑な構造では意図どおりにならないことがあります。地面の表面、管路の内側、トンネルの内壁、建物の外側では、どちらを表示側とするかが異なります。
地表面のようなデータでは、上方から見える向きが基本になりますが、垂直面や下面を含む構造物では単純に上向きへそろえることはできません。隣接する面同士の連続性と、利用時に見る側を考慮して方向を決めます。
穴の周囲だけ陰影が乱れている場合は、法線の不連続や頂点の分離が関係している可能性があります。見た目には同じ位置にある頂点でも、面ごとに別の頂点として保存され、異なる法線が割り当てられていると、継ぎ目が線状に目立つことがあります。実際に隙間が開いているかどうかは、ワイヤーフレーム表示や境界辺の検査で確認します。
近接頂点を統合すれば改善する場合がありますが、統合距離を大きくしすぎると、薄い板の表裏や鋭い角部まで一体化してしまいます。位置だけでなく、部材の構造、材質境界、法線の違いを確認してから統合します。
面の表裏判定や法線が原因であれば、補修は比較的小さな変更で済みます。新しい面を大量に追加せず、既存形状を維持したまま頂点順序と陰影用法線を整えることが重要です。
原因4 頂点や面の参照関係に不整合がある
OBJでは、頂点座標と、頂点を組み合わせて構成する面が別々に記録されます。面は頂点番号を参照して形状を作るため、その番号に不整合があると正常に読み込めません。
複数のOBJを結合した場合、点群やメッシュの一部を削除した場合、頂点を並べ替えた場合などに、面が参照する番号と実際の頂点番号が一致しなくなることがあります。作成環境では一部を補正して表示できても、アップロード後の変換処理では不正な面が除外され、穴になる可能性があります。
一つの面が同じ頂点を繰り返し参照している場合も問題になります。三つの頂点から構成されるはずの三角形で、二つ以上の頂点が同じ位置にあると、面積がほぼゼロになります。このような縮退面は、表示や変換の際に無効な面として扱われることがあります。
極端に細長い三角形も、描画が不安定になりやすい形状です。穴の境界を無理につないだ結果、長さに対して幅が非常に小さい面が作られると、視点や座標精度によって消えたり、ちらついたりする場合があります。
補修では、最初に頂点番号の範囲外参照、頂点数が不足した面、重複参照、面積がほぼゼロの面を検査します。不正な面を単純に削除すると穴が広がるため、周辺の有効な頂点から再構成できるかを確認します。
重複頂点が原因の場合は、位置が一致する頂点を統合する方法があります。ただし、同じ座標に複数の頂点を置くこと自体が必ずしも誤りとは限りません。材質の境界、鋭い角、法線を分けたい部分では、意図的に頂点が分離されていることがあります。
面の重複にも注意が必要です。同じ場所に面が重なっていると、深度判定の競合によってちらつきが生じることがあります。向きの異なる重複面やほぼ同一位置の面も、読み込み側の表裏判定や簡略化処理を不安定にする可能性があるため、位置、向き、材質の用途を確認してから不要な面だけを整理します。
補修後は、開いた境界の数、孤立した小片、重複面、自己交差面を確認します。穴を一か所直しただけでも、周囲の頂点番号や接続を変更した結果、別の場所に不整合が生じることがあります。
OBJを編集する際は、頂点数と面数の変化も記録します。小さな補修に対して頂点や面が大幅に減少している場合は、自動修復によって必要な形状まで削除された可能性があります。
原因5 大きな座標値や縮尺の影響で隙間が見える
測量座標などの大きな値をそのままOBJへ保存すると、アップロード後の描画環境や変換処理の数値精度によっては、面の境界に隙間や揺れが見えることがあります。
対象物の寸法が数十メートル程度である一方、座標値が原点から非常に離れている場合、座標全体の大きさに対して細かな凹凸の差が小さくなります。描画処理で扱える数値精度には限りがあるため、使用する数値型や変換方法によっては、近接する頂点の位置関係を十分に表現できない場合があります。
特に、別々の面が同じ境界を共有しているように見えても、実際にはそれぞれ独立した頂点を持っている場合は注意が必要です。書き出しや変換で座標が丸められ、対応する頂点にわずかな差が生じると、隣接面の間に細い亀裂が開いたように見えることがあります。
座標値の問題による穴は、カメラを移動したときにちらついたり、特定の角度で細い線状の隙間が現れたりする傾向があります。元の作成環境では正常でも、アップロード先でだけ発生する場合は、内部の座標精度や描画方式の違いが影響している可能性があります。
補修法としては、OBJを書き出す前に対象範囲の近くへローカル原点を設定する方法があります。現場中心や既知の基準点を原点として座標値を差し引けば、OBJ内部の数値を小さくできます。
ただし、座標を移動する場合は、元の測量座標へ戻すための情報を必ず保存します。東西方向、南北方向、高さ方向にどれだけ移動したかを記録し、回転や縮尺を変更した場合は、それらの値も管理します。
関連する点群、図面、設計データと重ね合わせる必要がある場合、OBJだけを移動すると位置関係が崩れます。ローカル化するデータの範囲と復元手順を決め、同じ変換条件を適用できるようにします。
単位の不一致も穴に見える現象につながることがあります。OBJ自体には一般に長さの単位を一意に強制する仕組みがないため、作成側とアップロード先で想定する単位が異なると、形状が極端に拡大または縮小される場合があります。その結果、カメラの表示範囲から一部が外れたり、小さな面が表示上の簡略化対象になったりすることがあります。
既知の距離を一か所測り、OBJ上の寸法が想定どおりかを確認すると、単位の誤解を見つけやすくなります。座標や縮尺が原因の場合は、面を直接編集する前に、ローカル化と単位設定で改善するかを検証します。
原因6 材質や透明度の設定で面が透けている
テクスチャ付きの点群OBJでは、形状が正常でも材質設定によって面が透明になり、穴のように見えることがあります。材質情報には、表面の色、画像の参照先、光沢、透明度などが記録される場合があります。
一般的なMTLでは、d値は1が不透明、0が透明を表します。一方、書き出し環境によっては透明度をTrで記録することがあり、通常はdと逆向きの関係として扱われます。ただし、Trへの対応、dとTrが併記された場合の優先順位、画像のアルファ情報の扱いは読み込み側によって差があるため、同じ材質でも表示結果が一致しないことがあります。
テクスチャ画像に透明部分が含まれている場合も注意が必要です。読み込み側が画像のアルファ情報を透明度へ反映する設定になっていると、背景を透明にした画像や一部に透明画素を含む画像が、意図せず面の透過として表示されることがあります。細かな模様の一部だけが透明になり、網目状の穴に見える場合もあります。
材質ファイルやテクスチャ画像が読み込まれていない場合でも、通常は面そのものが削除されるわけではありません。ただし、既定色が背景と近い、照明条件で極端に暗くなる、透明材質の代替処理が意図と異なるといった理由で、穴のように見えることがあります。ワイヤーフレーム表示や単色表示で面の存在を確認すると、形状欠損との切り分けができます。
補修では、最初にすべての材質を無効にし、単色かつ不透明な状態で表示します。この状態で穴が消えるなら、頂点や面を作り直す必要はありません。材質の透明度、画像の透明情報、材質の割り当てを確認します。
複数の材質を使用しているOBJでは、穴が見える部分にどの材質が割り当てられているかを調べます。材質を切り替える位置がずれていると、本来は別の部材へ使う透明材質が誤って適用されることがあります。
画像参照のファイル名も確認します。材質情報に記録された名称と、実際の画像ファイル名が一致していなければ読み込めません。大文字と小文字、拡張子、空白、記号などの違いも確認対象です。
参照先に作成環境固有の絶対パスが書かれていると、アップロード先では同じ場所を参照できない可能性があります。OBJ、材質ファイル、テクスチャ画像を同じ管理単位にまとめ、移動後も参照できる相対的な構成に整えます。
透明度を修正する場合は、すべてを一律に不透明へ変更するのではなく、本来透明表現が必要な部分がないか確認します。補修対象の材質だけを修正し、他の面へ影響を広げないことが重要です。
原因7 アップロード後の変換や簡略化で面が省略されている
OBJをアップロードする環境によっては、受け取ったファイルをそのまま描画せず、表示用の形式へ変換することがあります。高密度な点群OBJを快適に表示するため、面数の削減、頂点の統合、細小面の除外、複数段階の詳細度作成などが行われる場合があります。
変換処理によって重要な面まで削除されると、元のOBJには穴がないのに、アップロード後だけ欠損して見えます。薄い部材、小さな突起、幅の狭い縁、点密度が低い部分は、省略の影響を受けやすい箇所です。
遠くから見たときだけ穴が生じ、近づくと表示される場合は、距離に応じた詳細度の切り替えが関係している可能性があります。遠距離用の軽量データで小さな面が省略され、近距離用データへ切り替わると元の形状が現れる状態です。
反対に、対象へ近づいたときに面が消える場合は、カメラの近距離側の表示範囲が影響している可能性があります。カメラ位置が面へ入り込んだ状態や、極端に近い距離では、手前の面が描画対象から外れることがあります。
面を持たず、頂点または点要素を中心にしたOBJの場合は、点の表示サイズや間引きによって穴が見えます。遠い場所の点密度が低く、点の大きさが一定であれば、点と点の間から背景が見えます。この状態をメッシュの欠損と判断し、面を追加するのは適切ではありません。
アップロード前のOBJを別の環境で確認し、元データに穴がないことを確かめます。アップロード後だけ穴がある場合は、変換ログや警告の有無を確認します。不正な面の除外、面数の上限、変換途中のエラーなどが記録されていれば、原因を特定する手掛かりになります。
自動簡略化が原因の場合は、元の高密度OBJをそのまま再アップロードするだけでは改善しないことがあります。同じ条件で再変換されれば、同じ部分が再び省略されるためです。
事前に不要な重複面や細かなノイズだけを整理し、重要な輪郭や薄い部材を保つ条件で軽量化すると、変換結果が安定しやすくなります。全体を均一に削減するのではなく、形状変化の大きい場所や重要部分の面を優先して残します。
送信中の通信切断やファイル破損も確認対象です。OBJ本体が途中で欠けたり、圧縮ファイルが正常に展開できなかったりすると、読み込み失敗や一部形状の欠落につながる可能性があります。材質ファイルや画像だけが不足している場合は、通常は形状欠損ではなく外観の違いとして現れるため、OBJ本体と関連ファイルを分けて確認します。元ファイルの容量、送信対象のファイル数、圧縮ファイルの展開可否などを確認します。
穴の大きさと用途に応じた補修方法の選び方
点群OBJの補修方法は、穴の大きさだけでなく、周辺形状と利用目的に応じて選ぶ必要があります。小さな穴であっても、構造物の角や変状箇所にあれば、安易な自動補間によって重要な形状が失われる可能性があります。
平坦な床や一定勾配の地面にある小さな穴では、穴の境界を使って面を張る方法が利用できます。周囲の頂点がほぼ同じ平面上にあり、実際に開口が存在しないことが確認できる場合は、比較的自然に補修できます。
曲面の小穴では、周辺面の方向や曲率を参照する必要があります。一枚の平面で塞ぐと、表面に不自然なへこみや膨らみが生じます。複数の面を使って周囲の流れを保ち、補修後に断面で連続性を確認します。
細長い亀裂状の穴では、両側の境界頂点が対応しているかを確認します。単純に近い頂点同士を接続すると、面がねじれたり交差したりすることがあります。境界の並び順をそろえ、極端に細長い三角形が増えないように接続します。
広い欠損は、周囲の形状だけから正確に補うことが難しくなります。地面のように勾配が一定と判断できる場合でも、欠損範囲内に小さな段差やくぼみが存在する可能性があります。数量算出や出来形確認に使用する場合は、再計測を優先します。
外観確認や説明用の三次元表示が目的であれば、推定面で見た目を整えることが許容される場合があります。ただし、そのデータを後から計測結果として利用しないよう、補修範囲を記録しておく必要があります。
断面作成、寸法確認、土量計算、変状比較などへ利用する場合は、補修面が結果へ与える影響を確認します。広い穴を平面で塞ぐと、体積や面積が大きく変化する可能性があります。
補修方法を選ぶ際は、見た目を整えること、形状を連続させること、計測精度を維持することを分けて考えます。見た目が滑らかでも、実測に基づかない面は精度が保証された形状ではありません。
補修によって作られた推定形状を管理する方法
点群OBJの補修では、元の計測点から再生成した面と、周辺形状をもとに推定して追加した面を区別することが重要です。どちらも画面上では同じ面に見えるため、記録を残さなければ後から判別できません。
まず、補修前の点群とOBJを原本として保管します。点群処理前、ノイズ除去後、メッシュ生成後、穴補修後など、工程ごとに別のファイルとして保存すると、穴がどの段階で発生したかを追跡できます。
補修範囲は、位置や対象部位が分かる形で記録します。地面中央部、構造物背面、配管下面など、第三者が確認できる表現を用います。可能であれば、補修前後の画面や境界が分かる記録も残します。
補修方法も記録します。追加計測した点から再メッシュ化したのか、境界を自動で閉じたのか、手作業で面を追加したのかによって、形状の信頼性は異なります。
ローカル座標への変換を行った場合は、移動量や回転量を保存します。補修後のOBJだけが残り、元座標への復元情報が失われると、他の点群や図面と重ねられなくなる可能性があります。
面数削減や頂点統合を行った場合は、処理前後の頂点数と面数を記録します。補修と同時に大幅な簡略化を行うと、穴以外の細部が失われた理由を判断しにくくなります。
実測部分と推定部分を別の材質や別のデータとして管理できる場合は、確認用として分けておく方法もあります。ただし、最終的な公開データで外観を統一する場合でも、作業用データでは区別を残すと安全です。
補修履歴を残す目的は、作業の証拠だけではありません。同じ場所で繰り返し穴が発生している場合、計測経路やメッシュ条件を改善するための資料になります。
点群OBJアップロード前に行う品質確認
アップロード前の確認を定型化すると、アップロード後に穴の原因を探す時間を減らせます。最初に確認したいのは、OBJが面を含むのか、頂点または点要素を中心にしているのかという点です。
面を持たないOBJを利用する場合は、アップロード先が点の描画に対応しているかを確認します。点表示に対応していても、点サイズや間引き条件によって見え方が変わります。面として連続表示する必要がある場合は、点群から適切にメッシュを生成します。
面を含むOBJでは、テクスチャを外した単色表示で全体を確認します。背景と区別しやすい表示にし、穴、細い亀裂、重複面によるちらつきがないかを確認します。
表裏の確認では、複数方向から視点を回転させます。片側だけ消える面がある場合は、面の頂点順序を修正します。両面表示で正常に見えるだけでは、片面描画の環境で再び穴が現れる可能性があるため、面の向きをそろえておきます。
形状検査では、不正な頂点参照、面積がほぼゼロの面、重複頂点、重複面、孤立した小片、自己交差を確認します。自動修復を利用する場合も、処理後に削除された要素数を確認します。
開いた境界がすべて補修対象とは限りません。地表面の外周や、意図した開口部も開いた境界として検出されます。自動的にすべて閉じると、データ外周や設備開口が塞がるため、場所を確認して判断します。
座標値と単位も確認します。既知の長さを測定し、想定した寸法になっているかを確認します。座標値が非常に大きい場合は、ローカル原点を設定した表示用データを作成し、元座標への変換情報を保存します。
材質付きの場合は、OBJ、材質ファイル、テクスチャ画像だけを別のフォルダへコピーし、その状態で正常に表示できるかを確認します。元の作業フォルダにある画像を参照している場合、コピー後には表示できません。この確認によって、アップロード先で不足するファイルを事前に特定できます。
最後に、アップロード用ファイルを確定した後で内容を変更しないようにします。確認済みファイルと送信したファイルが異なると、検査の意味がなくなります。版番号や更新日時を管理し、どのファイルをアップロードしたか分かる状態にします。
再アップロード後に確認したい表示と形状
補修済みのOBJを再アップロードした後は、穴が塞がったことだけで作業を終えないようにします。穴埋め処理によって、周辺に新たな問題が生じていないかを確認する必要があります。
最初に、補修部分を正面、斜め、裏側など複数の方向から確認します。見る方向によって面が消える場合は、面の頂点順序による表裏判定がそろっていない可能性があります。片面表示と両面表示を切り替え、表示差がないかを確認します。
次に、補修面の陰影を確認します。周囲より極端に暗い、明るい、線状の境界が見える場合は、法線の連続性や頂点の共有に問題がある可能性があります。
補修部分を断面で確認することも有効です。外観上は滑らかでも、内部へ大きくへこんだ面や、周囲と交差した面が作られていることがあります。断面表示で、表面の連続性と厚みを確認します。
大きな面で穴を塞いだ場合は、既存面との重複を確認します。元の面が一部残った状態で新しい面を重ねると、ちらつきや描画順の不安定さが生じます。
座標変換を行った場合は、基準点、図面、他の点群との位置関係を確認します。穴が解消されても、全体の位置や縮尺がずれていれば、実務上の利用には適しません。
近距離と遠距離の両方で表示します。遠くから見たときに再び穴が見える場合は、アップロード後の簡略化や詳細度の切り替えが影響しています。近づいたときだけ消える場合は、表示範囲やカメラ位置を確認します。
テクスチャ付きの場合は、補修部分だけでなく全体の材質を確認します。透明度を修正した影響で、本来透過が必要な場所まで不透明になっていないか、画像の位置がずれていないかを調べます。
補修前後の頂点数、面数、ファイル容量も比較します。小さな穴を数か所直しただけなのに、面数が何倍にも増えている場合は、不要な細分化が行われた可能性があります。反対に大幅に減っている場合は、簡略化で細部が失われていないか確認します。
穴の再発を減らす現場計測の進め方
点群OBJの穴を減らすには、後処理だけでなく、現場での取得方法を改善することが重要です。計測時に十分な点が得られていれば、メッシュ生成後の大きな補修を減らせます。
基本となるのは、同じ対象を複数の方向から取得することです。一方向から見える範囲だけで計測を終えると、構造物の角や背面に死角が残ります。対象の周囲を回り込み、隣接する取得範囲が重なるように進みます。
地面だけでなく、段差の立ち上がり、壁面、張り出し部の下面も意識します。歩行位置から見下ろすだけでは、低い構造物の側面や下面が不足しやすくなります。必要に応じて距離や計測方向を変えます。
移動速度が速すぎると、対象部分を十分に取得できない場合があります。形状が複雑な場所、設備が密集する場所、細部が重要な場所では、速度を落として複数方向から取得します。
対象物に近づきすぎると視野が狭くなり、離れすぎると細部の点密度が低下します。対象の大きさや必要な精度に応じて、近距離と中距離の取得を組み合わせます。
現場を離れる前に、取得結果を簡易表示で確認します。最終的なメッシュを現場で完成させる必要はありませんが、重要部分に点があるか、裏側が抜けていないか、点密度が極端に低い場所がないかを確認します。
資材、車両、人などの移動物が対象を遮っている場合は、位置が変わった後に同じ場所を追加計測します。遮蔽物がなくなるまで待てない場合は、欠損が残る可能性を記録しておきます。
屋内、地下、構造物内部などでは、照明や移動経路も計測品質へ影響します。入口と出口、方向転換位置、特徴の少ない区間などを意識し、連続性を保てる経路を選びます。
計測範囲は、最終的に必要な境界より少し広めに取得します。必要範囲ぎりぎりで点群を切ると、外周部の点密度が低下し、メッシュ端部に細長い面や穴が生じやすくなります。余裕を持って取得し、後処理で範囲を整えるほうが安定します。
計測目的も事前に明確にします。現場全体の概要確認が目的なのか、断面作成や数量計算に使うのか、細かな設備位置を確認するのかによって、必要な点密度と取得方向は異なります。
LRTK Phoneを用いて点群を取得する場合も、画面上で見えている範囲だけで十分と判断せず、対象の裏側、下面、角部まで取得できているかを確認することが大切です。現場で不足範囲を把握し、その場で追加計測できれば、OBJアップロード後に大きな穴が見つかる可能性を抑えられます。
まとめ
点群OBJをアップロードした後に穴が開いて見える原因には、計測時の死角、メッシュ生成条件、面の頂点順序による表裏判定、法線の不整合、頂点参照の不整合、大きな座標値、透明度設定、アップロード後の変換や簡略化などがあります。
穴を見つけたときは、すぐに面を追加するのではなく、実際に点や面が不足しているのか、表示上だけ見えなくなっているのかを切り分けることが重要です。単色表示、頂点表示、両面表示、複数方向からの確認、別環境での表示比較を行うことで、原因を絞り込みやすくなります。
元の点群が不足している場合は、可能であれば再計測を優先します。周辺形状から補間する場合は、その部分が推定形状であることを記録し、実測部分と区別できるように管理します。数量算出や寸法確認へ利用する場合は、補修面が結果へ与える影響も確認しなければなりません。
面の表裏判定、法線、材質、表示条件が原因であれば、新しい面を作らずに改善できる可能性があります。必要以上の穴埋めを避け、既存形状を維持したまま最小限の修正を行うことが安全です。
補修後は、穴が塞がったかどうかだけでなく、重複面、自己交差、陰影の乱れ、座標ずれ、遠距離表示での再発なども確認します。元データ、補修前後のOBJ、座標変換情報、材質ファイル、テクスチャ画像を保管し、作業履歴を残すことも重要です。
穴の発生を根本的に減らすには、現場で複数方向から対象を取得し、死角や点密度をその場で確認する運用が有効です。点群OBJへ変換した後の補修だけに頼らず、取得段階から欠損を防ぐことで、アップロード後も扱いやすい三次元データを作成しやすくなります。
現場で取得状況を確認しながら点群を作成し、欠損が疑われる場所をその場で追加計測したい場合は、LRTK Phoneを活用した計測方法も検討できます。取得、確認、点群作成までの流れを見直すことが、点群OBJの穴を減らし、後工程の補修負担を抑える第一歩です。