LRTKレフィクシア株式会社

点群OBJアップロード後に境界線が目立つ原因と6つの修正

点群OBJアップロード後に境界線が目立つ状態とは

点群をOBJ形式へ変換してアップロードした後、表面の途中に線が浮かび上がることがあります。曲面に折り目のような線が見える、分割した範囲の継ぎ目が帯状に暗くなる、三角形の輪郭が格子のように現れる、テクスチャの切り替わり部分だけ色が変わるといった現象です。

元の点群やメッシュでは問題が見えなかったのに、アップロード後の表示で初めて境界線が現れることもあります。この場合、形状データが完全に壊れているとは限りません。OBJに保存された頂点、面、頂点法線、テクスチャ座標などの関係と、アップロード先がそれらを解釈する方法の違いによって、境界が強調されている可能性があります。

OBJは、頂点座標を表す情報だけでなく、面の接続関係、頂点法線、テクスチャ座標、マテリアルの参照などを記録できる形式です。点群を点のままOBJに保存する場合もありますが、実務で扱う点群OBJの多くは、点群から三角形メッシュを生成し、表面形状として書き出したデータです。そのため、アップロード後の見え方は、元点群の精度だけではなく、メッシュ生成やOBJ出力の設定にも左右されます。

境界線には複数の種類があります。陰影だけが不連続になる線は、頂点法線やスムージングの設定が原因になっている可能性があります。形状に細い隙間が見える場合は、隣接する頂点が接続されていないことが考えられます。テクスチャ表示時だけ色の線が現れる場合は、UV境界や画像端部の処理を確認する必要があります。

また、近距離では滑らかに見えるのに遠距離で線が現れる場合は、表示時の形状簡略化やテクスチャ縮小が関係していることがあります。視点を動かすと線がちらつく場合は、同じ位置に重複する面が存在している可能性もあります。

このように、見た目が似ている境界線でも原因は同じではありません。原因を特定せずに全体を強く平滑化すると、必要な段差や角まで丸くなるおそれがあります。逆に、頂点を無条件に統合すると、テクスチャの配置が崩れることがあります。点群OBJアップロード後の境界線を安全に修正するには、まず現象を分類し、その原因に対応した処理を行うことが重要です。

境界線の原因を切り分ける基本確認

修正を始める前に、境界線が形状、陰影、テクスチャ、表示処理のどこで発生しているかを切り分けます。この確認を省略すると、必要のない処理を加えて形状を変えてしまう可能性があります。

最初に、テクスチャを無効にし、表面を単一色で表示します。単一色でも線が残る場合は、法線、スムージング、頂点の接続、面構成など、形状または陰影に関係する問題が疑われます。単一色では線が消え、テクスチャを表示すると再び現れる場合は、UV座標、画像端部、マテリアルの分割、画像ごとの色差が主な確認対象になります。

次に、照明計算を抑えた表示と通常の陰影表示を比較します。照明計算を抑えると線が消える場合、頂点位置はつながっていても法線が不連続になっている可能性があります。照明計算を抑えても隙間や段差が見える場合は、実際の頂点座標が一致していない可能性があります。

境界線が視点の移動によって変化するかどうかも確認します。視点を回転しても同じ場所に固定される線は、面の境界、法線、UV、マテリアル分割など、データ内部の構造と関係している傾向があります。視点を動かすと線がちらつく場合は、重複面や極端に近接した面が考えられます。

拡大率による変化も重要です。近距離では線がなく、遠距離でだけ線が現れる場合、表示側で形状や画像が簡略化されている可能性があります。反対に、遠距離では目立たず、拡大したときだけ隙間が見える場合は、頂点位置の微小なずれを疑います。

元の編集データと、OBJとして書き出した後のデータも分けて確認します。編集途中の画面で滑らかに見えていても、その環境が内部情報を使って法線やスムージングを補完している可能性があります。OBJへ書き出した後、一度新しいデータとして読み込み直すと、OBJに実際に保存された情報だけで表示状態を確認できます。

書き出したOBJを新規に読み込んだ段階で境界線が現れるなら、書き出し前または書き出し設定に原因がある可能性が高いと考えられます。新規読み込みでは正常で、アップロード先だけで境界線が出る場合は、アップロード先の読み込み処理や表示条件との差を確認します。

大容量の点群OBJでは、全体を何度も修正してアップロードするより、境界線が目立つ部分だけを抽出した検証用データを作る方が効率的です。小さな範囲で法線、頂点、UV、三角化を確認し、改善した設定を全体へ適用すると、原因を特定しやすくなります。

修正1 頂点法線の向きと連続性を整える

曲面や緩やかな斜面に折れ線のような境界が見える場合は、頂点法線を確認します。頂点法線は、表面の明るさを計算するために使われる方向情報です。面が物理的につながっていても、境界の両側で法線方向が異なると、照明に対する明るさが急に変わり、線として見えることがあります。

点群から生成したメッシュでは、測定ノイズや点密度の変化によって小さな凹凸が発生します。その状態で面ごとに法線を計算すると、隣接する三角形の向きがわずかに異なり、三角形の輪郭が浮かび上がる場合があります。特に斜め方向から光が当たる表示では、小さな法線差も目立ちやすくなります。

複数の範囲を別々にメッシュ化した場合も注意が必要です。それぞれの範囲で個別に法線を計算すると、分割境界の両側で参照される周辺面が異なります。その結果、頂点位置が一致していても法線方向がそろわず、接合部に暗い線や明るい帯が現れることがあります。

修正するときは、最初に面の表裏を確認します。面の一部が反転している状態で法線を再計算すると、外向きと内向きの情報が混在し、不自然な陰影が発生することがあります。閉じた形状では外側へ向け、地形や壁面のような開いた表面では、周囲の面と同じ方向になるように統一します。

面の向きをそろえた後、頂点法線を再計算します。ただし、すべての面を一律に滑らかにするのではなく、形状の意味を考える必要があります。地形の緩やかな起伏や円筒状の表面では、隣接する法線を連続させることで自然な陰影になります。一方、壁と床の境界や構造物の角など、本来鋭く見える部分まで法線を平均化すると、形状が丸く見えることがあります。

そのため、面同士の角度が小さい範囲では法線を連続させ、角度差が大きい部分では分けて扱う方法が適しています。適切な角度条件は対象物によって変わります。地形のように連続した曲面と、直角部分が多い構造物を同じ条件で処理すると、どちらかの見え方が不自然になる可能性があります。

OBJでは、頂点座標と頂点法線を別々に参照できます。同じ位置にある頂点でも、面ごとに異なる法線を使用することが可能です。これは鋭い角を表現するためには有効ですが、滑らかにしたい曲面で異なる法線が割り当てられていると、意図しない境界になります。

修正後はテクスチャを無効にし、単一色の陰影表示で確認します。曲面の境界が消え、構造上必要な角が残っていれば、法線の修正は適切に行われています。線が弱くなったものの残っている場合は、法線だけでなく、頂点が分離している可能性も確認します。

なお、法線を整えても頂点位置の隙間は埋まりません。境界に実際の段差や空間がある場合は、頂点統合や面の再構成が必要です。法線修正は陰影の不連続に有効ですが、形状そのものを接続する処理とは分けて考えることが大切です。

修正2 スムージング設定と鋭角部分を整理する

頂点法線を再計算しても、三角形の輪郭や面の継ぎ目が目立つ場合は、スムージング設定を確認します。スムージングとは、隣接する面を滑らかにつながった表面として表示するか、面ごとに折れた表面として表示するかを決める処理です。

点群から生成したメッシュには、多数の小さな三角形が含まれます。各三角形を独立した平面として表示すると、一枚ごとの明るさが異なり、表面全体が多面体のように見えることがあります。点密度が低い場所や、細長い三角形が並ぶ場所では、この差が境界線として特に目立ちます。

OBJにはスムージングに関係する情報を記録できますが、書き出し側と読み込み側が同じように解釈するとは限りません。書き出し前の画面では滑らかでも、OBJに必要な法線やスムージング情報が保存されていなければ、アップロード後に面ごとの陰影へ変わることがあります。

反対に、スムージング情報を記録していても、アップロード先が頂点法線を優先したり、スムージング情報を限定的に扱ったりする場合があります。そのため、スムージングの指定だけに依存せず、書き出される頂点法線も整えておくことが重要です。

修正では、滑らかに見せたい面を一つの連続した範囲として設定します。地形の緩斜面、丸みのある構造物、円筒状の表面などは、周辺の法線を連続させることで三角形の境界を抑えやすくなります。

ただし、全体を一つのスムージング範囲にまとめると、直角の角や段差まで滑らかになってしまうことがあります。鋭角部分では法線を分け、形状の折れを残します。このような箇所はハードエッジとして扱い、滑らかな部分との境界を明確にします。

ハードエッジを設定する場所は、見た目だけではなく、対象物の構造に基づいて判断します。壁と床の境界、縁石の角、切断面、部材の端部などは、形状として残す必要があります。一方、点群ノイズによって偶然できた小さな角までハードエッジにすると、細かな線が増えてしまいます。

分割したメッシュを結合した場合、結合前のスムージング設定が片ごとに残ることがあります。一つの形状として結合されていても、分割境界でスムージング範囲が切れていると、明暗差が残ります。接合部をまたぐ面を選び直し、必要な範囲でスムージングを再設定します。

このとき、見た目上は接していても頂点が分離していると、法線を連続させられないことがあります。その場合は、スムージング設定だけを変更しても線が消えません。先に頂点の接続状態を確認し、必要に応じて重複頂点を統合します。

スムージング修正後は、異なる視点と照明方向で確認します。正面から見たときに線が消えていても、斜めから見ると別の境界が現れることがあります。滑らかにすべき範囲が連続しているか、鋭く残すべき角が丸くなっていないかを確認し、必要に応じて範囲を調整します。

修正3 重複頂点と分離された頂点を適切に統合する

境界線が陰影だけでなく、細い隙間や段差として見える場合は、頂点の接続状態を確認します。見た目では同じ位置にあるように見えても、OBJ内部では別々の頂点として記録されていることがあります。

点群を複数範囲に分けてメッシュ化すると、各範囲の端部に独立した頂点が作られます。その後、複数のメッシュを一つのデータへまとめても、オブジェクトが結合されるだけで頂点が自動的に統合されない場合があります。この状態では、境界の両側にある頂点が同じ座標に見えても、面の接続情報は分かれたままです。

頂点が分離していると、スムージングや法線の平均化が境界を越えて行われません。そのため、隙間がなくても明暗差が生じます。座標に小さな差がある場合は、拡大すると実際の隙間として見えることもあります。

修正では、境界付近にある頂点の座標を調べ、一定距離以内にある頂点を統合します。ただし、統合距離を大きく設定しすぎると、本来別々に存在する面まで結合される可能性があります。薄い部材の表裏、狭い溝、細い段差、近接する構造物などが誤ってつながると、形状精度を損ないます。

安全に処理するには、元点群の点間隔や、残す必要がある最小形状を確認し、それより十分に小さい距離から試します。全体を一括で統合するのではなく、境界線が発生している周辺だけを選択して処理すると、不要な形状変化を抑えやすくなります。

統合前後の頂点数も確認します。想定より大幅に頂点数が減っている場合は、統合距離が大きすぎる可能性があります。また、境界線が消えたとしても、段差や端部の位置が移動していないかを確認する必要があります。

同じ位置の頂点が意図的に分離されている場合もあります。例えば、テクスチャ座標が切り替わるUV境界や、鋭い角を表現するハードエッジでは、位置が同じでも異なる法線やUV座標を持つ必要があります。このような頂点を無条件に一つへまとめると、テクスチャが引き延ばされたり、鋭い角が丸くなったりします。

そのため、頂点統合では、座標だけでなく、法線、UV、形状上の意味も確認します。滑らかな曲面の途中で不要に分離されている頂点は統合し、テクスチャや角の表現に必要な分離は残します。

重複頂点とあわせて確認したいのが重複面です。同じ位置に二枚の面が重なると、表示側がどちらを前面として描くかを安定して判断できず、視点移動時にちらつきや線が発生することがあります。境界線が動いて見える場合や、角度によって模様が変わる場合は、重複面を疑います。

不要な重複面を削除した後は、穴や未接続部分ができていないか確認します。片方の面だけを削除するつもりが、必要な面まで消してしまうこともあります。面の表裏、周辺との接続、法線方向を確認してから再計算します。

分割片の端部で頂点数が異なる場合は、単純な統合だけでは接続できません。片側に多くの頂点があり、もう片側が粗い形状になっていると、無理に統合することで細長い三角形が生じます。この場合は、境界周辺の面を一度整理し、頂点配置をそろえてから面を張り直す方法が適しています。

修正4 UV境界とテクスチャ画像の端を調整する

単一色では境界線が見えず、テクスチャを表示したときだけ線が現れる場合は、UV座標とテクスチャ画像を確認します。UV座標は、3D表面の各位置を、二次元画像のどこへ対応させるかを示す情報です。

点群から生成したメッシュに写真由来の色を割り当てる場合、複数の撮影画像や複数のUV領域を組み合わせることがあります。この領域の境界で明るさや色が一致していないと、表面形状が連続していても線として見えます。

最初に確認したいのは、UV領域の外周です。テクスチャ画像上で各領域の外側に余白が少ないと、画像を縮小表示した際に、領域外の黒色や透明部分が内部へ混ざることがあります。その結果、UV境界に沿って黒い線や暗い縁が現れます。

対策として、UV領域の外側へ周辺の色を延長します。境界に接する画素と同系統の色を外側へ広げておくことで、画像縮小や補間が行われても、黒色や透明部分が入りにくくなります。必要な延長幅は画像解像度や表示距離によって変わるため、近距離だけでなく遠距離でも確認します。

UV領域同士の間隔も重要です。複数の領域が近すぎると、縮小時に隣の領域の色が混ざることがあります。反対に、領域の外周が画像範囲からはみ出していると、端部の色が正しく参照されません。UV全体を確認し、重なり、はみ出し、狭すぎる間隔がないかを調べます。

複数の写真から一枚のテクスチャを作成した場合は、画像ごとの明るさや色調にも差が生じます。撮影時刻、天候、影、反射、露出条件などが異なると、同じ材質でも色が変わります。画像の切り替わりがメッシュの分割境界と重なると、境界線がより強く見えることがあります。

この場合は、画像間の明るさと色調を調整し、境界周辺をなめらかにつなぎます。ただし、実際に存在する影や材質の変化まで消してしまうと、現況と異なる表現になります。全体を一律に補正するのではなく、撮影条件による不自然な差を中心に調整します。

UVの重複も確認します。意図しない領域が同じ画像位置を参照していると、別の場所の色が表示されることがあります。細い線だけでなく、急な色の飛びや引き延ばしがある場合は、境界付近の面を選び、対応するUV座標を確認します。

マテリアルの切り替わりも境界線の原因になります。隣接する面が別々のマテリアルを参照し、片方だけ異なる表示条件になっていると、同じ画像を使っていても明暗差が出る場合があります。同じ材質として扱える範囲で不要なマテリアル分割がある場合は、設定を整理します。

OBJとマテリアル情報、テクスチャ画像の参照関係も確認します。ファイルを移動したり、画像名を変更したりすると、正しいテクスチャが読み込まれないことがあります。代替色や不完全な画像が表示され、境界線のように見える場合もあるため、参照先とファイル配置をそろえます。

修正後は、元の画像解像度での表示だけでなく、縮小表示も確認します。遠距離でだけ境界線が現れる場合は、縮小画像に変換されたときの色混ざりが原因である可能性があります。UV領域の余白、外周色の延長、画像間の色調整を組み合わせて改善します。

修正5 三角化と不安定な面構成を見直す

OBJでは、三角形だけでなく、四つ以上の頂点を持つ面も記録できます。しかし、アップロード後に表示される際は、多くの場合、内部で三角形へ分割されます。書き出し前とアップロード後で三角形への分割方法が異なると、面の途中に意図しない折れ線が現れることがあります。

特に問題になりやすいのが、四つ以上の頂点が完全には同一平面上にない面です。見た目では平らな四角形に見えても、点群のノイズによって一つの頂点だけがわずかに上下していることがあります。この面をどの対角線で三角形に分けるかによって、表面の折れ方や法線方向が変わります。

書き出し前の環境とアップロード先が異なる対角線を選ぶと、元の画面では見えなかった線がアップロード後に現れる可能性があります。この差を避けるには、OBJを書き出す前に三角化を確定しておきます。事前に面構成を固定すれば、読み込み側による分割方法の違いを減らせます。

ただし、すべてを三角形へ変換するだけでは十分ではありません。極端に細長い三角形や、面積がほとんどない三角形は、法線計算を不安定にします。頂点がほぼ一直線上に並んでいる面も、わずかな数値差で向きが大きく変化することがあります。

点群密度が急に変わる場所、穴を自動で埋めた場所、分割片を接続した場所では、このような不良面が発生しやすくなります。境界線の周辺を拡大し、細長い面、非常に小さい面、折り重なった面がないかを確認します。

不良面が少ない場合は、その周辺だけを削除し、頂点配置を整理してから面を張り直します。広い範囲に不良面がある場合は、メッシュ生成時の点密度条件や穴埋め条件から見直す必要があります。無理に既存面だけを修正すると、細長い三角形が別の場所へ移動するだけになることがあります。

三角化するときは、表面の起伏に沿った対角線を選ぶことが大切です。地形の尾根や谷を横切るような対角線が入ると、実際にはない折れが強調される場合があります。周辺の面方向や曲率を確認し、明暗差が一方向へ集中しない面構成に整えます。

面の頂点順序も確認します。OBJでは、面を構成する頂点の並び順によって表裏が決まります。一部の面だけ順序が逆になると、法線が反転し、暗い面や欠落した面として表示されることがあります。

両面表示が有効な環境では、反転面も見えるため問題を見落としやすくなります。しかし、照明計算は不自然になり、反転面の周囲に境界線が現れる可能性があります。三角化後に面の向きを統一し、表裏の混在を解消します。

同じ位置に重なった面も整理します。穴埋めや面の再作成を繰り返した結果、古い面を残したまま新しい面が追加されることがあります。重複面は視点によってちらつきや模様を発生させるため、不要な面を削除します。

面構成を整えた後は、頂点法線を再計算します。三角化前の法線をそのまま残すと、新しい面構成と合わない場合があります。面方向、スムージング、法線の順に確認することで、三角形の境界が不自然に強調される現象を抑えやすくなります。

修正6 分割データの座標と表示条件を統一する

大規模な点群OBJを複数のファイルに分割してアップロードした場合、分割片の境界が線として見えることがあります。ファイル単体では正常でも、複数のデータを並べたときにだけ境界線が出る場合は、座標、端部頂点、法線、テクスチャ、表示段階の条件を確認します。

最初に、すべての分割データが同じ座標基準と単位で作られているかを確認します。片方がメートル、もう片方が異なる単位として扱われていれば大きなずれになりますが、実務では小数点以下の丸め方の違いによる微小なずれにも注意が必要です。

広い範囲の絶対座標を扱うと、表示環境によっては細かな位置差を十分に保持しにくくなる場合があります。その結果、分割片の端部がわずかにずれ、細い隙間や段差が見えることがあります。

対策として、全データに共通する基準位置を設定し、座標値を局所的な範囲へ変換する方法があります。ただし、分割片ごとに異なる基準位置を使うと、接合時にずれが生じます。変換条件はすべての片で統一し、アップロード後も同じ配置基準を使用します。

座標変換を行った場合は、既知の確認点を使って位置を照合します。境界部分だけが合っていても、全体が移動または回転している可能性があります。複数の確認点で水平方向と高さ方向の差を調べます。

法線を計算するタイミングも重要です。分割後に各片で個別に法線を計算すると、端部の頂点は片側にある面だけを参照します。隣接片では別の面を参照するため、同じ位置でも法線方向が一致せず、境界に明暗差が生じることがあります。

可能であれば、分割前の全体メッシュで法線を計算し、その情報を保持したまま分割します。これにより、境界の両側で同じ周辺形状に基づく法線を使用しやすくなります。

分割後に処理する必要がある場合は、境界周辺に重複した作業範囲を設ける方法があります。隣接片の一部を含めた状態で法線を計算し、その後、不要な重複範囲を除去します。最終的な端部で法線が一致しているかを確認します。

テクスチャも同じ条件で作成します。分割片ごとに明るさ補正や画像縮小の条件が異なると、接合部で色差が生じます。画像解像度、色調整、UV外周の余白、マテリアル設定をそろえます。

近距離では境界線がなく、遠距離でだけ見える場合は、表示時の簡略化を確認します。大容量データでは、視点からの距離に応じて面数や画像解像度を変更する処理が行われることがあります。

隣接する分割片が異なる段階で簡略化されると、片方だけ形状が粗くなり、端部に段差ができます。簡略化後のメッシュでも境界頂点が同じ位置を保っているか、分割片同士の切り替え条件がそろっているかを確認します。

表示側で輪郭線や面線が有効になっていないかも確認します。選択中のデータだけ輪郭が強調される場合や、分割片ごとに線が描画される場合があります。この状態ではデータを修正しても線は消えません。形状確認用の線表示を無効にし、通常表示で比較します。

透明度のある面が重なっている場合も、内部の境界が見えることがあります。意図しない透明設定や両面表示によって裏側の線が透けていないかを確認します。

分割データの問題は、全体を同時に修正するより、境界を挟む二つの片だけを取り出して確認する方が効率的です。座標、法線、端部頂点、テクスチャ、表示距離を一項目ずつそろえ、改善した条件を他の分割片にも適用します。

修正後のOBJを再アップロードする手順

六つの修正を行った後は、修正前と同じ条件でOBJを再アップロードし、境界線が改善したかを確認します。複数の設定を一度に変更すると、どの処理が有効だったのか判断できません。検証段階では、一つの原因に対して一つの修正を行い、結果を比較します。

最初に、元データを複製して修正用データを作成します。頂点統合や面の削除は形状を直接変更するため、元データを残しておくことが重要です。修正前へ戻せる状態を用意してから作業します。

続いて、法線、スムージング、頂点接続、UV、三角化、分割条件の順で確認します。この順序で進めると、陰影の問題から形状や表示条件へ段階的に原因を絞り込めます。ただし、テクスチャ表示だけで境界線が出ることが分かっている場合は、法線修正より先にUVと画像端部を確認しても問題ありません。

OBJを書き出す前に、不要な重複面や孤立頂点を整理します。ただし、UV境界や鋭角部分に必要な分離頂点まで削除しないようにします。形状の意味を確認しながら処理します。

書き出し時には、頂点法線とテクスチャ座標が必要に応じて含まれているかを確認します。編集環境では滑らかに表示されていても、法線がOBJへ保存されていなければ、アップロード先で面ごとの法線が再計算される可能性があります。

三角化は、アップロード後の環境へ任せるのではなく、可能な範囲で書き出し前に確定します。これにより、対角線の選び方による陰影差を減らせます。

OBJを書き出した後は、同じ編集データをそのまま確認するのではなく、書き出したOBJを新規に読み込み直します。新規読み込みでは、OBJに保存されていない内部情報が使われないため、実際の書き出し結果を確認できます。

新規読み込みで境界線が残っている場合は、アップロード前のデータ処理を見直します。新規読み込みでは正常で、アップロード後だけ線が現れる場合は、アップロード先の法線解釈、テクスチャ縮小、形状簡略化、表示線の設定などを確認します。

テクスチャを使用する場合は、OBJだけでなく、関連するマテリアル情報と画像も同じ組み合わせで管理します。以前の画像や設定が残っていると、形状だけが更新され、古いテクスチャ境界が表示される可能性があります。

再アップロード後は、同じ視点だけでなく、複数の角度と距離で確認します。正面、斜め、近距離、遠距離で見比べ、境界線が消えているかを確認します。

単一色表示とテクスチャ表示も比較します。単一色では正常でもテクスチャ表示で線が出る場合は、UVや画像の問題が残っています。両方で線が出る場合は、法線や形状の接続を再確認します。

境界線が消えた後も、必要な角や段差が保たれているかを確認します。強いスムージングや広い距離での頂点統合によって、見た目だけが滑らかになっている可能性があります。

測定や形状確認に使用するOBJでは、既知点や基準寸法を利用し、修正前後の座標差を調べます。表示上の境界線を消すために、実際の形状が移動していては適切な修正とはいえません。

境界線の再発を防ぐデータ作成ルール

点群OBJアップロード後の境界線を再発させないためには、修正方法だけでなく、点群からOBJを書き出すまでの処理手順を統一することが重要です。担当者や案件ごとに設定が異なると、同じ種類の点群でも表示結果が安定しません。

まず、メッシュ生成時の点密度、穴埋め、平滑化の条件を記録します。点密度を急に変化させると、粗い面と細かい面の境界に細長い三角形ができやすくなります。必要以上に広い穴を自動で埋めると、実際には存在しない面や不安定な面が生成される可能性があります。

平滑化は、測定ノイズを抑えるために有効ですが、強く適用すると角や段差が失われます。閲覧を目的とするデータと、形状確認や測定に使うデータでは、許容できる平滑化量が異なります。用途に応じて条件を分けます。

複数範囲へ分割する場合は、分割前に全体の座標、法線、テクスチャ条件を整えます。分割後に片ごとに異なる処理を行うと、境界で法線や色が一致しにくくなります。

分割位置にも注意します。平坦で特徴の少ない場所は、わずかな明暗差でも線が目立つことがあります。構造上の自然な区切りを利用できる場合は、分割境界を合わせると見た目の違和感を減らせます。ただし、線を隠すだけではなく、端部情報を一致させることが基本です。

法線は、面の向きを統一した後に計算します。反転面が残った状態で法線を計算すると、暗い面や不自然な境界が生じます。スムージング範囲とハードエッジを設定した後、最終的な面構成に対して法線を再計算します。

三角化は、OBJ書き出し前に確定する運用が有効です。四角形や多角形を残す場合は、読み込み側での三角化結果が変わる可能性を考慮します。アップロード後の見え方を安定させたい場合は、事前に面構成を固定します。

UVは、境界周辺に十分な余白を確保します。画像縮小による色混ざりを防ぐため、領域外周の色を延長し、隣接領域との間隔を確保します。複数画像を合成する場合は、明るさや色調の差も確認します。

ファイル名と参照関係も統一します。OBJ、マテリアル情報、テクスチャ画像を一つの組み合わせとして管理し、更新時に一部だけが古い状態にならないようにします。

書き出し後の新規読み込み確認を必須工程にすると、OBJへ保存されなかった設定を発見しやすくなります。編集画面での見え方だけを確認してアップロードすると、内部情報とOBJ情報の差を見落とす可能性があります。

検証用の小規模な標準OBJを用意しておく方法も有効です。滑らかな曲面、鋭い角、UV境界、分割接合部を含むデータを用意し、書き出し設定やアップロード環境を変更した際に確認します。

元点群、メッシュ生成直後、修正後、OBJ書き出し後、アップロード後のデータは、区別できる状態で保存します。境界線がどの段階で発生したかを追跡できれば、再発時の調査を短縮できます。

境界線対策では、見た目を滑らかにすることと、元の形状を保つことを分けて考えます。頂点統合、平滑化、面の簡略化を強くすると線は消えやすくなりますが、細かな凹凸や段差も失われます。用途に必要な精度を維持しながら、表示上の不連続だけを修正することが大切です。

点群OBJの境界線に関するよくある疑問

点群OBJの境界線が見えたとき、再計測が必要なのか迷うことがあります。しかし、境界線が陰影やテクスチャの処理だけで発生している場合は、元の点群を再取得せずに改善できる可能性があります。

単一色表示で形状が連続し、座標にも隙間がない場合は、法線、スムージング、UVなどの出力設定を優先して確認します。実際の形状に穴や段差がある場合は、メッシュ生成条件や元点群の取得状況まで戻って確認します。

境界線を消すためにメッシュを高密度化すればよいとは限りません。面数を増やすと曲面を細かく表現できますが、法線やUVの不連続が残っていれば、境界線も残ります。また、データ容量が大きくなり、アップロードや表示の負荷が増える可能性があります。

反対に、面数を減らしすぎると、曲面が多面体状になり、三角形の境界が目立ちます。形状に必要な密度を保ちつつ、不良面や過剰な細分化を整理することが重要です。

頂点をすべて統合すれば境界線が消えるとも限りません。UV境界や鋭角部分では、位置が同じでも頂点を分ける必要があります。必要な分離まで統合すると、テクスチャや形状の見え方が崩れます。

テクスチャ画像の解像度を上げるだけでも、境界線が必ず消えるわけではありません。UV領域の外周に余白がなければ、高解像度でも縮小表示時に黒色や別領域の色が混ざる可能性があります。解像度とあわせてUV配置や外周処理を確認します。

アップロード先だけで境界線が出る場合は、OBJが壊れていると即断しないことが大切です。新規読み込みしたOBJが正常なら、表示側で法線が再計算されている、遠距離用に形状が簡略化されている、線表示が有効になっているといった可能性があります。

一方、新規読み込みした時点で線が出る場合は、OBJ書き出し前の処理を見直します。特に、頂点法線が保存されているか、面の表裏がそろっているか、非平面の多角形が残っていないかを確認します。

境界線の修正後には、見た目だけでなく座標や寸法も確認します。点群OBJを現況確認や計測に使用する場合は、平滑化による形状変化を見逃さないようにします。

まとめ

点群OBJアップロード後に境界線が目立つ原因は、一つではありません。曲面上で陰影が折れる場合は頂点法線やスムージング、細い隙間が見える場合は頂点の分離、テクスチャ表示だけで線が出る場合はUV境界や画像端部、三角形状の筋が出る場合は面構成を確認します。

大規模なOBJを分割している場合は、座標基準、端部頂点、法線計算、テクスチャ条件、表示時の簡略化が分割片ごとに異なっていないかを調べます。近距離と遠距離で見え方が違う場合は、データそのものだけでなく表示条件も確認することが重要です。

修正では、頂点法線の向きと連続性を整え、スムージングと鋭角部分を分け、不要な重複頂点や重複面を整理します。さらに、UV領域の外周と画像間の色差を調整し、三角化を事前に確定します。分割データでは、共通の座標基準と処理条件を使用します。

境界線を消すために過度な平滑化や頂点統合を行うと、必要な角や段差まで失われる可能性があります。修正前後で既知点や基準寸法を照合し、表示品質だけでなく形状精度も保たれていることを確認します。

再発を防ぐには、点群からメッシュを生成し、法線、スムージング、UV、三角化を整えてOBJを書き出すまでの手順を統一します。書き出したOBJは新規に読み込み直し、アップロード前に実際の保存状態を確認します。

点群OBJの境界線は、現象を分類して原因ごとに修正すれば、元データを全面的に作り直さずに改善できる場合があります。現場での点群取得からOBJ化、アップロード後の確認までを一つの流れとして整えたい場合は、LRTK Phoneを活用した計測とデータ運用もあわせて検討することができます。

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

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