点群から生成したOBJデータをアップロードした際、作成元では整っていた四角面がねじれたり、意図しない方向に折れたりすることがあります。穴や突起が発生したように見える場合もあり、点群処理やアップロードそのものが失敗したと判断してしまいがちです。
しかし、四角面の崩れは、OBJファイルが破損している場合だけに起こる現象ではありません。四角形を画面に表示するための三角化方法、頂点の並び順、面の平面性、法線、重複頂点、座標値の大きさなど、複数の条件が組み合わさって発生します。作成環境とアップロード先で三角化の規則が異なると、同じOBJデータでも見え方が変わる可能性があります。
この記事では、「点群 OBJ アップロード」で検索している実務担当者に向けて、四角面が崩れる主な原因と、三角化を実行する前に確認しておきたい5つの設定を解説します。単にすべての面を三角形へ変換するのではなく、変換後の形状を安定させるための考え方を整理していきます。
点群OBJで四角面が崩れるのはなぜか
点群は、本来は空間上に並ぶ多数の点で構成されるデータです。各点には三次元座標があり、取得方法や処理内容によっては色情報なども付加されます。一方、OBJ形式では、点だけでなく、複数の頂点を結んだ線や面も表現できます。そのため、「点群OBJ」という言葉は、点のみを格納したOBJを指す場合と、点群から生成したメッシュを含むOBJを指す場合があります。
四角面の崩れが問題になるのは、主にOBJ内に面情報が含まれているケースです。OBJファイルに頂点情報だけがあり、面を示す情報がない場合、そもそも四角面は存在しません。アップロード後に面が表示されているのであれば、アップロード先で点群から面が生成されているか、事前処理によってメッシュ化されたデータが含まれていると考えられます。
四角面は、四つの頂点を一つの面として扱う構造です。ただし、一般的な三次元表示では、最終的に三角形の組み合わせとして描画されることが少なくありません。四角形は、対角線を一本加えることで二つの三角形に分けられますが、どちらの対角線を選ぶかによって表面の折れ方が変わります。
四つの頂点が完全に同一平面上にあれば、どちらの方向で分割しても見た目の差は小さくなります。ところが、点群から生成した面には計測誤差、補間結果、ノイズ除去の影響などが含まれるため、四頂点がわずかにねじれていることがあります。その状態で作成環境とアップロード先が異なる方向に三角化すると、面の陰影や輪郭が変化し、四角面が崩れたように見えます。
したがって、問題の中心は「四角面を使ったこと」だけではありません。三角化される前の形状が安定しているか、三角化の結果を予測できる状態になっているかが重要です。
OBJに記録された四角面と表示時の三角化
OBJ形式では、頂点座標を記録したうえで、どの頂点を使って面を構成するかを参照番号で指定します。面には三つの頂点だけでなく、四つ以上の頂点を並べることもできます。そのため、作成時には四角面として保存できていても、アップロード先が同じ状態のまま処理するとは限りません。
アップロード先が三角形だけを前提としている場合、読み込み時に四角面が自動的に三角化されます。このとき、短い対角線を選ぶ方法、頂点の並びを基準に固定方向へ分割する方法、形状の曲率を考慮する方法など、処理方式には違いがあります。アップロード先の仕様が公開されていない場合、どの規則が使われるかを利用者側で正確に把握できないこともあります。
作成元の画面では、四角面が一枚の面として滑らかに表示されていても、内部ではすでに一時的な三角化が行われている可能性があります。その一時的な三角化と、OBJの読み込み先で行われる三角化の方向が異なれば、同じファイルでも陰影や輪郭が変わります。
特に影響を受けやすいのが、急な斜面、構造物の角部、法面と地面の境界、段差、縁石状の細長い形状です。こうした場所では、四つの頂点のうち一つだけが周囲から外れていると、対角線の選択によって三角形の傾斜が大きく変わります。結果として、表面にくぼみや膨らみが生じたように表示されます。
OBJをアップロードする前に三角化しておく目的は、単に面数を変えることではありません。作成側で三角形の分割方向を確定し、アップロード先による解釈の違いを減らすことにあります。ただし、元の四角面に問題が残った状態で三角化すると、その問題が三角形として固定されてしまいます。そのため、三角化より先に形状や属性を整える必要があります。
原因1 四頂点が同一平面上にない
四角面が崩れる代表的な原因は、面を構成する四頂点が同一平面上にないことです。この状態は、ねじれた四角面や非平面四角形などと呼ばれます。
紙に描いた四角形であれば、四つの頂点は同じ平面上にあります。しかし、三次元空間では、一つの頂点だけを上下に動かすことで、平らではない四角形を作れます。このような四角面には、一枚の平面として一意に定まる形状がありません。表示するには、どこかに対角線を設定し、二枚の三角形として解釈する必要があります。
点群からメッシュを生成すると、隣接する点の高さに細かな差が生じます。地面のように見える場所でも、計測ノイズ、草や小石、反射条件、補間処理などによって、四頂点がわずかにずれる場合があります。四角面が大きいほど、同程度の座標差でも面のねじれが目立ちやすくなります。
細長い四角面も注意が必要です。幅に対して長さが極端に長い面では、対角線の選択によって三角形の形状が大きく変わります。鋭角で細長い三角形が生成されると、法線計算や陰影が不安定になり、輪郭が波打って見えることがあります。
平面性を確認せずに一括三角化すると、ねじれた面はどちらか一方の対角線で固定されます。三角化自体は完了しても、望ましくない折れ目が残るため、「三角化したら崩れた」という結果になります。実際には、三角化が原因というよりも、三角化によって潜在的なねじれが見える形になったと考える方が適切です。
原因2 頂点の並び順が面ごとにそろっていない
OBJの面は、参照する頂点番号の並びによって表裏の向きが決まります。隣接する面の頂点順序がそろっていないと、一部の面だけ法線方向が反転し、アップロード後に消えたり暗く表示されたりすることがあります。
一般的には、面を表側から見たときに頂点を一定方向で並べます。ただし、点群から面を自動生成した場合や、複数のメッシュを結合した場合には、面ごとの並び順が混在することがあります。見た目だけでは問題が分かりにくく、両面表示の環境では正常に見える場合もあります。
アップロード先で裏面を表示しない設定が使われていると、反転した面は透明になったように見えます。周囲の面と三角化方向が異なる場合には、反転面の境界に沿って亀裂が入ったように見えることもあります。
また、四角面の頂点が外周に沿って順番に並んでおらず、対角位置の頂点を交互に参照していると、面が交差した形状として解釈される可能性があります。四つの頂点が正しい位置に存在していても、参照順序が不適切であれば、蝶ネクタイのような自己交差面になります。
自己交差した四角面を三角化した場合、処理側がどの領域を面として扱うかによって結果が変わります。エラーとして除外されることもあれば、意図しない二枚の三角形として残ることもあります。三角化前には、面の表裏だけでなく、頂点が外周に沿って連続しているかを確認する必要があります。
原因3 重複頂点や非多様体形状が残っている
画面上で同じ位置に見える頂点でも、内部では別々の頂点として記録されている場合があります。こうした重複頂点が残っていると、隣接する面が接続されているように見えても、トポロジー上は分離した状態になります。
分離した頂点を持つ面は、それぞれ独立して法線や属性が計算されます。三角化後に境界が強調され、滑らかだった表面に折れ線が現れることがあります。アップロード先が重複頂点を自動的に統合する場合でも、統合に使われる許容距離によって結果が変わります。
許容距離が小さすぎると、ほぼ同じ位置の頂点が統合されず、隙間が残ります。反対に、許容距離が大きすぎると、本来別々に残すべき段差や角部まで結合され、形状がつぶれる可能性があります。点群の密度や対象物の大きさを考慮せず、一律の値で頂点統合を行うのは避けた方が安全です。
非多様体形状も四角面の崩れにつながります。一つの辺を三枚以上の面が共有している状態、面の内部から別の面が分岐している状態、厚みのない面が重なっている状態などが該当します。こうした形状では、表面の内側と外側を一意に判断できないため、法線計算や三角化が不安定になります。
面積がほぼゼロの四角面にも注意が必要です。複数の頂点が同じ位置にある場合や、四頂点がほぼ一直線に並んでいる場合、三角化後に極端に細い三角形や面積のない三角形が生成されます。アップロード時に除外されれば穴になり、除外されずに残れば陰影や輪郭の乱れにつながります。
原因4 座標値が大きく計算精度が不足している
測量や建設分野で扱う点群には、現場固有の座標や公共座標に基づく大きな数値が含まれることがあります。対象物そのものは数十メートル程度でも、原点から遠い座標値を保持したまま処理すると、表示環境によっては細かな座標差を十分に扱えなくなる可能性があります。
三次元データの計算では、使用される数値表現や処理方法によって有効な精度が異なります。座標の絶対値が大きくなるほど、近接する頂点間の小さな差を表現しにくくなる場合があります。その結果、本来は別々の高さを持つ頂点が同じ位置に近い値として処理されたり、反対に平らな面へ微小な揺れが生じたりします。
作成環境では問題がなくても、アップロード先で座標値が別の数値形式へ変換されると、表示結果が変化することがあります。特に、細かな凹凸を持つ大規模な点群メッシュでは、原点からの距離と必要な分解能のバランスが重要です。
座標精度の問題は、四角面の三角化方向にも影響します。二本の対角線の長さがほぼ同じ場合、丸め誤差によって短いと判定される対角線が変わる可能性があります。作成側とアップロード側で計算結果が異なれば、選択される分割方向も異なります。
ただし、座標値を単純に小さくすればよいわけではありません。原点移動を行った後に、その移動量を記録していないと、ほかの測量データや設計データと重ね合わせられなくなります。表示用のローカル座標と、位置合わせに必要な元座標の関係を管理することが大切です。
原因5 法線や属性の境界が形状と一致していない
OBJには、頂点座標だけでなく、法線やテクスチャ座標などの参照情報を含めることができます。面の形状が正しくても、これらの属性が不整合を起こしていると、四角面が崩れたように見える場合があります。
法線は、面がどちらを向いているかや、光をどのように反射して見せるかに関係します。隣接面の法線を平均して滑らかに見せる処理が行われることもありますが、段差や角部まで平均化すると、実際の形状とは異なる陰影が生じます。反対に、本来滑らかにつながる場所で法線が分割されていると、面の境界が折れたように強調されます。
四角面を三角化すると、一枚だった面が二枚に分かれます。このとき、既存の法線をそのまま使うのか、新しい三角形ごとに再計算するのかで見え方が変わります。ねじれた四角面に同一方向の法線が設定されている場合、三角化後の実際の面方向と法線が一致しなくなることがあります。
テクスチャ座標の境界も確認が必要です。位置座標が共有されていても、画像の貼り付け位置を分けるために属性上の頂点が分割されていることがあります。頂点統合の際に位置だけを見て無条件にまとめると、模様がずれたり、属性参照が壊れたりする可能性があります。
材質の境界でも同様です。異なる表示属性を持つ面を一つの連続面として統合すると、想定外の分割や再構成が行われることがあります。三角化前には、形状だけでなく、法線、テクスチャ座標、材質区分などを保持する必要があるかを整理しておくことが重要です。
設定1 四角面の平面性とねじれ許容値を確認する
三角化前の最初の設定は、四角面の平面性を確認することです。すべての四角面を完全な平面にするのが難しい場合でも、どの程度のねじれまで許容するかを決めておくと、処理結果を安定させやすくなります。
平面性の確認では、四頂点から基準となる平面を求め、各頂点がその平面からどの程度離れているかを調べます。対象物の大きさや必要精度に対して無視できる差であれば、そのまま三角化できる可能性があります。一方、段差や角部に近い大きなずれがある場合は、面の分割や頂点位置の見直しが必要です。
許容値は、データ全体に同じ値を適用すればよいとは限りません。地形を広域で表現するメッシュと、小さな構造物の角部を表現するメッシュでは、必要な精度が異なります。広い地表面では微小なねじれが問題にならなくても、狭い部材では同じ差が形状変化として目立つことがあります。
面の大きさも考慮します。大きな四角面は、四頂点間の高さ差を内部で表現できません。点群の形状が曲面に近い場合、一枚の大きな四角面で覆うよりも、適切な密度で面を分割した方が実際の表面に近づきます。
ただし、面を細かくしすぎると、点群ノイズまで形状として残り、アップロード後の表示負荷も増えます。平面性の判定は、単に面を増やすためではなく、必要な形状を保ちながら不安定な面だけを検出するために行います。
ねじれの大きい四角面が見つかった場合は、周辺形状に合う対角線で先に分割する方法があります。局所的な凹凸を残す必要がなければ、頂点位置を平滑化する方法も考えられます。ただし、出来形確認や変位確認など、計測値そのものが重要な用途では、見た目を整えるための平滑化が測定結果に影響しないよう注意が必要です。
設定2 面の向きと頂点順序を統一する
二つ目の設定は、面の向きと頂点の並び順をそろえることです。三角化を行う前に、隣接する面の表裏が一貫しているかを確認します。
閉じた形状であれば、外側を向く法線が連続するように面の向きを整えます。地形や法面のような開いた形状では、通常は観察したい側へ法線を向けます。ただし、アップロード先が両面表示に対応している場合でも、面の向きを統一しておく方が後工程の不具合を減らせます。
頂点順序の確認では、四頂点が面の外周に沿って並んでいるかを見ます。隣り合う頂点を順番にたどったとき、辺が面の内部で交差しない状態が必要です。自己交差面が見つかった場合は、頂点番号の並びを修正するか、適切な三角形へ分割します。
面の向きを自動修正する処理を使う場合も、結果を目視確認することが大切です。薄い板状の形状、複数の部品が接触する場所、開口部の周囲などでは、内側と外側の自動判定が難しい場合があります。基準となる面を一枚指定し、そこから隣接関係をたどって向きをそろえる方法が安定しやすいでしょう。
法線情報がOBJ内に含まれている場合は、面の向きを修正した後に法線も見直します。面だけを反転し、法線が元の方向を向いたままになると、表示時の陰影に不整合が残ります。必要に応じて法線を再計算し、面方向との一致を確認します。
三角化後に法線を再計算する予定であっても、三角化前の面方向はそろえておく必要があります。反転した四角面をそのまま三角化すると、反転した二枚の三角形が生成されるだけで、根本的な問題は解消されません。
設定3 頂点統合とトポロジー修復を先に行う
三つ目の設定は、重複頂点を整理し、面同士の接続関係を修復することです。三角化した後でも頂点統合は可能ですが、処理対象の面数が増えるため、意図しない結合や確認漏れが起こりやすくなります。
最初に、同じ位置または非常に近い位置にある頂点を検出します。統合する距離の基準は、点群の取得精度、メッシュの平均的な辺長、残したい最小形状を踏まえて設定します。例えば、残すべき段差より大きな許容距離を設定すると、段差の上下にある頂点が結合される可能性があります。
位置が同じでも、法線やテクスチャ座標、材質の境界を分けるために意図的に頂点が分離されている場合があります。そのため、位置だけで一括統合するのではなく、属性を保持すべき境界かどうかを確認します。形状上の接続と表示属性上の分離を区別することが重要です。
次に、面積が極端に小さい面、同じ面が重なっている箇所、同じ頂点を複数回参照する面を検出します。これらは三角化時に不正な三角形を生む原因になります。不要な面を削除した後は、穴や孤立した辺が残っていないかも確認します。
非多様体の辺がある場合は、どの面を残すべきかを形状の目的から判断します。単に余分な面を自動削除すると、必要な構造物まで失われることがあります。地表面として使うのか、閉じた立体として使うのか、断面確認に使うのかによって、適切な修復方法は異なります。
点群由来のメッシュでは、測定対象ではない浮遊面が生成されることもあります。本体から離れた小さな面の集合や、細い線状につながった不要部分は、アップロード後の表示範囲や三角化結果に影響します。連結成分ごとに大きさを確認し、不要な部分を整理しておくと、処理結果を比較しやすくなります。
修復後は、頂点数や面数だけでなく、境界辺の数や非多様体箇所の有無も確認します。数値が変化した理由を記録しておくと、後から形状が変わった原因を追跡しやすくなります。
設定4 原点と座標スケールを整理する
四つ目の設定は、OBJに保存する座標の原点とスケールを整理することです。現場座標をそのまま保持する必要がある場合でも、表示用データでは対象範囲の近くに一時的な原点を設ける方法があります。
原点移動を行う場合は、各頂点から共通の基準座標を差し引きます。これにより、OBJ内の座標値を対象物の大きさに近い範囲へ収められます。アップロード先で大きな座標値を扱いにくい場合、表示の揺れや細かな形状の欠落を減らせる可能性があります。
ただし、原点移動量を別途管理しなければ、元の位置へ戻せません。基準座標、座標系、単位、軸方向、標高の扱いを記録し、再配置できる状態にしておきます。ファイル名だけに情報を持たせるのではなく、作業記録や管理項目として残すことが望まれます。
単位の確認も必要です。OBJの座標値そのものには、利用者が必ず同じ単位として解釈できる情報が十分に含まれるとは限りません。作成側ではメートルとして扱っていても、読み込み側で異なる単位を想定すると、形状の大きさが変化します。大きさが変わるだけでなく、頂点統合や面積判定に使われる許容値との関係も変わります。
三角化前の平面性判定や重複頂点判定を行う際も、単位を統一しておく必要があります。例えば、許容距離の数値だけを引き継ぎ、座標単位が変わっていると、過剰な統合や検出漏れが発生します。
座標の小数点桁数を減らす場合は、必要な精度を先に決めます。ファイル容量を減らすために過度な丸めを行うと、近接頂点が同じ座標になり、面積のない三角形が生成される可能性があります。一方、必要以上の桁数を残しても、アップロード先がすべての桁を同じ精度で扱うとは限りません。
対象物の最小寸法、求める再現精度、アップロード先の処理特性を踏まえ、座標スケールと保存桁数を決めることが大切です。
設定5 三角化方向と属性保持の条件を固定する
五つ目の設定は、四角面をどの方向で三角化するかを作成側で決め、法線やテクスチャ座標などの属性をどのように保持するかを固定することです。
四角面には二通りの基本的な分割方向があります。単純に短い対角線を選ぶ方法は使いやすい一方、地形の尾根や谷、構造物の稜線と一致するとは限りません。長さだけで決めると、残したい折れ線を横切る方向に分割されることがあります。
形状の特徴が明確な場所では、対角線が稜線や谷線、段差の方向と整合するように設定します。周囲の面との連続性も重要です。隣接する四角面が交互に異なる方向へ分割されると、規則的な格子状の点群でも陰影が不均一になる場合があります。
曲面では、三角化後の法線変化が小さくなる方向を選ぶ考え方があります。地形では、局所的な傾斜や曲率を考慮し、急な折れを作りにくい対角線を選びます。ただし、自動判定だけに任せると、重要な構造境界まで滑らかにつながる可能性があるため、境界線を固定してから処理する方法が有効です。
三角化時に新しい頂点を追加するかどうかも確認します。通常の対角分割では既存の四頂点を使いますが、処理方法によっては面の中心や辺上に頂点を追加する場合があります。頂点追加は形状の調整に役立つことがある一方、元の点群との対応関係が変わります。
属性保持では、位置座標だけでなく、法線、テクスチャ座標、材質区分、面グループなどの扱いを決めます。三角化後に法線を再計算する場合は、滑らかにつなぐ範囲と、角として分ける範囲を設定します。すべてを滑らかにすると構造物の角が丸く見え、すべてを分離すると地表面が細かく折れて見える可能性があります。
アップロード先で再三角化される可能性を減らすには、三角化後のOBJが三角面だけで構成されていることを確認します。四角面や五角形以上の面が一部に残っていると、その部分だけ読み込み時に再処理され、表示差が残ることがあります。
三角化後に行うアップロード前の確認
三角化が完了したら、すぐにアップロードするのではなく、変換前後の形状を比較します。面数が増えたことだけを確認しても、適切に分割されたかは判断できません。
最初に、外形寸法と座標範囲を確認します。三角化だけを行ったのであれば、基本的に頂点位置や全体の大きさが大きく変わることは想定されません。変換後に座標範囲が変わっている場合は、原点移動、単位変換、軸変換などが同時に行われていないかを確認します。
次に、三角形の面積を確認します。面積がゼロまたは極端に小さい三角形が大量に生成されている場合、元の四角面に重複頂点や細長い形状が含まれていた可能性があります。こうした三角形は、アップロード時に除外されたり、表示上のちらつきを引き起こしたりします。
法線方向も再確認します。表面を一定方向から見たときに、一部だけ暗く表示される場合や消える場合は、面の向きが混在している可能性があります。両面表示だけで確認すると反転を見逃すため、可能であれば表側と裏側を区別できる表示条件で確認します。
輪郭線や段差の周辺では、三角化前後の断面を比較します。正面から見た外観だけでは、内部に生じた折れや突起を見落とすことがあります。複数方向の断面で確認すると、対角線の選択による形状変化を把握しやすくなります。
OBJと関連ファイルをまとめて扱う場合は、参照名や相対的な配置も確認します。三角化後に面グループや属性名が変わると、アップロード先で期待した表示にならない可能性があります。不要な関連ファイルや過去版のファイルが混在していないかも確認しておくと安全です。
最後に、アップロード先と同等の条件で一度読み直します。作成中のデータをそのまま表示するのではなく、書き出したOBJを新しい環境へ読み込み、保存された内容だけで再現できるかを確認します。この読み戻し確認により、作業環境の一時的な設定に依存した表示を切り分けられます。
四角面を残す場合と三角化する場合の判断基準
すべてのOBJを必ず事前に三角化しなければならないわけではありません。四角面を残した方が編集しやすい場面もあります。形状修正や面の流れを調整する工程では、規則的な四角面の方が扱いやすいことがあります。
一方、アップロード先での表示結果を一定にしたい場合は、事前に三角化する方が適しています。特に、作成環境と閲覧環境が異なる場合、複数の担当者や端末で同じ形状を確認する場合、後から三角化方向が変わると困る場合には、分割を確定しておく意義があります。
ねじれのない平面的な四角面が中心であり、アップロード先が四角面を同じ規則で扱えることを確認できている場合は、四角面を残しても大きな問題が起こらない可能性があります。ただし、読み込み先の更新や変換工程の追加によって結果が変わることも考えられます。
急傾斜、複雑な地形、曲面、構造物の角部を含むOBJでは、三角化方向が形状に与える影響が大きくなります。このようなデータでは、重要な場所だけでも作成側で分割方向を確認しておく方が安全です。
また、四角面を残すかどうかは、ファイル容量だけで判断しないことが大切です。一般的な対角分割では頂点数が変わらなくても、面の記述数や参照情報は変化します。ただし、表示負荷は面数だけでなく、頂点属性、材質区分、データの分割数、閲覧範囲などにも左右されます。
三角化によって互換性が高まる可能性はありますが、形状品質が自動的に改善されるわけではありません。元の面にあるねじれや接続不良を修正したうえで、目的に合った三角化を行うことが重要です。
点群OBJの品質を安定させる運用方法
点群OBJのトラブルを減らすには、担当者ごとの目視判断だけに頼らず、アップロード前の確認手順を統一します。取得、点群処理、メッシュ生成、修復、三角化、書き出し、読み戻し、アップロードという流れを整理し、どの工程で何を確認するかを決めておきます。
元の点群データと、メッシュ化後のOBJは分けて保存します。OBJの形状が崩れたときに、取得時の点群に問題があったのか、メッシュ生成時に問題が生じたのかを比較できるようにするためです。
三角化前の四角面版と、三角化後の配布版も分けて管理すると修正しやすくなります。三角化後のデータだけを上書き保存すると、対角線の方向を変更したいときに元の面構造へ戻せないことがあります。ファイル名や管理番号によって工程を区別し、最新版が分かる状態にします。
処理条件も記録します。平面性の許容値、頂点統合距離、削除した最小面積、原点移動量、座標単位、三角化方法、法線再計算の有無などを残しておくと、別の担当者でも同じ条件を再現できます。
アップロード後の確認では、単に「表示できたか」だけを判定しないことが重要です。全体位置、縮尺、輪郭、段差、穴、裏面、陰影、属性の境界を確認し、用途に必要な品質を満たしているかを見ます。
大容量の点群OBJでは、一度に全範囲を処理すると原因を特定しにくくなります。問題が発生した範囲を切り出し、小さな検証用OBJで処理条件を比較すると効率的です。対角線の方向、法線の再計算、頂点統合距離などを一項目ずつ変えれば、崩れに影響した条件を判断しやすくなります。
現場で新たに点群を取得する場合は、後工程だけでなく取得段階の品質も意識します。対象物の裏側や急な角部に欠測があると、メッシュ生成時に無理な補間面が作られます。反射しにくい面や遮蔽物の多い場所では、取得位置や視線方向を変え、形状を判断できる点を確保することが大切です。
まとめ
点群OBJの四角面が崩れる現象は、OBJファイルの破損だけでなく、非平面の四角面、頂点順序の不統一、重複頂点、非多様体形状、大きな座標値、法線や属性の不整合などによって発生します。
四角面は表示時に二つの三角形へ分割されることがあり、対角線の方向によって表面の折れ方が変わります。作成元とアップロード先で三角化方法が異なると、同じOBJでも形状や陰影が変化する可能性があります。
三角化前には、四角面の平面性を確認し、面の向きと頂点順序を統一します。そのうえで、重複頂点や不正な接続を修復し、原点と座標スケールを整理します。最後に、三角化方向と法線などの属性保持条件を固定することで、アップロード先による解釈差を減らせます。
三角化は、問題のある面を自動的に直す処理ではありません。元の四角面に残る問題を確認し、必要な形状を守りながら分割方法を決める工程です。変換後は、座標範囲、面積の小さい三角形、法線、輪郭、断面を確認し、書き出したOBJを読み戻してからアップロードすると安全です。
点群OBJの品質を継続的に安定させるには、取得からアップロードまでの条件を記録し、元データ、編集用データ、三角化後データを分けて管理することが重要です。現場での点群取得からデータ活用までの流れを効率化したい場合は、LRTK Phoneを活用した運用も検討してみてください。