点群OBJでスムージンググループが重要になる理由
点群から生成した3DデータをOBJ形式でアップロードしたところ、元の編集画面では滑らかだった表面が角張って見えたり、反対に残したかった稜線まで丸く見えたりすることがあります。このような表示差は、ポリゴンの形状そのものだけでなく、面の陰影をどのようにつなげるかを示す法線やスムージンググループの扱いによって発生します。
一般に点群は、空間上に多数の点を記録したデータです。一方、OBJ形式は頂点や面を記述できる3D形式であり、点群から生成した三角形メッシュやポリゴンメッシュの受け渡しに使われます。本記事で扱う点群OBJとは、主に点群を基に表面生成やメッシュ化を行ったOBJデータを指します。点だけを記録したOBJも存在しますが、スムージンググループが問題になるのは、面を持つデータを扱う場面です。
スムージングは、ポリゴン自体を曲げる処理ではありません。複数の面にまたがる陰影を連続させ、面の境界を目立ちにくくする表示上の処理です。同じ頂点座標と同じ面構成を持つOBJでも、法線の向きやスムージングの設定が異なると、画面上の印象は大きく変わります。
例えば、緩やかな地形や盛土の表面では、隣接面の陰影を滑らかにつなげることで、細かな三角形の境界が目立ちにくくなります。一方、構造物の角、段差、法肩、縁石、壁面の取り合いなどでは、面を無条件に滑らかにつなぐと、本来明確であるべき輪郭が丸く見える可能性があります。点群由来のメッシュでは細かな凹凸や不規則な三角形が多いため、設定の影響が特に表れやすくなります。
OBJには、頂点座標を示す情報、面の構成を示す情報、テクスチャ座標、頂点法線、オブジェクトやグループ、材質との関連付けなどを記述できます。また、面に対するスムージンググループを示す情報を含めることもできます。ただし、すべてのアップロード先が同じ方法でこれらを解釈するとは限りません。
ある表示環境はOBJ内の頂点法線を優先し、別の環境はスムージンググループを基に法線を再生成します。アップロード時に最適化処理を行い、受け取った法線を使わず独自に再計算する仕組みもあります。そのため、編集画面で滑らかに見えていることだけでは、アップロード後の見た目を保証できません。
安定した受け渡しを行うには、スムージンググループだけに依存せず、頂点法線、シャープ境界、頂点分割、三角化の状態まで含めて管理する必要があります。ここからは、点群OBJのスムージングを維持しやすくする4つの出力設定を順に解説します。
出力設定1:頂点法線を書き出して再計算を防ぐ
最初に確認したいのは、OBJ出力時の法線に関する設定です。出力画面に「法線を書き出す」「頂点法線を含める」「カスタム法線を保持する」といった項目がある場合は、基本的に有効にします。表記は使用する環境によって異なりますが、重要なのは編集時に確定した法線情報をOBJへ含めることです。
頂点法線は、表面の各位置がどちらを向いているかを表示処理へ伝える情報です。実際にはOBJの面要素から頂点座標と法線情報を関連付けることで、同じ位置にある面同士を滑らかにつないだり、境界で陰影を分離したりできます。
OBJでは、頂点座標と頂点法線は別の情報として記録されます。そのため、同じ座標位置を参照する面であっても、異なる法線を割り当てることが可能です。この仕組みを利用すれば、曲面部分では連続した陰影を作り、角部分では面ごとに異なる陰影を持たせられます。
法線を書き出さずにOBJを出力すると、アップロード先は面の向きや角度から法線を再計算することになります。再計算の方法が編集環境と同じであれば大きな差が出ない場合もありますが、スムージング角度、面積による重み付け、頂点の結合状態などが異なると、結果も変わります。
特に点群から生成したメッシュは、三角形の大きさや形が一定ではありません。細長い三角形や極端に小さな三角形が混在していると、単純な平均による法線計算では、意図しない方向へ陰影が引っ張られることがあります。編集時に調整した法線を出力しない場合、この調整結果がアップロード後に失われる可能性があります。
ただし、法線を書き出せば必ず維持されるわけではありません。アップロード先に「法線を再生成する」「面法線を計算する」「スムージングを自動適用する」といった処理がある場合、OBJ内の法線が置き換えられることがあります。アップロード時に選択できる設定がある場合は、既存法線の使用や保持に相当する項目を選びます。
法線の向きも重要です。点群から表面を生成した際、面の表裏が部分的に反転していると、法線を書き出しても正しい表示にはなりません。裏面を表示しない環境では面が欠けたように見え、両面表示の環境では陰影だけが不自然になることがあります。OBJ出力前には、面の向きが対象物の外側へそろっているかを確認します。
座標軸の変換や負の拡大率にも注意が必要です。左右反転を含む変換を残したまま出力すると、面の頂点順序と法線の対応が変わり、表裏が反転することがあります。出力前に位置、回転、拡大率を適用し、変換後の形状と法線を確定させておくと、環境差を抑えやすくなります。
また、法線を修正した後にメッシュを編集した場合は、法線情報が古くなっていないか確認します。面の追加、頂点の移動、穴埋め、簡略化、頂点統合などを行うと、既存の法線と形状が一致しなくなる場合があります。編集を終えた段階で法線を再確認し、その後にOBJを書き出す流れが安全です。
出力時には、法線の書き出しとスムージンググループの出力を併用することが理想です。アップロード先が頂点法線を読む場合には調整済みの陰影を再現しやすくなり、法線を再計算する場合にはスムージンググループが補助情報として働く可能性があります。
出力設定2:スムージンググループ情報を有効にする
2つ目は、OBJ出力時にスムージンググループを含める設定です。出力画面に「スムージンググループ」「面のスムージング」「滑らかな面情報」「ポリゴングループをスムージングとして出力する」といった選択肢がある場合は、用途に合う項目を有効にします。
OBJのスムージンググループは、どの面同士を滑らかにつなぐかを示すために使われます。OBJのテキスト内部では、一般的にスムージングのグループ番号や、スムージングを無効にする指定が面の前に記述されます。例えば、あるグループに属する面を連続させ、別のグループやスムージング無効の面とは陰影を分けるという使い方です。
スムージンググループは、頂点や面の座標を変更しません。あくまで、法線を生成または解釈するときの境界情報として利用されます。したがって、スムージンググループが失われても形状寸法そのものが直ちに変わるわけではありません。しかし、陰影の見え方が変わることで、稜線やへこみ、盛り上がりの視認性が大きく変化することがあります。
点群OBJでは、すべての面を1つのスムージンググループにまとめればよいとは限りません。地表面や緩やかな法面では連続したスムージングが適していますが、壁と床の境界、構造物の角、切断面、段差の立ち上がりなどは、別のグループに分ける必要があります。
角度を基準に自動的にスムージング境界を作る機能を使う場合は、対象形状に適した角度を設定します。設定角度が大きすぎると、直角に近い部分まで滑らかにつながり、角が丸く見えます。反対に小さすぎると、緩やかな曲面でも細かな面境界が現れ、全体が多面体のように見えます。
点群由来のメッシュには測定ノイズや微小な凹凸が含まれるため、面同士の角度だけで境界を判定すると、細かなスムージンググループが大量に作られる場合があります。角度基準を適用する前に、明らかな孤立点や異常面を除去し、必要に応じて表面のノイズを調整しておくことが重要です。
一方で、形状の輪郭を守るために過度な平滑化を行うべきではありません。スムージングの見た目を整えることと、メッシュ自体の頂点位置を平均化する処理は別物です。表示上のスムージングだけを調整したい場面で、頂点座標を移動する平滑化処理を強くかけると、段差や角、出来形として確認したい凹凸まで変形する可能性があります。
出力設定では、スムージンググループとオブジェクトグループを混同しないことも大切です。OBJには、複数の面をオブジェクト名やグループ名でまとめる情報もありますが、これらは必ずしもスムージング境界として扱われません。オブジェクトを分けたからといって、自動的に滑らかな面と硬い境界が正しく再現されるとは限りません。
反対に、出力時にオブジェクトを統合すると、スムージンググループが作り直されたり、境界が失われたりする場合があります。複数の部材を1つのOBJへまとめるときは、統合前のスムージング情報が保持される設定になっているかを確認します。
アップロード先がスムージンググループを解釈しない場合もあります。その場合でも、頂点法線が正しく含まれていれば見た目を維持できる可能性があります。したがって、スムージンググループを出力する設定は、法線を書き出す設定と組み合わせて使用することが基本です。
出力設定3:シャープ境界の頂点分割を維持する
3つ目は、シャープな境界で頂点を分割する設定です。出力項目では「シャープエッジで頂点を分割する」「法線境界を分離する」「スムージング境界を頂点分割する」などの表現が使われることがあります。
3D編集画面では、1つの頂点を複数の面が共有しながら、それぞれに異なる法線を持たせられる場合があります。しかし、アップロード先の内部形式や変換処理によっては、1つの頂点に対して1つの法線しか保持できないことがあります。このような環境では、角の両側に異なる法線を持たせるために、同じ座標位置へ複数の頂点を作成する必要があります。
頂点分割を有効にすると、見た目には同じ位置にある頂点でも、滑らかにつながない境界ごとに別の頂点として出力されます。これにより、アップロード先がスムージンググループを十分に解釈しない場合でも、硬い稜線を保ちやすくなります。
例えば、床面と壁面が直角に接続しているモデルを考えます。境界の頂点を完全に共有し、アップロード先が法線を一律に平均すると、直角部分の陰影が斜めにつながり、角が丸く見えることがあります。境界で頂点を分割しておけば、床側の法線と壁側の法線を明確に分けられます。
ただし、頂点分割を増やすほど、OBJ内の頂点数や法線数が増える可能性があります。大規模な点群OBJでは、ファイル容量やアップロード後の処理負荷にも影響します。そのため、すべての面を分離するのではなく、残す必要がある稜線やスムージング境界に限定して分割することが重要です。
点群から生成した地形メッシュでは、原則として隣接面を滑らかにつなぎたい場面が多くなります。地表面の全エッジを分割すると、陰影が面ごとに切れ、細かな三角形が目立つ結果になりかねません。一方、擁壁、側溝、縁石、建物外周、掘削境界などでは、明確な折れ線を維持した方が確認しやすくなります。
頂点分割の前に、どのエッジをシャープとして扱うかを確定します。角度だけで自動指定すると、点群ノイズによって不要なエッジまでシャープと判断される場合があります。形状の意味を踏まえ、地形の連続面と構造物の境界を分けて確認することが望まれます。
頂点統合の設定にも注意が必要です。OBJ出力時やアップロード時に「同一位置の頂点を統合する」「重複頂点を削除する」といった処理を有効にすると、スムージング境界のために分割した頂点が再びまとめられることがあります。統合処理が法線やテクスチャ座標の違いを考慮する仕様であれば維持できる場合もありますが、座標だけを基準に統合する処理では境界が失われる可能性があります。
頂点を整理する場合は、単に座標が同じかどうかだけでなく、法線、スムージンググループ、テクスチャ座標、材質境界などの属性が異ならないかを確認します。見た目を守るために必要な重複頂点まで削除すると、アップロード後にスムージングが崩れる原因になります。
法線境界とテクスチャの継ぎ目が同じ場所にある場合もあります。テクスチャ座標の継ぎ目では、同じ位置の頂点に異なる座標を割り当てる必要があるため、内部的に頂点が分割されます。ただし、テクスチャのための分割が、そのまま適切な法線境界になるとは限りません。表示結果を確認しながら、両者を別の属性として管理します。
シャープ境界の頂点分割は、スムージンググループの互換性が不明なアップロード先に対して有効な対策です。ただし容量とのバランスがあるため、小さな検証用OBJを用意し、分割ありと分割なしで表示結果やデータ量を比較してから全体へ適用すると安全です。
出力設定4:三角化と変換処理を出力前に確定する
4つ目は、三角化や座標変換をOBJ出力前に確定させる設定です。一見するとスムージンググループとは別の話に見えますが、面の分割方法が変わると法線の補間結果も変化するため、見た目を安定させるうえで重要です。
OBJは三角形だけでなく、4頂点以上の面を記述できます。しかし、アップロード先の表示処理では、最終的に面を三角形へ分割して描画することが一般的です。どの対角線で三角化するかが出力元とアップロード先で異なると、同じ四角形でも陰影の補間結果が変わることがあります。
完全に平面である四角形であれば、対角線の違いによる影響は小さくなります。一方、4つの頂点が同一平面上にない場合や、点群由来の不規則な面では、三角化方向によって面の向きが変わります。その結果、頂点法線を保持していても、面内部の陰影やシルエットが異なって見える場合があります。
出力前に三角化を確定しておけば、編集画面で確認した面構成をそのままOBJへ渡しやすくなります。アップロード先による自動三角化の違いを避けられるため、スムージングの再現性も高まります。
ただし、三角化を行った後にスムージンググループや法線を確認することが重要です。三角化前に法線を整えていても、面の分割によって新しいエッジが作られ、法線計算の結果が変わる場合があります。処理順は、形状編集、不要面の整理、三角化、シャープ境界の確認、法線の確定、OBJ出力とするのが分かりやすい流れです。
メッシュ簡略化を行う場合も、出力前に実施します。アップロード先で自動的に面数を削減すると、どのエッジが残るかを制御しにくくなります。稜線付近の面が統合されれば、スムージンググループを保持していても、輪郭そのものが変わる可能性があります。
点群OBJは面数が多くなりやすいため、アップロード容量や表示負荷を考えて簡略化が必要になることがあります。その場合は、全体を同じ削減率で処理するよりも、平坦な部分は強めに削減し、輪郭や段差周辺は面を残す方法が適しています。形状を簡略化した後に法線を再計算し、必要な境界へスムージンググループを割り当て直します。
座標軸や単位の変換も出力前に確定します。出力時に上下軸や前方軸を変更すると、頂点座標だけでなく法線も同じ変換を受ける必要があります。変換処理に不整合があると、形状は正しい向きに見えても陰影だけが反転する場合があります。
特に左右反転を伴う座標変換では、面を構成する頂点の並び順にも注意が必要です。面の表裏は頂点の並び順から判断されることが多いため、反転後に並び順が修正されないと、法線と面の向きが一致しなくなる可能性があります。
拡大率についても、負の値や軸ごとに異なる値を残さず、出力前に適用しておくと安全です。均一ではない拡大を法線へ正しく反映するには適切な変換が必要であり、単純に座標と同じ処理を行うだけでは法線の向きがずれることがあります。編集環境内で変換を確定し、最終状態の法線を再確認してから出力します。
三角化と変換処理を先に確定しておけば、OBJ出力時に予期しない形状変更が起こりにくくなります。結果として、法線、スムージンググループ、シャープ境界の対応関係も維持しやすくなります。
点群OBJを書き出す前に確認したい形状の状態
4つの出力設定を正しく選んでも、元のメッシュに問題があれば表示は安定しません。出力前には、形状、面の向き、頂点の接続、法線、スムージング境界を一連のデータとして確認する必要があります。
まず確認したいのは、重複面や重複頂点です。同じ位置に同じ面が重なっていると、表示時にちらつきや不自然な陰影が発生することがあります。重複頂点については、不要なものと、法線境界を維持するために必要なものを区別します。すべてを一括で統合すると、シャープ境界まで失われる可能性があります。
次に、極端に細長い三角形や面積がほとんどない面を確認します。このような面は法線方向が不安定になりやすく、わずかな座標差で向きが大きく変わることがあります。点群からメッシュを生成した場合、点の密度差や欠測部分の補間によって発生しやすい形状です。
穴や非多様体形状も確認対象です。1本のエッジを通常とは異なる数の面が共有している場合や、面同士が頂点だけで接している場合は、内外判定や法線計算が不安定になる可能性があります。計測上必要な開口部と、生成処理によって生じた意図しない穴を分けて扱います。
孤立した小さな面や、本体から離れた断片も表示品質に影響します。これらが自動スムージングの角度判定や全体の表示範囲へ影響し、アップロード後に本体が小さく表示される場合もあります。点群の外れ値から生成された断片は、必要性を確認したうえで整理します。
法線の表示機能がある場合は、表面から一定方向へ線を伸ばして確認します。外側へ向くべき法線が一部だけ内側を向いていないか、緩やかな曲面で法線の方向が急に変化していないか、硬い角で平均化されていないかを確認します。
ワイヤーフレーム表示も有効です。通常の陰影表示だけでは、見た目の問題が法線によるものか、実際の形状によるものか判断しにくいことがあります。ワイヤーフレームで輪郭や面構成が変わっていなければ、法線やスムージングの問題である可能性が高まります。反対に、稜線自体が移動している場合は、簡略化や頂点統合による形状変化を疑います。
材質を一時的に単色へ変更して確認する方法もあります。写真テクスチャや頂点色があると、陰影の不連続が目立ちにくいことがあります。単色かつ光沢を抑えた表示に切り替えると、スムージング境界や法線の乱れを確認しやすくなります。
最終的には、編集環境内での見た目だけでなく、書き出したOBJを別の汎用的な表示環境へ読み戻して確認します。再読み込みした時点で崩れている場合は出力設定やOBJ内部の問題であり、再読み込みでは正常でアップロード後だけ崩れる場合は、アップロード先の変換処理が関係していると切り分けられます。
点群OBJアップロード後にスムージングが崩れる原因
点群OBJアップロード後に表示が変わった場合、すぐにスムージンググループの欠落だけを原因と判断しないことが大切です。複数の処理が同時に行われ、結果として似た症状が現れることがあります。
代表的なのは、アップロード先による法線の再計算です。OBJに頂点法線が含まれていても、内部形式への変換時に破棄され、新しい法線が生成されることがあります。その際にスムージンググループが解釈されなければ、すべての面が滑らかにつながるか、反対にすべての面が分離して見える可能性があります。
次に考えられるのは、頂点統合です。アップロード後の容量削減を目的として、近接する頂点をまとめる処理が行われると、法線境界の頂点分割が失われることがあります。統合距離が大きい場合は、形状自体が変わる可能性もあります。
メッシュ簡略化も原因になります。面数削減によって稜線周辺の頂点が削除されると、法線だけでは元の輪郭を再現できません。スムージンググループが残っていたとしても、境界となるエッジが消えていれば、見た目は変化します。
自動三角化の違いも見逃せません。四角形や多角形を含むOBJがアップロード時に三角化され、編集時とは異なる対角線で分割されると、面の向きや陰影の補間が変わります。非平面の多角形が多いほど影響が表れやすくなります。
面の表裏に関する設定も確認します。アップロード先が片面表示を使用している場合、法線が反転した面は消えたように見えます。両面表示では形状が見えていたため、スムージングの問題と誤認することがあります。
照明条件の違いによって、問題が強調される場合もあります。編集環境では柔らかな光で目立たなかった法線の乱れが、方向性の強い照明や光沢のある材質では明確に現れます。反対に、明るさが一定の表示では、シャープ境界が失われても気づきにくい場合があります。
座標値が非常に大きい場合は、表示精度の影響も考えられます。広域座標をそのまま保持したモデルでは、表示処理の数値精度によって細かな頂点位置や法線補間が不安定に見えることがあります。原点付近へ一時的に移動した検証用データで症状が改善するかを確認すると、原因を分けやすくなります。
アップロード失敗や表示差の原因を探すときは、法線、スムージンググループ、頂点分割、三角化、簡略化、座標変換を順番に確認します。複数の設定を一度に変更すると、どの変更が有効だったか分からなくなるため、一項目ずつ比較することが重要です。
小さな検証用OBJで出力条件を切り分ける方法
大容量の点群OBJを使って設定を比較すると、出力やアップロードに時間がかかり、原因の切り分けも難しくなります。まずは問題が確認できる範囲だけを切り出し、小さな検証用OBJを作成する方法が有効です。
検証用データには、緩やかな曲面、直角に近い角、段差、平面、細かな凹凸など、実データで問題になっている特徴を含めます。単純な平面だけではスムージング設定の違いが表れにくいため、滑らかにしたい部分と硬く残したい部分を同時に含めることが重要です。
最初の出力では、頂点法線、スムージンググループ、シャープ境界の頂点分割、事前三角化をすべて有効にします。これを基準データとし、アップロード後の表示を確認します。
基準データが正常に表示された場合は、各設定を1つずつ無効にしたOBJを作成します。頂点法線を外したときだけ崩れるのであれば、アップロード先はスムージンググループよりも明示的な法線に依存している可能性があります。スムージンググループを外したときに崩れる場合は、法線の再生成時にグループ情報が利用されている可能性があります。
頂点分割を外した場合だけ角が丸くなるのであれば、アップロード先が1つの頂点へ複数の法線を持たせる方法に十分対応していない可能性があります。三角化を外した場合だけ陰影が変わるのであれば、自動三角化の方法が出力元と異なると考えられます。
OBJはテキストとして内容を確認できる形式です。必要に応じて、頂点法線を示す記述が含まれているか、面要素から法線が参照されているか、スムージンググループの指定が面の前に存在するかを確認します。ただし、大容量データを手作業で細かく読むのではなく、検証用の小さなOBJで構造を比較する方が現実的です。
書き出したOBJを元の編集環境へ再読み込みする確認も行います。再読み込みした時点でスムージングが失われている場合は、OBJ出力時に必要な情報が含まれていないか、読み込み側がその情報を利用していないと考えられます。
別の表示環境では正常で、目的のアップロード先だけで崩れる場合は、アップロード先の内部変換が主な原因と判断できます。この場合は、スムージンググループだけに頼らず、法線と頂点分割を組み合わせた出力が有効です。
検証結果は、出力条件、OBJ容量、頂点数、面数、アップロード後の見た目を対応させて記録します。作業者ごとに設定が変わると同じ問題を繰り返しやすいため、正常に表示できた条件を標準の出力設定として残します。
見た目と計測用途を両立させる運用の考え方
点群OBJのスムージングを調整するときは、見た目を滑らかにする目的と、形状を正しく確認する目的を区別する必要があります。陰影が滑らかであることと、計測対象の表面が正確であることは同じではありません。
スムージンググループや頂点法線は、基本的に表示上の陰影を制御する情報です。適切に設定すればポリゴン境界を目立ちにくくできますが、実際の頂点座標や面形状の誤差を修正するものではありません。大きな穴、段差、波打ち、外れ値がある場合は、メッシュ自体を確認する必要があります。
反対に、画面上で細かな三角形が見えていても、形状座標が誤っているとは限りません。法線が面ごとに分離されているだけであれば、寸法や体積計算へ直接影響しない場合があります。ただし、作業者が輪郭や傾斜を目視確認する用途では、陰影の違いが判断へ影響するため、表示品質も無視できません。
計測や出来形確認に使用するデータでは、元の点群、処理後のメッシュ、表示用に軽量化したOBJを分けて管理する方法が有効です。元データを保存しておけば、表示用OBJで過度な簡略化やスムージングが行われても、必要に応じて形状を再確認できます。
表示用OBJでは、平坦部や緩やかな地形を滑らかに見せつつ、構造上重要な稜線をシャープ境界として残します。すべての凹凸を滑らかにするのではなく、確認対象に応じて残す情報を決めます。
点群OBJアップロードの運用を標準化する場合は、出力設定だけでなく処理順も統一します。形状の整理、三角化、簡略化、シャープ境界の指定、法線の確認、スムージンググループの設定、OBJ出力、再読み込み確認、アップロード確認という流れを決めておくと、担当者による差を抑えられます。
同じ設定名でも、使用する出力環境によって処理内容が異なる場合があります。設定名だけを手順書へ記載するのではなく、何を維持するための設定なのかも併記しておくことが重要です。例えば「法線を有効にする」だけでなく、「編集時の頂点法線をOBJへ含め、アップロード先での再計算による表示差を減らす」と目的を明確にします。
アップロード先の仕様変更や処理方式の更新によって、以前と同じOBJでも表示結果が変わる可能性があります。そのため、新しい運用を開始するときや表示環境が変わったときは、検証用OBJで再確認します。
現場で取得した点群を短時間で共有する場合も、すべての処理を複雑にする必要はありません。重要なのは、利用目的に応じて品質の優先順位を決めることです。形状確認が中心であれば稜線と法線の安定性を優先し、広域の状況共有が中心であれば容量とのバランスを取りながら簡略化します。
まとめ
点群OBJのスムージンググループを維持するには、スムージンググループの出力項目だけを有効にするのでは不十分な場合があります。OBJを受け取る環境によって、法線やグループ情報の解釈方法が異なるためです。
まず、編集時に確定した頂点法線をOBJへ書き出し、不要な再計算を避けます。次に、スムージンググループ情報を有効にし、滑らかにつなぐ面と陰影を分ける面の境界を明確にします。さらに、シャープ境界で必要な頂点分割を維持し、座標だけを基準とした頂点統合によって境界が失われないようにします。最後に、三角化、簡略化、座標変換を出力前に確定し、面構成と法線の対応を安定させます。
出力後は、OBJを再読み込みして法線やスムージングが保持されているかを確認します。元の環境では正常でアップロード後だけ崩れる場合は、アップロード先による法線再計算、頂点統合、簡略化、自動三角化などを疑います。
大容量データで試行錯誤するのではなく、問題箇所を含む小さな検証用OBJを作成し、設定を1つずつ変更して比較する方法が効果的です。正常に表示できた出力条件を標準化すれば、担当者や案件が変わっても同じ品質を維持しやすくなります。
点群を取得してOBJへ変換し、現場や社内で活用するまでの流れでは、取得時の点密度や欠測、メッシュ生成方法、出力設定、アップロード後の変換処理が相互に関係します。点群の取得から共有までを一連の工程として管理することで、スムージングだけでなく位置や形状の確認も進めやすくなります。現場での点群取得と3次元データ活用をより身近に進める方法を検討する際は、LRTK Phoneを活用した測位や点群計測の流れも確認してみてください。