LRTKレフィクシア株式会社

点群OBJアップロード後に点・線が消れる場合の5つの面変換

点群OBJアップロード後に点や線が消える理由

点群をOBJ形式で保存し、クラウド型の3D表示環境や点群ビューアへアップロードしたところ、点や線だけが表示されないことがあります。ファイルの読み込み処理は完了しているのに画面が空になる、外形線だけが消える、測線や等高線が見えない、点群の一部しか残らないといった症状です。

この現象は、OBJファイルが破損しているために発生するとは限りません。OBJ形式では、頂点座標、点要素、線要素、面要素がそれぞれ異なる情報として記録されます。アップロード先が面要素を中心に処理する仕様になっている場合、ファイル内に点や線の座標が残っていても、描画対象として扱われないことがあります。

OBJの頂点情報は、三次元空間上の座標を定義する基本情報です。しかし、頂点座標が書かれているだけでは、その頂点を点として画面に描画するのか、線の途中として使うのか、三角形の角として使うのかは決まりません。点、線、面の要素が頂点番号を参照することで、初めて形状としての関係が定義されます。

書き出し元の環境では、頂点だけのOBJでも点群として表示できる場合があります。その環境が、頂点を自動的に点として描画しているためです。一方、アップロード先が頂点単体の描画に対応していない場合、同じOBJを読み込んでも何も見えません。頂点数が多く、ファイル容量も十分にあるのに表示されない場合は、点要素または面要素が不足している可能性があります。

線についても同じ問題があります。OBJでは複数の頂点を結ぶ線を記述できますが、すべての3D表示環境が線要素に対応しているわけではありません。線要素を読み込めても、画面上での太さが極端に細く、背景や面に埋もれて見えないこともあります。特に広い現場を扱う点群では、線の幅に相当する面積がないため、表示倍率を下げた瞬間に線が消えたように見えます。

一方、三角形や四角形で構成された面要素は、多くの3D表示環境で標準的な描画対象として扱われます。陰影の計算、視点から見える範囲の判定、裏面の除外、画面上の大きさに応じた描画など、一般的な3D表示処理が面を前提に設計されているためです。

そこで、点群OBJアップロード後に点や線が消える場合は、表示したい点や線を面として表現し直す方法が有効になります。本記事では、点や線を三角形、帯、管、小さな板などへ置き換える処理を面変換と呼びます。

ただし、点や線が見えない原因がすべて要素の種類にあるわけではありません。座標の単位が異なる、モデルが原点から遠く離れている、上下方向の軸が入れ替わっている、面の表裏が反転している、表示範囲から外れているといった場合にも、形状が消えたように見えます。面変換を行う前に、OBJの内部構造と座標条件を確認することが重要です。

面変換を始める前に確認したいOBJの構造

最初に確認したいのは、対象のOBJに何が記録されているかです。拡張子がOBJであっても、その中身が点群なのか、線の集合なのか、すでに面を持つメッシュなのかによって必要な処理は異なります。別形式からOBJへ変換したという事実だけでは、アップロード先で表示できる面が生成されているか判断できません。

OBJをテキストとして確認できる場合は、頂点、点、線、面に相当する行が存在するかを調べます。頂点座標を示す行が大量にある一方、面を示す行が存在しなければ、そのOBJは一般的な三角形メッシュではありません。点や線を示す行があっても、アップロード先がそれらを処理しない場合は表示されません。

書き出し元の情報表示機能を利用できる場合は、頂点数、線数、面数を確認します。頂点数が数十万または数百万あるのに面数がゼロであれば、頂点のみ、または点要素のみで保存された可能性が高い状態です。線数が多く、面数がゼロであれば、測線、軌跡、等高線、境界線などが線要素として保存されていると考えられます。

面数がゼロではなくても、表示したい対象に面が設定されているとは限りません。座標軸、基準枠、補助図形など、一部の要素だけが面として残り、点群本体は頂点のままという場合があります。面数の有無だけで判断せず、対象範囲全体に面が分布しているかを画面上で確認します。

次に、座標値の大きさを確認します。現場座標や測量座標をそのまま使用すると、原点から非常に離れた位置にモデルが配置されることがあります。三次元表示では、原点から遠い座標ほど計算精度が低下し、小さな点や細い線が不安定に見える場合があります。必要に応じて、元の座標を記録したうえで作業用原点へ平行移動します。

単位の確認も必要です。元データがメートル単位であるのに、アップロード先が別の単位として解釈すると、点や線が極端に小さくなったり、大きくなったりします。モデル全体が存在していても、表示倍率が適切でなければ何もないように見えます。既知の長さを持つ部分を測り、想定した大きさになっているか確認します。

上下方向の軸も確認します。書き出し元とアップロード先で高さ方向の解釈が異なる場合、地形が垂直に立ったり、視点の下側へ回り込んだりします。正面、上面、側面から確認し、意図した方向へ配置されているかを見ます。

面変換前には、元のOBJと点群データを必ず複製して保存します。面変換では、点の間に新しい三角形を作る、線に幅を持たせる、点を小さな板へ置き換えるといった処理が行われます。変換後のデータは元の計測結果と同一ではありません。変換用データと計測原本を分けて管理することで、後から条件を変更して再処理できます。

点群に色情報がある場合は、その保存方法も確認します。点ごとの色を面の頂点へ引き継ぐ方法、面全体を単色にする方法、画像情報を面へ対応させる方法では、出力されるデータ構成が異なります。まずは形状だけを面変換して表示確認を行い、正常に表示できた後で色を追加すると問題を切り分けやすくなります。

面変換1 点群を三角形メッシュに変換する

1つ目は、近接する点同士を結び、三角形の集合へ変換する方法です。地面、床、道路、法面、屋根など、対象が連続した表面として扱える場合に適しています。点群OBJアップロード後に地形の点が消える場合は、最初に検討しやすい面変換です。

三角形メッシュは、三つの頂点を一組として面を作ります。多数の点から隣接関係を推定し、対象表面を覆うように三角形を配置します。変換後のOBJには面要素が記録されるため、点要素に対応していないアップロード先でも表示しやすくなります。

ただし、単純に距離の近い点をすべて接続すると、実際には存在しない面が生成されます。溝の両側、建物の向かい合う壁、地面と低い配管、樹木の枝と背後の地面などは、三次元距離が近くても同じ表面ではありません。接続条件が緩すぎると、空間を横切る大きな三角形が作られます。

変換前には、明らかな外れ点と孤立点を整理します。周囲から大きく離れた点が残っていると、その点へ向かって細長い三角形が作られることがあります。外れ点を一律に削除すると重要な突起や端部まで失うため、周囲との距離だけでなく、対象形状と照らし合わせて判断します。

点密度の偏りも重要です。近距離で取得した範囲は点間隔が細かく、遠距離や遮蔽物の周辺では点間隔が広くなることがあります。全体へ同じ接続距離を適用すると、高密度部では細かなノイズまで面になり、低密度部では大きな穴が残る可能性があります。点密度が大きく異なる場合は、範囲を分割して別々の条件で処理します。

三角形の最大辺長は、穴の残り方と誤接続の起こりやすさを左右します。最大辺長を長くすると欠測箇所を越えて面が作られやすくなり、短くすると正常な点の間にも穴が残ります。平均点間隔だけで決めず、残したい開口部や段差の幅も考慮します。

地形のように、一つの水平位置に対して高さが一つに定まりやすい対象では、平面上で点を接続して三角形を作る方法が使いやすい場合があります。この方法では、上から見た位置関係を基準に面を作るため、地表面を連続的に表現しやすくなります。一方、張り出し、垂直壁、橋の下面など、同じ水平位置に複数の高さが存在する形状には向きません。

三角形を生成した後は、面の向きをそろえます。面には表と裏があり、頂点を並べる順番によって方向が決まります。地形であれば上向き、閉じた立体であれば外向きになるように統一します。向きが不揃いだと、アップロード後に一部だけ消えたり、陰影が斑状になったりします。

面の法線も再計算します。法線は、面がどちらを向いているかを表し、陰影や表裏判定に利用されます。点群から面を作った直後は、隣接面の向きが乱れている場合があります。面の接続関係を確認し、連続した表面として自然な方向へそろえます。

三角形メッシュは点群の形を理解しやすくする一方、点のない部分にも補間面が作られることがあります。欠測した場所と実際に平面がある場所を区別できるよう、変換条件を記録しておくことが大切です。必要に応じて、点が一定距離以内に存在しない三角形を削除し、過度な穴埋めを防ぎます。

高密度点群をそのまま三角形化すると、面数が非常に多くなります。アップロード先で表示できても、読み込み時間や操作負荷が増える可能性があります。平坦な部分は点を減らし、角、段差、縁、構造物の輪郭は点を多く残すことで、形状を維持しながら面数を抑えられます。

面変換2 点群から連続した曲面を再構成する

2つ目は、点の位置と周辺の向きから空間内の表面を推定し、連続した曲面として再構成する方法です。点と点を直接結ぶのではなく、点群が示す表面の位置を空間的に推定し、その境界を三角形メッシュとして取り出します。

この方法は、複雑な立体、曲面、凹凸の多い構造物など、単純な上面投影では表現しにくい点群に適しています。建物の外周、設備、岩塊、曲面部材など、さまざまな方向を向く表面を一つの連続形状として再現しやすいことが特徴です。

曲面再構成では、各点の周囲から表面の向きを推定します。点の近傍を調べ、局所的にどの方向へ面が広がっているかを計算します。推定した方向が不安定だと、表面が裏返ったり、内側と外側が逆になったりするため、近傍点の数と範囲を適切に設定します。

点群の密度が低い場所では、近傍範囲を広くしないと安定した方向を得られません。しかし、近傍範囲を広げすぎると、小さな段差や角が平均化されます。細部を残すことを優先するのか、滑らかな連続面を優先するのかを決めて調整します。

曲面の解像度も結果へ大きく影響します。空間を細かく評価すれば、小さな凹凸や薄い部材を残しやすくなりますが、頂点数と面数が増えます。粗く評価するとファイルを軽くできますが、角が丸くなり、細い部材が消える可能性があります。

この方法では、点がない場所にも連続面が推定されることがあります。小さな欠測箇所が自然にふさがる点は利点ですが、本来空いている開口部まで閉じられる可能性があります。窓、配管のすき間、貫通部、構造物の内部など、穴を維持したい部分では注意が必要です。

近接する別部材が一体化することもあります。地面のすぐ上にある配管、薄いすき間で分かれた二枚の板、接近した壁面などは、推定範囲が広いと一つの表面として接続されます。部材ごとに点群を分割できる場合は、別々に曲面を作り、最後に位置を保ったまま統合する方が安全です。

曲面再構成後は、元の点群と生成面の距離を確認します。生成された面が多くの点から離れている場合、平滑化や推定範囲が強すぎる可能性があります。点群を面に重ね、表面が外側へ膨らんでいないか、内側へ縮んでいないかを確認します。

生成面の端部も確認します。点が途切れている場所では、表面が不自然に折れたり、薄い膜のように閉じたりすることがあります。対象範囲の境界をあらかじめ切りそろえ、不要な端部面を生成後に削除すると形状を整理しやすくなります。

曲面再構成は、点群を視覚的に理解しやすい滑らかなモデルへ変換できる一方、実測点のない部分を推定する処理を含みます。出来形の確認や寸法判断に使用する場合は、生成面だけを根拠にせず、元点群との対応を確認することが重要です。

面変換3 線をリボン状の面に変換する

3つ目は、線に一定の幅を持たせ、帯状の面へ変換する方法です。測線、軌跡、等高線、区画線、境界線、中心線、施工範囲線などをアップロード後も見える状態にしたい場合に適しています。

線要素が読み込まれない環境でも、細長い三角形または四角形の集合へ変換すれば、通常の面として表示できます。線を構成する各頂点から左右へ一定距離だけずらした頂点を作り、前後の頂点を接続して帯を形成します。

最初に決めるのは、リボンの幅です。幅が小さすぎると、アップロード後に遠くから見た際に消えたように見えます。幅が大きすぎると、元の線位置が分かりにくくなり、隣接する線と重なる可能性があります。

リボンの幅は、画面上の線幅ではなく、三次元空間内の実寸として作成されます。そのため、同じ幅でも対象範囲の大きさや閲覧距離によって見え方が変わります。広い現場全体を表示する用途では、近距離確認だけを想定した細い幅では不足することがあります。

等高線のように線間隔そのものが情報になる場合は、リボンを太くしすぎないことが重要です。急斜面では等高線間隔が狭いため、帯が重なると複数の線が一枚の面のように見えます。最小線間隔を確認し、それより十分小さい幅を設定します。

次に、リボンをどの方向へ広げるかを決めます。地表面上の線を上から確認する場合は、水平面内で線の左右へ広げる方法が分かりやすいでしょう。立体物の表面に沿った線では、周囲の面の向きを使い、表面から大きく離れない方向へ広げます。

線が曲がる部分では、帯の内側と外側の長さが異なります。各線分を単純な四角形へ変換するだけでは、折れ点にすき間ができたり、面同士が重なったりします。曲がり角の外側を交差させて接続する方法や、角を複数の短い面で丸める方法を使います。

鋭い角では、外側の面が大きく突き出ることがあります。元の線形状よりも長い突起ができると、境界位置を誤解する原因になります。一定角度より鋭い折れ点では、突出部を制限し、角を斜めに切る処理が有効です。

線が閉じた輪になっている場合は、始点と終点を正しく接続します。座標がわずかにずれていると、閉じているように見えてもリボン面に切れ目が残ります。許容範囲内の始点と終点を統合し、面の向きも連続するように調整します。

リボン面は平たい形状なので、横から見ると非常に細くなります。主な閲覧方向が上方または正面に決まっている用途に向いています。どの方向から見ても線を確認したい場合は、チューブ状の面変換を選びます。

線を既存の地形面と同じ高さへ配置すると、面同士が重なってちらつくことがあります。表示用のリボンは、元の表面からわずかに上へずらして配置すると見やすくなります。ただし、ずらした量が大きいと実際の位置と異なって見えるため、表示上必要な最小限に抑えます。

面変換4 線をチューブ状の面に変換する

4つ目は、線の経路に沿って円形または多角形の断面を連続させ、管状の面へ変換する方法です。三次元的な測線、配管経路、ケーブル、中心軸、移動軌跡などを、複数方向から確認したい場合に適しています。

チューブ状の面は、線上の各頂点へ断面を配置し、隣り合う断面の頂点同士を三角形または四角形で結んで作ります。平たいリボンと異なり、上下左右のどこから見ても一定の太さを持つため、線の視認性を高めやすい方法です。

最初に決めるのはチューブの半径です。実際の配管や部材を表現する場合は、その外形寸法に合わせます。一方、測線や中心線を見やすくするための表示用形状では、実際より太くすることがあります。その場合は、表示用の強調形状であり、実物寸法ではないことを管理情報として残します。

断面を何角形で表現するかも重要です。頂点数を増やすと円に近い滑らかな見た目になりますが、線上の点数と掛け合わされるため、面数が急増します。遠距離から経路を確認する用途では、少ない頂点の多角形でも十分な場合があります。

長い線に多数の頂点が含まれている場合は、チューブ化する前に線を整理します。ほぼ一直線上に細かな頂点が並んでいる場合、それらをすべて残しても見た目はほとんど変わりません。曲率の小さい部分の頂点を減らし、曲がりや高さ変化の大きい部分を残すと効率的です。

チューブの曲がり部分では、断面の向きを連続的に変化させます。計算方法が不安定だと、途中で断面が反転し、面がねじれます。特に、ほぼ直線の区間から急に方向を変える場所や、水平から鉛直へ曲がる場所では注意が必要です。

急角度の折れ点では、内側の面が重なり、外側の面が引き伸ばされます。必要に応じて折れ点の前後へ中間点を追加し、方向の変化を複数の区間へ分散させます。ただし、中間点を増やしすぎると面数が増えるため、見た目が破綻しない最小限の分割にします。

線の端部を閉じるかどうかも選択できます。端部を閉じると完全な立体として見えますが、その分だけ面が増えます。経路を表示することが目的で、断面方向から内部が見えても問題がなければ、端部を開いたままにする方法もあります。

複数の線が交差する場合は、チューブ同士が食い込むことがあります。実際に接続する配管であれば、交差部分の形状を統合する必要があります。単なる測線の交差であれば、別々の面として残し、色や高さを変えて区別する方が扱いやすい場合があります。

チューブ面は視認性に優れますが、面数が増えやすいことが欠点です。線の本数が多い場合は、重要な線だけをチューブ化し、補助線はリボン面にするなど、用途に応じて組み合わせます。全線を同じ断面分割数で処理せず、近距離で確認する線だけを滑らかにする方法も有効です。

面変換5 点を小さな面パッチに変換する

5つ目は、点群の各点を小さな三角形、四角形、円盤状の多角形などへ置き換える方法です。点同士を接続して連続面にしたくない場合や、点群らしい粒状の見え方を残したい場合に適しています。

点を面パッチに変換する場合は、一つの点を中心にして小さな面を配置します。四角形を使う場合は、二枚の三角形へ分割しておくと、多くの表示環境で扱いやすくなります。円に近い見た目が必要な場合は多角形にできますが、一点当たりの面数が増えます。

面パッチの大きさは、点間隔と閲覧距離を基準に決めます。点間隔より小さすぎると、点と点の間が大きく空き、遠くから見たときに点群が薄く見えます。点間隔より大きすぎると、面同士が重なり、濃淡のむらやちらつきが発生します。

点密度が均一でない場合は、すべての点へ同じ大きさを適用すると不自然になります。高密度部では小さな面、低密度部ではやや大きな面を使用するなど、近傍点との距離に応じて大きさを調整すると見え方をそろえやすくなります。

面の向きも重要です。点群に表面方向の情報がある場合は、その方向に対して垂直になるように面を配置します。地形点群であれば、すべての面を上向きにする方法もあります。壁面や設備を含む点群では、点ごとの表面方向を使った方が元の形状を表現しやすくなります。

静的なOBJでは、すべての面パッチを常に閲覧者の方へ向け続ける表現を保証できません。そのため、特定方向からの閲覧を前提に面をそろえるか、複数方向から見える小さな立体へ置き換える必要があります。

小さな立体へ変換すると視認性は高まりますが、一点当たりの面数がさらに増えます。点群が数百万点ある場合、すべてを面パッチへ変換すると非常に大きなOBJになります。点数をそのまま残すのではなく、用途に必要な密度まで間引くことが前提です。

点を間引く際は、全体から一定割合を無作為に削除するだけではなく、形状変化を考慮します。平坦で変化の少ない範囲は大きく減らし、角、段差、端部、設備の輪郭、測定対象の周辺は多く残します。こうすることで、面数を抑えながら重要な形状を維持できます。

面パッチは独立した点の位置を視覚的に残せるため、特徴点、検査点、測定点、異常箇所などの表示にも使えます。ただし、変換後の点は小さな面積を持つため、元の点座標と面の端部を混同しないようにします。寸法や位置を確認するときは、面パッチの中心を元点として扱います。

色付き点群では、各点の色を対応する面パッチへ設定できます。ただし、面の頂点ごとに色を持たせた場合と、面全体へ一色を設定した場合では見え方が異なります。最初は単純な色で形状を確認し、その後に元の点色を引き継ぐと問題を切り分けやすくなります。

用途に合った面変換を選ぶ基準

面変換を選ぶ際は、単にアップロード後に見えるかどうかだけでなく、何を確認するためのデータかを考えます。対象の形状、必要な精度、閲覧方向、ファイル容量、操作性によって適した方法が変わります。

地形、床、道路、屋根、法面など、連続した表面を確認したい場合は、三角形メッシュへの変換が基本です。表面の高さや傾斜を把握しやすく、陰影によって凹凸も確認できます。ただし、点がない部分をつなぎすぎないよう、最大辺長と穴埋め条件を管理します。

複雑な立体物や曲面を一体的な形状として見せたい場合は、連続曲面の再構成が候補になります。さまざまな方向の表面に対応しやすい一方、開口部が閉じたり、近接部材が結合したりする可能性があります。元点群との距離差を確認できる作業環境がある場合に適しています。

等高線、境界線、区画線、施工範囲などを上方から確認する場合は、リボン状の面が有効です。比較的少ない面数で線を見やすくできます。ただし、横から見る用途には向かず、幅を広くしすぎると位置精度を誤解しやすくなります。

三次元的な経路を複数方向から確認する場合は、チューブ状の面が適しています。配管経路、移動軌跡、中心軸などを立体的に把握できます。視認性は高いものの、断面分割数と線頂点数に比例して面数が増えます。

点群の粒状感や独立した測定点を残したい場合は、面パッチへの変換が適しています。連続面を生成しないため、点のない部分を勝手に埋めることがありません。一方、全点を変換するとデータ量が大きくなるため、間引きや範囲分割が必要です。

一つのOBJ内ですべての要素を同じ方法に変換する必要はありません。地形は三角形メッシュ、境界線はリボン面、重要な測定点は面パッチというように、用途ごとに変換方法を分けられます。

複数の面変換を組み合わせる場合は、同じ位置へ面が重ならないようにします。地形面の上へリボン面を置く場合は、表示に必要な範囲でわずかに高さをずらします。面パッチを既存面に重ねる場合も、ちらつきが起きない位置へ調整します。

測定結果としての正確さを重視する場合は、変換後の面だけを原本として扱わないことが大切です。三角形メッシュには補間、リボンやチューブには幅、面パッチには面積が追加されています。元点群と元線を保存し、表示用OBJと計測用データを分けて管理します。

面変換後に点や線が再び消える原因

面変換を行った後でも、一部の形状が表示されないことがあります。その場合は、面が生成されていないのか、生成された面が描画条件によって見えないのかを切り分けます。

最初に確認するのは面数です。処理を実行したつもりでも、対象の選択漏れ、条件の不一致、出力設定の誤りによって面数がゼロのままということがあります。変換前後の頂点数、線数、面数を記録し、面が実際に追加されたか確認します。

次に、面の頂点が正しく参照されているかを確認します。存在しない頂点番号を参照している面や、同じ頂点を複数回参照している面は、読み込み時に除外される場合があります。書き出し後に頂点数と面の参照範囲を確認します。

面積がほぼゼロの三角形も表示されない原因になります。三つの頂点が一直線上に並んでいる場合や、複数の頂点が同じ位置にある場合、面としての面積がありません。重複頂点と極端に短い辺を整理し、つぶれた面を削除します。

面の表裏が反転している場合もあります。アップロード先が表側だけを描画する設定では、裏を向いた面は見えません。リボン面や面パッチは薄い一枚の面であるため、裏側から見ると消えやすい形状です。主な閲覧方向へ表を向けるか、必要に応じて表裏の両面を持つ形状にします。

法線の異常によって陰影が極端に暗くなり、消えたように見える場合もあります。面の向きと法線を再計算し、隣接面の方向が急に反転していないか確認します。

同じ位置に複数の面が重なると、表示時にちらつきが発生します。視点や倍率によって片方の面が消えたように見えることもあります。元の面と変換後の面が重複していないか、同じ変換を二重に実行していないかを確認します。

モデルが極端に大きい、または原点から遠い場合は、小さな面の表示精度が低下します。点を小面へ変換しても、座標値に対して面サイズが小さすぎると、頂点位置の差が安定して表現されないことがあります。作業用原点へ移動し、モデル全体の大きさと面サイズの比率を見直します。

アップロード先が極端に小さい面を自動的に省略する場合もあります。表示負荷を抑えるため、画面上でほとんど見えない面を描画しない処理が行われることがあります。小面パッチや細いリボン面が遠距離で消える場合は、面サイズを調整するか、閲覧用に別の解像度を用意します。

ファイルが大きすぎると、読み込み途中で一部の要素が処理されないように見えることもあります。面数を減らした試験用OBJを作り、同じ場所が正常に表示されるか確認すると、容量や処理負荷の問題を切り分けられます。

ファイル容量を抑えながら形状を残す方法

点や線を面へ変換すると、元のデータより頂点数と面数が増えることがあります。特に、全点を面パッチへ変換する方法や、多数の線を細かな断面でチューブ化する方法では、ファイル容量が急増します。

最初に、アップロード後に何を確認する必要があるかを明確にします。広い現場の全体形状を見るだけであれば、元の点密度をすべて残す必要はありません。段差や構造物の輪郭を確認する場合は、重要部分の密度を維持し、平坦部を減らします。

三角形メッシュでは、形状変化の小さい面を統合して面数を減らします。平坦な部分では大きな三角形でも形状差が小さいため、削減しやすくなります。角や段差の周辺では面を残し、輪郭が丸くならないようにします。

曲面再構成では、最初から必要以上に細かい解像度で面を作らないことが重要です。生成後に大幅削減すると、細い部材や開口部が崩れる可能性があります。最終的な閲覧距離と必要寸法に合わせて再構成の解像度を決めます。

リボン面では、曲線を表現する頂点数を整理します。直線部分に多数の頂点が並んでいても、リボンの形状はほとんど変わりません。曲がり角と高さ変化を残しながら、不要な中間点を減らします。

チューブ面では、断面の分割数を抑えることが効果的です。遠くから経路を見る用途では、滑らかな円形でなくても線として認識できます。近距離で確認する重要区間だけ断面を細かくし、その他を簡略化する方法もあります。

面パッチでは、点の間引きが最も重要です。点群全体を一律に減らすのではなく、重要部分を優先して残します。対象範囲を複数の区画へ分割し、必要な区画だけアップロードする方法も有効です。

形状の分割は、ファイル容量だけでなく操作性の改善にも役立ちます。階層、工区、構造物、撮影範囲、作業日などで分割すると、必要な部分だけ表示できます。分割後も位置関係を維持できるよう、座標変換条件を統一します。

色や材質の数もデータ処理へ影響します。多数の材質へ細かく分けると、形状が同じでも管理情報が増えます。形状確認が目的であれば、まず単純な材質へまとめ、必要な区分だけ色分けします。

軽量化後は、元点群との形状差を確認します。容量を小さくできても、段差、縁、開口部、細い部材が失われては目的を満たせません。削減前後を重ね、重要箇所の位置と高さが変わっていないかを確認します。

点群OBJアップロード前後の確認手順

実務では、最初から全データを面変換してアップロードするのではなく、代表的な小範囲で試験します。平坦部、段差、欠測部、線、孤立点などを含む範囲を切り出すと、変換条件の良否を判断しやすくなります。

試験前に、元データの頂点数、点数、線数、面数、座標範囲、単位を記録します。変換後にも同じ項目を記録し、どの要素が増減したかを確認します。面変換によって面数が増えていること、対象外の点や線が誤って削除されていないことを確認します。

次に、変換後のOBJを、書き出し元とは別の確認環境で開きます。書き出し元だけで確認すると、その環境が点や線を独自に補って表示している可能性があります。別の環境でも面として見えることを確認すると、アップロード先での再現性を高められます。

試験アップロードでは、最初に単純な材質を使用します。色、透明度、画像、複数材質などを同時に設定すると、形状の問題と見た目の問題を区別しにくくなります。形状が正常に表示された後で、必要な色や材質を追加します。

アップロード後は、全体表示だけでなく、近距離と遠距離の両方で確認します。リボン面や面パッチは、近くでは見えても遠くでは消えることがあります。実際の利用場面に近い倍率で視認できるか確認します。

上面、正面、側面、斜め方向からも確認します。特定方向からだけ見えない場合は、面の表裏や向きに問題がある可能性があります。リボン面や面パッチでは特に重要な確認です。

形状の穴、異常な膨らみ、長い三角形、ねじれ、重複面も確認します。点群と生成面を重ねて表示し、点が存在しない場所へ大きな面が作られていないかを見ます。

操作性も評価します。表示できても、回転や拡大に時間がかかる場合は、面数や材質数が多すぎる可能性があります。試験範囲の面数と動作状況から、全体へ適用した場合の負荷を見積もります。

問題がなければ、使用した条件を保存します。最大辺長、近傍範囲、曲面解像度、リボン幅、チューブ半径、断面分割数、面パッチの大きさ、間引き条件、座標移動量などを記録します。

本番変換後も、すぐに元データを削除してはいけません。元点群、元線、変換途中のデータ、軽量化後のOBJ、アップロード用OBJを分けて管理します。表示用OBJは共有しやすい一方、計測原本と同じ情報を保持しているとは限りません。

アップロード後に形状が更新されない場合は、面変換以外の問題も確認します。同名ファイルの再利用、表示データの更新待ち、古い表示情報の残存などにより、変換前の状態が見えている可能性があります。ファイル名を変更した試験データをアップロードし、更新前後を区別します。

まとめ

点群OBJアップロード後に点や線が消れる主な理由は、OBJ内の頂点、点、線、面が別々の要素として扱われ、アップロード先が点要素や線要素を表示対象にしていないことです。頂点座標がファイル内に残っていても、それだけで画面上に点として描画されるとは限りません。

地形や床面のような連続表面には、点群を三角形メッシュへ変換する方法が適しています。複雑な立体や曲面には、点の位置と向きから連続曲面を再構成する方法が候補になります。測線や境界線を上方から見せる場合はリボン面、複数方向から立体的に見せる場合はチューブ面、点群らしい粒状感を残す場合は小さな面パッチが有効です。

面変換では、点の間に面を補間したり、線に幅を持たせたり、点へ面積を与えたりします。そのため、変換後のOBJは元の点群や線と同一ではありません。元データを保存し、表示用データと計測用データを分けることが重要です。

変換前には、OBJの頂点数、線数、面数、座標、単位、軸方向を確認します。変換後には、面数、表裏、法線、重複面、面積のない三角形、異常な長辺、ファイル容量を確認します。小範囲で試験してから全体へ適用することで、形状の崩れと処理負荷を抑えられます。

点や線を確実に表示するには、アップロード先が扱える要素へ変換することと、表示目的に合った面の大きさや密度を選ぶことの両方が必要です。点群取得の段階で欠測、密度差、外れ点を減らしておけば、後工程の面変換も安定しやすくなります。

現場で取得した点群を確認し、必要な範囲を整理して共有する一連の作業を効率化したい場合は、LRTK Phoneを活用した点群計測とデータ管理の方法もあわせて検討できます。

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

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