LRTKレフィクシア株式会社

点群OBJのLODを設定して表示負荷を抑える6つの最適化策

点群OBJでLOD設定が必要になる理由

点群から生成したOBJをアップロードした後、モデルの表示に時間がかかる、視点を動かすと画面が止まる、拡大や回転の操作に表示が追いつかないといった問題が起こることがあります。特に、広い現場を高密度で計測した点群からメッシュを生成すると、OBJに含まれる頂点数や面数が増え、表示端末へ大きな負荷がかかります。

点群は多数の三次元座標によって対象物の表面を記録するデータです。その点群をメッシュ化してOBJとして書き出す場合は、点群を基に面が生成されるため、元の点数だけでなく面の数も処理負荷に影響します。さらに、法線、テクスチャ座標、材質情報、画像ファイルなどが追加されると、読み込み時に必要な通信量とメモリ使用量が増加します。

高密度なOBJを一度に表示しようとすると、端末はファイルを取得し、OBJ内の文字情報を解析し、頂点や面を描画用のデータへ変換しなければなりません。その後も視点を動かすたびに、多数の頂点を画面上の位置へ変換し、どの面を描画するか判断します。OBJを読み込めたとしても、操作中の計算量が大きければ、滑らかな表示は難しくなります。

この負荷を抑えるために使われる考え方がLODです。LODは、視点からの距離や画面上での見え方に応じて、モデルの詳細度を切り替える仕組みです。対象から離れているときは頂点数や面数を減らした軽量なモデルを表示し、近づいたときだけ詳細なモデルを読み込みます。

遠方に表示される構造物や地形は、画面上では小さく見えます。その状態で数センチメートル単位の凹凸をすべて描画しても、利用者が違いを認識できない場合があります。LODを設定すれば、目に見えない細部へ処理能力を使わず、必要な場所にだけ詳細なデータを割り当てられます。

ただし、一般的なOBJ形式には、LOD階層や自動切り替えを定義する共通仕様がありません。実務では、詳細度の異なるOBJを複数作成し、表示側で切り替える方法や、アップロード後の変換処理によって階層化する方法が使われます。そのため、点群OBJを軽量化する作業だけでなく、どの条件でどのデータを表示するかまで設計することが重要です。

LODは、低性能な端末だけを対象とした設定ではありません。高性能な端末でも、広範囲の現場、複数時期の計測結果、構造物モデルなどを重ねて表示すると、処理量は増加します。また、点群OBJをクラウド上で共有する場合は、閲覧者の端末性能や通信環境を統一できません。さまざまな利用環境で安定して閲覧できるようにするためにも、LODを前提としたデータ構成が必要です。

点群OBJの表示負荷を構成する主な要素

LODを作成する前に、点群OBJのどの要素が表示負荷を増やしているのかを確認します。原因を把握せずに面数だけを減らすと、形状が大きく劣化したにもかかわらず、表示速度が十分に改善しないことがあります。

最初に確認したいのは頂点数です。OBJには、三次元座標を示す頂点のほか、法線やテクスチャ座標が記録される場合があります。座標上では同じ位置にある頂点でも、法線やテクスチャの割り当てが異なると、表示処理では別の頂点として展開されることがあります。このため、OBJ内に記載された座標数だけでは実際の描画負荷を判断できない場合があります。

次に確認するのが面数です。点群から細かな三角形を大量に生成したOBJでは、平坦な場所にも多数の面が存在します。遠方から見たときには一枚の平面に見える場所でも、細かく分割された面をすべて処理する必要があるため、操作時の負荷が高くなります。

オブジェクトの分割数も負荷に関係します。一つのOBJ内に細かなオブジェクトが大量に含まれていると、表示側がオブジェクトごとに描画処理を繰り返す場合があります。頂点数や面数が少なくても、オブジェクトや材質の切り替え回数が多ければ、表示が重くなる可能性があります。

テクスチャ画像も重要な要素です。一般的なPNGやJPEGなどの画像は、保存時に圧縮されていても、表示時には展開またはGPU向けの形式へ変換され、保存容量より大きなメモリを使うことがあります。一方、表示環境がGPU向け圧縮テクスチャに対応している場合は、圧縮状態に近い形でメモリ使用量を抑えられることもあります。そのため、ファイル容量だけでなく、画像の縦横寸法、枚数、透明情報の有無、表示側が対応する画像形式を確認しなければなりません。高解像度画像を多数使用している場合、OBJ本体よりも画像の読み込みや保持が負荷の中心になることがあります。

通信量と解析時間は分けて考える必要があります。初回表示が遅い場合、OBJの取得に時間がかかっているのか、取得後の解析に時間がかかっているのかによって対策が異なります。通信が原因であれば、ファイル分割や段階的な読み込みが有効です。解析が原因であれば、OBJの頂点数や面数、材質構成、記述量を見直す必要があります。

操作中だけ表示が重くなる場合は、同時表示されている面数やLODの更新頻度を確認します。読み込みが完了していても、画面外の区画、地中に隠れている面、遠方の詳細モデルまで常に処理していれば、視点移動時の負荷は高くなります。

負荷の確認では、社内の高性能端末だけで判断しないことも大切です。現場で使用する携帯端末や、取引先が使用する一般的な端末では、処理能力や利用可能なメモリが異なります。点群OBJをアップロードして共有する場合は、想定する利用環境の下限を決め、その環境でも全体表示と基本操作ができることを確認します。

最適化策1 距離に応じた複数段階のLODを作成する

点群OBJのLOD設定で最初に取り組みたいのは、詳細度の異なるモデルを複数段階で用意することです。一つの高密度OBJをすべての距離で使うのではなく、全体表示用、中距離表示用、近距離確認用などに分けます。

全体表示用のLODでは、現場の範囲、主要な高低差、大きな構造物の位置関係が分かることを優先します。遠方から識別できない細かな凹凸、小さな設備、表面の微細な変化は大幅に省略できます。軽量な全体モデルがあれば、点群OBJをアップロードした後の初回表示を早めやすくなります。

中距離用のLODでは、道路の端部、法面の形状、構造物の外形、主要な段差などを残します。現場全体を見渡しながら、対象区画の施工状況や位置関係を確認できる程度の詳細度が目安です。

近距離用のLODでは、施工確認や詳細な形状確認に必要な部分を残します。ただし、元のOBJを無条件に最高詳細度として使用するのではなく、計測ノイズや不要な面を整理したうえで使用します。高密度であることと、実務に必要な情報が多いことは同じではありません。

LODの段階を増やしすぎると、管理するOBJの数が増え、切り替え処理も複雑になります。現場全体の俯瞰と、特定箇所の拡大確認が主な用途であれば、少数の段階で十分な場合があります。一方、上空から地表付近まで連続的に視点を移動する用途では、中間の詳細度を追加したほうが見た目の変化を抑えやすくなります。

各LODの簡略化率は、同じ数値へ固定しないことが重要です。広く平坦な舗装や法面は、面数を大きく減らしても形状を維持しやすい傾向があります。反対に、階段状の構造物、設備が集中する場所、薄い部材、複雑な角部は、同じ割合で削減すると形状が崩れやすくなります。

評価するときは、削減後の面数だけでなく、元モデルとの位置差や高さ差を確認します。全体表示用であれば多少の表面差を許容できても、構造物の外形や地形の稜線が大きく変わると、視点を近づけたときにモデルが動いたように見えます。

すべてのLODで座標系、原点、単位、向きを統一することも欠かせません。簡略化処理の途中でモデルの中心が原点へ移動されたり、単位が変更されたりすると、LODの切り替え時に位置や縮尺が変わります。代表となる基準点を複数用意し、各LODで同じ座標になっているかを照合します。

ファイル名には、現場名、区画名、LODの段階、更新番号などを含めます。例えば、全体用、標準用、詳細用の区別が担当者に伝わる名称にします。OBJ単体ではファイル同士の親子関係を判断できないため、命名規則と管理情報を組み合わせて運用する必要があります。

詳細確認が必要な場所が限定されている場合は、現場全体に最高詳細LODを用意する必要はありません。出来形確認箇所、施工対象、変状記録箇所などに限定して高密度モデルを作成し、それ以外は中程度の詳細度までに抑えると、全体のデータ量を効率的に削減できます。

最適化策2 点群OBJを空間単位で分割する

広範囲の点群OBJでは、詳細度を下げるだけでなく、モデルを空間単位で分割する方法が有効です。現場全体を一つのOBJにすると、利用者が一部分しか見ていない場合でも、ファイル全体を取得して解析しなければなりません。

空間分割を行えば、現在の視点に必要な区画だけを読み込めます。例えば、造成現場を平面上の格子で分け、視点に近い区画だけ詳細モデルを表示します。遠方の区画には軽量モデルを使い、画面外へ移動した区画は必要に応じて解放します。

道路、河川、トンネルなど、延長方向に長い現場では、一定の距離ごとに区切る方法が管理しやすい場合があります。建築現場では、平面区画に加えて、階層や工区ごとに分ける方法も考えられます。現場の形状と日常的な閲覧単位を合わせることがポイントです。

一つの区画が大きすぎると、部分読み込みにしても負荷を十分に減らせません。反対に、小さく分割しすぎると、ファイル数と通信要求が増え、管理も複雑になります。適切な区画寸法は、現場面積、点群密度、想定する視点の高さ、通信環境、端末性能によって変わります。

最初から現場全体を分割するのではなく、代表範囲で複数の区画寸法を試すと判断しやすくなります。一つの区画を読み込む時間、読み込み後の頂点数と面数、隣接区画を同時表示したときの操作性を確認し、無理なく扱える単位を決めます。

空間分割とLODは組み合わせて使用します。上位の階層には、広い範囲を表す軽量モデルを配置します。利用者が特定の場所へ近づいたときは、該当する上位モデルを複数の詳細区画へ置き換えます。この構成にすると、最初からすべての詳細OBJを取得する必要がありません。

区画境界の処理には注意が必要です。隣接する区画を別々に簡略化すると、境界にある頂点の位置が異なり、線状の隙間や段差が生じることがあります。特に地形モデルでは、小さなずれでも視点の角度によって目立ちます。

境界の不一致を防ぐには、境界上の頂点を固定したまま簡略化する方法があります。また、隣接する区画を一時的にまとめて処理し、処理後に共通の境界で分割する方法も考えられます。どの方法を選ぶ場合でも、境界部分を拡大し、高さと平面位置の連続性を確認します。

区画同士に重複範囲を設ける方法もありますが、同じ位置へ面を二重に表示すると表面がちらつく可能性があります。重複を使用する場合は、どちらの区画を優先表示するか、境界付近をどの条件で切り替えるかを決めます。

各区画には、位置、範囲、LODの段階、上位区画と下位区画の関係を示す管理情報が必要です。ファイル名だけで関係を判断すると、区画の追加や更新時に取り違えが起こりやすくなります。アップロード後の表示側が、管理情報から必要なOBJを選択できる構成にします。

分割した点群OBJをアップロードした後は、全区画が正しく登録されたかを確認します。一部の区画が不足している場合、全体表示では軽量モデルによって気づかず、近づいたときだけ地形が消えることがあります。登録済み区画と予定した分割範囲を照合し、意図しない空白がないことを確認します。

最適化策3 重要形状を残して頂点数と面数を削減する

LOD用の点群OBJを作成するときは、頂点数と面数を機械的に減らすのではなく、現場で必要な形状を選んで残します。表示が軽くなっても、施工確認に必要な境界や段差が消えてしまえば、実務データとしての価値が下がります。

点群から生成したメッシュには、計測対象の形状だけでなく、表面の細かな凹凸や計測ノイズが含まれることがあります。平坦な地面に細かな三角形が大量に作られている場合、周囲とほぼ同じ平面上にある頂点を統合すると、見た目を大きく変えずに面数を削減できます。

一方で、法肩、法尻、舗装端部、縁石、構造物の角、開口部、階段状の部分などは優先的に残す必要があります。これらの形状は、頂点数としては全体の一部でも、現場の位置関係や施工状態を判断するうえで重要です。

簡略化条件を決める前に、LODごとの利用目的を明確にします。全体俯瞰用では、主要な高さ関係と構造物の外形が確認できればよい場合があります。施工説明用では、工区境界や主要な設備を識別できる必要があります。詳細確認用では、段差や角部などをより正確に残します。

面数を削減する際は、元モデルとの最大距離だけでなく、鉛直方向の差にも注意します。地形の確認では、平面位置のわずかな違いよりも、高さの違いが重要になることがあります。排水方向に関係する緩やかな勾配や小段が消えると、全体の見た目が似ていても判断を誤る可能性があります。

元のOBJに不良な面が含まれている場合は、LODを作成する前に整理します。孤立した小さな面、極端に細長い面、重複面、内側へ入り込んだ面、不要な裏面などを残したまま簡略化すると、穴や交差が拡大することがあります。

重複頂点も確認します。同じ位置へ複数の頂点が存在すると、ファイル容量が増えるだけでなく、簡略化や法線計算の結果が不安定になる場合があります。ただし、材質境界や鋭い角を表現するために意図的に分かれている頂点もあるため、位置が同じという理由だけですべてを統合してはいけません。

簡略化後は、元のOBJとLOD用OBJを同じ位置へ重ねて確認します。全体の輪郭、地形の稜線、構造物の角、境界線などに大きなずれがないかを見ます。重要箇所では断面を比較し、高さや傾斜がどの程度変化したかを確認します。

LOD用の軽量モデルを、計測の根拠として使用しない運用も重要です。面を削減したモデルでは、元の表面形状が省略されています。軽量LODから距離、断面、面積、体積などを算出すると、元データとは異なる結果になる可能性があります。

計測機能の実装を確認し、表示中のLODを計測対象にする方式では、対象区画を所定の詳細LODへ切り替えるか、元点群や計測用データを別に使用します。表示とは別の元データを計測する方式であれば、画面上のLODと計測対象が一致するとは限らないため、利用者へ対象データを明示します。画面に表示されているモデルが閲覧用なのか、計測可能な詳細データなのかを利用者が判断できる状態にしておくことが大切です。

境界線や重要な構造物だけを別のオブジェクトとして残す方法もあります。地形面を大きく簡略化しながら、管理上必要な線や角を維持できます。ただし、細かなオブジェクトを増やしすぎると描画処理の回数が増えるため、必要な要素をまとめて管理します。

最適化策4 画面上の誤差を基準にLODを切り替える

LODの切り替えを視点からの距離だけで決めると、対象物の大きさや画面条件によって不自然な結果になることがあります。大きな構造物は遠距離でも画面上に大きく表示されますが、小さな設備は近距離でも小さくしか見えません。

そこで、視点からの距離だけでなく、簡略化による誤差が画面上でどの程度見えるかを基準にします。遠方にあるモデルで数センチメートルの形状差があっても、画面上では一つの画素より小さく、利用者が識別できない場合があります。そのような状態では、軽量なLODを使用しても見た目への影響は限定的です。

反対に、細い部材、地形の輪郭、構造物の端部などは、わずかな誤差でも欠けや変形として見える場合があります。画面上での大きさだけでなく、形状の重要度も組み合わせて判断します。

切り替え位置を一つの境界で設定すると、視点がその境界付近を前後した際に、詳細モデルと軽量モデルが何度も入れ替わることがあります。この状態では、形状がちらついて見えるだけでなく、読み込みや解放が繰り返されて処理負荷も増えます。

対策として、詳細化する条件と簡略化する条件に差を設けます。視点が十分に近づいたときに詳細LODへ切り替え、一度詳細化した後は、少し遠ざかっただけでは元へ戻さないようにします。切り替え境界に幅を持たせることで、頻繁な入れ替わりを防げます。

LOD間の形状差が大きい場合は、切り替えた瞬間に地形が膨らんだり縮んだりしたように見えることがあります。特に、稜線や構造物の角が段階ごとに異なると変化が目立ちます。この場合は、中間LODを追加するか、すべてのLODで重要形状を共有します。

詳細OBJの読み込みが完了する前に軽量OBJを非表示にすると、対象が一時的に消えることがあります。切り替え時には、新しいLODの準備が完了するまで現在のLODを残し、表示できる状態になってから入れ替える必要があります。

通信環境が安定しない現場では、詳細LODの取得に時間がかかる場合があります。その間も軽量モデルを表示しておけば、利用者は現場全体の位置関係を確認できます。詳細モデルを待っている間に画面が空白になる構成は避けます。

利用目的によって切り替え条件を変えることも有効です。全体確認中は表示速度を優先し、軽量なLODを広く表示します。特定箇所を選択した場合や計測操作を開始した場合は、対象区画だけを詳細LODへ固定する方法が考えられます。

視点を大きく移動している最中は、詳細化を一時的に抑える方法もあります。利用者が連続して移動している間に、通過するすべての区画を詳細化しても、読み込みが完了する前に画面外へ移動する可能性があります。視点が一定時間停止してから、画面中央に近い区画を順番に詳細化すると効率的です。

最適化策5 テクスチャと材質情報を段階別に軽量化する

点群OBJのLODを設定するときは、形状だけでなくテクスチャと材質情報も段階別に最適化します。面数を大幅に減らしても、高解像度の画像をすべてのLODで読み込めば、通信量やメモリ使用量が十分に減らない場合があります。

遠距離用LODでは、細かな表面模様を画面上で識別できません。そのため、近距離用よりも低い解像度のテクスチャを使用できます。中距離用には中程度の画像を割り当て、近距離用だけ詳細な画像を読み込む構成にすると、初回表示を軽くできます。

画像の縮小率は、ファイル容量だけを見て決めないことが重要です。画像上に記録された道路標示、構造物の区別、施工範囲の色分けなどが、各LODの用途に必要かを確認します。遠距離用で不要な細部は省略できますが、全体位置を判断するための特徴まで失うと使いにくくなります。

画像ファイルが多数に分かれている場合は、読み込み要求の回数が増えます。似た用途の画像を区画単位でまとめれば、通信処理や材質切り替えを減らせる可能性があります。ただし、画像を一枚にまとめすぎると、一部分だけ更新したい場合にも大きなファイルを差し替えなければなりません。

空間分割したOBJでは、形状区画とテクスチャの管理単位を合わせると運用しやすくなります。一つの区画を更新した際に、その区画に対応するOBJと画像だけを再作成できます。別区画と同じ画像を参照している場合は、更新による影響範囲を把握しておく必要があります。

透明情報を含む画像も確認します。透明部分を正しく表示するには、描画順序などの追加処理が必要になる場合があります。透明表現が不要な画像であれば、透明情報を除去します。遠距離用LODでは、フェンスや植生などを単純な形状や不透明な表現へ置き換えられることもあります。

材質数が多すぎる場合は、似た材質を統合します。色や表面設定がわずかに違う材質が多数存在すると、表示側で細かな切り替えが発生します。遠距離から識別できない材質差であれば、地形、構造物、仮設物などの大きな分類へまとめられます。

法線情報もLODごとに見直します。面を減らした後に元モデルの法線をそのまま使用すると、形状と陰影が一致せず、不自然な凹凸に見える場合があります。簡略化した形状に合わせて法線を再計算し、角として残す場所と滑らかに見せる場所を調整します。

OBJ、材質情報、テクスチャ画像の参照関係は、アップロード前に確認します。LODごとに同じ画像名を使っていると、アップロード先の保存方法によっては、別の解像度の画像で上書きされる可能性があります。詳細度や区画を識別できる名称を付け、参照先が混在しないようにします。

点群OBJに関連する属性情報も、最初からすべて読み込む必要があるとは限りません。計測日時、管理番号、施工状態、担当区分などは、対象を選択したときに取得する構成にすれば、初回表示の負荷を減らせます。形状の表示に必要な情報と、操作後に必要な情報を分けて管理します。

最適化策6 同時表示量と読み込み順序を制御する

複数段階のLODと空間分割を用意しても、画面内のすべての区画を最高詳細度で表示すれば、負荷は再び高くなります。そこで、同時に表示する頂点数、面数、区画数、画像量などに上限を設けます。

上限は固定された面数だけで判断するのではなく、端末の動作状況と利用目的に応じて調整します。視点を動かしている最中は軽量モデルを優先し、操作が停止した後に詳細化を進める方法が有効です。

詳細化する区画にも優先順位を付けます。画面中央に近い区画、視点に近い区画、利用者が選択している対象、作業対象として指定された場所を優先します。画面端にあり、すぐに表示範囲外へ移動する可能性が高い区画は、軽量LODのままでも支障が少ない場合があります。

読み込み要求を一度に大量に実行すると、通信と解析処理が集中します。高詳細OBJは優先順位に沿って順番に取得し、同時に処理するファイル数を制限します。先に要求した区画が視点移動によって不要になった場合は、まだ開始していない要求を取り消せるようにします。

一度読み込んだ詳細LODをすべて保持すると、現場内を移動するほどメモリ使用量が増えます。現在地から離れ、一定時間使用していない区画は、詳細モデルを解放して軽量LODへ戻します。

ただし、画面外へ出た直後に解放すると、視点を少し戻しただけで再読み込みが必要になります。一定時間は保持する、現在地周辺の区画は残すなど、再利用の可能性を考慮した条件を設定します。

端末の処理状況に応じて、詳細化の範囲を動的に変える方法もあります。操作が重くなった場合は、高詳細LODを表示する範囲を狭くします。動作に余裕がある場合は、詳細表示する区画を増やします。これにより、性能が異なる端末でも一定の操作性を維持しやすくなります。

動的な変更が頻繁に起こると、利用者にはモデルが不安定に見える可能性があります。施工説明や詳細確認など、表示を固定したい場面では、選択区画のLODを手動で固定できる仕組みが役立ちます。

LODの判定頻度も制御します。視点がわずかに動くたびに全区画の詳細度を再計算すると、判定処理自体が負荷になります。一定時間ごとに評価する、視点が一定距離以上動いた場合に更新する、操作停止時にまとめて更新するなどの方法があります。

全体の上限を超えた場合は、重要度の低い区画から詳細度を下げます。単純に遠い順で下げるだけでなく、画面中央からの距離、対象の選択状態、作業区画かどうかなどを加味します。利用者が確認している場所を残し、それ以外を軽量化する考え方が重要です。

点群OBJをアップロードする前のLOD設定手順

点群OBJへLODを導入する際は、現場全体を最初から処理するのではなく、形状の特徴が異なる代表範囲を使って条件を決めます。平坦部、傾斜部、構造物周辺、細かな設備がある範囲を含めると、簡略化による影響を比較しやすくなります。

最初に、点群OBJの用途を整理します。現場全体の閲覧だけに使うのか、施工状況の説明に使うのか、詳細な形状確認まで行うのかによって、必要なLODが変わります。距離や体積などの計測も行う場合は、表示用LODと計測用データを分けます。

次に、元のOBJを確認します。座標系、単位、原点、頂点数、面数、オブジェクト数、材質数、画像枚数などを記録します。重複面、孤立面、不要な内部面、極端に細長い面などがある場合は、LOD作成前に整理します。

元データを整えたら、全体用、中距離用、詳細用などの段階を決めます。各LODについて、残す形状、許容できる位置差や高さ差、想定する表示距離を設定します。

代表範囲を簡略化し、元モデルと比較します。面数が減ったことだけで完了とせず、法肩、法尻、構造物の角、開口部、主要な境界などが維持されているかを確認します。形状の劣化が大きい場合は、簡略化率や重要形状の保護条件を調整します。

広範囲の現場では空間分割を行います。一つの区画を読み込んだときのファイル容量、解析時間、面数を測り、想定端末で無理なく扱える寸法へ調整します。隣接区画を同時表示し、境界に隙間や段差がないことも確認します。

形状の条件が決まったら、テクスチャと材質を整理します。LODごとに画像解像度を調整し、不要な透明情報や過剰な材質分割を見直します。OBJ、材質情報、画像の名称が重複せず、正しい参照関係になっているかを確認します。

続いて、LODと区画の関係を管理する情報を作成します。各OBJの表示範囲、詳細度、親区画、子区画、切り替え条件、更新番号などを記録します。元データが更新された場合に、関連するLODを特定できる構成にします。

アップロード後は、まず全体表示を確認します。現場の範囲が欠けていないか、位置と縮尺が正しいか、軽量LODだけでも主要な位置関係を把握できるかを確認します。

次に、代表箇所へ視点を近づけます。詳細LODが正しい位置へ表示されるか、切り替え時にモデルが消えないか、形状が急に変化しないかを見ます。視点を前後させ、境界付近でLODが頻繁に切り替わらないことも確認します。

区画境界に沿って視点を動かし、地形の隙間、段差、重複面によるちらつきがないかを確認します。高低差の大きい現場では、上空からの表示だけでなく、地表付近や斜め方向からも確認します。

最後に、複数の端末と通信環境で試験します。初回表示、全体俯瞰、連続した視点移動、詳細箇所への接近、別区画への移動、長時間閲覧など、実際の操作に近い条件で確認します。

LOD切り替え後に確認する品質項目

点群OBJのLOD設定では、表示速度が改善したかだけでなく、現場情報として必要な品質が維持されているかを確認します。

最初の確認項目は位置の一致です。全体用、中距離用、詳細用の各LODで、代表点の座標が一致していることを確認します。LODを切り替えた瞬間にモデルが移動する場合は、原点、座標系、単位、回転方向のいずれかが異なっている可能性があります。

次に確認するのが縮尺です。簡略化や書き出しの工程で単位が変わると、同じ位置にあっても大きさが一致しません。既知の距離を持つ二点を使い、すべてのLODで同じ長さになるかを確認します。

形状については、全体の輪郭、主要な高さ関係、構造物の角、地形の稜線、施工境界などを確認します。全体用LODで細部を省略しても、現場の向きや主要構造物を見失わないことが重要です。

切り替え時の連続性も確認します。視点をゆっくり近づけたとき、地形が突然膨らむ、構造物が縮む、開口部が急に現れるといった変化がないかを見ます。変化が大きい場合は、LOD間の削減率を近づけるか、中間LODを追加します。

テクスチャについては、画像が正しい向きと位置で表示されるか、別のLOD用画像に置き換わっていないかを確認します。遠距離用では画像が粗くても問題ありませんが、色分けや主要な特徴が判別できる必要があります。

読み込み動作では、詳細LODの準備中にも軽量モデルが残ることを確認します。通信が遅い環境で一時的に空白になる場合は、切り替え順序を見直します。

長時間閲覧した場合の安定性も重要です。現場内を広く移動した後に操作が重くなる場合は、過去に読み込んだ詳細区画がメモリへ残り続けている可能性があります。使用していない区画が適切に解放されるかを確認します。

計測機能を使用する場合は、表示用LODと実際の計測対象データの関係を確認します。表示中のLODを計測対象とする方式では、軽量LODの表面を誤って計測しないよう、計測開始時に対象区画を詳細データへ切り替えます。表示とは別の元点群や計測用データを参照する方式では、そのデータが最新のものであるかを確認します。

点群OBJのLOD設定で起こりやすい失敗

点群OBJのLOD設定で起こりやすい失敗は、面数削減だけを最適化と考えてしまうことです。形状が軽くなっても、テクスチャ画像や材質数が変わらなければ、読み込み時間やメモリ使用量が十分に減らない場合があります。

反対に、ファイル容量だけを小さくすることも適切ではありません。PNGやJPEGなどの画像は保存容量が小さくても、表示時の変換後には大きなメモリを使用することがあります。ただし、GPU向け圧縮テクスチャへ対応する表示環境では、メモリ使用量を抑えられる場合もあります。頂点、面、画像寸法、画像形式、材質数、オブジェクト数をまとめて評価します。

LOD間の形状差が大きすぎることもよくある問題です。遠距離用を過度に簡略化すると、近づいた瞬間に地形や構造物が大きく変わります。表示速度だけでなく、切り替え時の見た目を確認しなければなりません。

距離だけで切り替える設定も不安定になりやすい方法です。同じ距離でも、対象物の大きさや画面上の表示範囲によって必要な詳細度は異なります。距離と画面上の誤差を組み合わせて判断します。

区画を細かく分けすぎると、ファイル数と読み込み要求が増えます。各ファイルが小さくても、多数の通信と解析が同時に発生すれば、かえって表示が遅くなる可能性があります。

区画境界を個別に簡略化すると、隙間や段差が発生しやすくなります。上空からの全体表示では気づかなくても、地表付近から斜めに見ると線状の空白が目立つ場合があります。

LODごとに座標原点が異なる問題も重大です。簡略化処理の設定によって自動的に中心位置が変更されていないかを確認します。単位や軸方向も含め、書き出し条件を統一します。

詳細LODの読み込み要求を同時に出しすぎると、視点操作が止まることがあります。画面内に入ったすべての区画を一斉に詳細化するのではなく、重要な区画から順番に処理します。

読み込んだ詳細LODを解放しない運用では、長時間の閲覧でメモリ不足が起こりやすくなります。画面外へ移動した区画を適切に解放しつつ、短時間で再び表示する可能性がある区画は一定時間保持します。

更新時に一部のLODだけを差し替えることも避ける必要があります。詳細用OBJだけを更新し、全体用OBJが古いまま残ると、視点距離によって施工前と施工後の形状が切り替わって見えます。同じ区画に属するLODは、同じ元データから作成します。

軽量LODを計測に使用してしまう問題もあります。簡略化した面は元の点群表面と一致しない場合があります。閲覧用データと計測用データの役割を明確にし、利用者が誤解しない表示にします。

現場ごとにLODの基準を定着させる方法

LODを継続して運用するには、担当者の感覚だけに依存しない基準が必要です。現場ごとに簡略化率、分割寸法、テクスチャ解像度が大きく異なると、アップロード後の動作を予測しにくくなります。

まず、点群OBJの利用目的を分類します。全体俯瞰、施工説明、詳細確認、計測など、代表的な場面ごとに必要なLODを決めます。全体俯瞰では軽さを優先し、詳細確認では重要形状の保持を優先します。

LODごとの品質確認項目も統一します。頂点数、面数、ファイル容量だけでなく、最大高さ差、境界位置のずれ、重要形状の欠損、テクスチャの識別性、区画境界の連続性などを確認します。

命名規則と保存場所も統一します。現場名、区画、LOD段階、計測日、更新番号が分かる名称にし、元点群、元OBJ、表示用LODを区別して保存します。軽量モデルだけが残り、どの元データから作成されたか分からなくなる状態を避けます。

再作成できるように、簡略化条件も記録します。使用した元データ、削減条件、境界保護の設定、分割範囲、画像縮小条件などを残します。担当者が変わっても同じ条件でLODを更新できる状態が理想です。

現場の一部だけを更新する場合は、差し替え対象を明確にします。空間分割が適切であれば、変更された区画だけを再作成できます。ただし、地形や構造物が区画境界をまたいで変化した場合は、隣接区画も確認します。

更新対象では、全体用、中距離用、詳細用を同じ元データから作り直します。一部のLODだけが古い状態で残らないよう、区画単位で関連ファイルをまとめて管理します。

利用状況を記録できる場合は、頻繁に閲覧される区画や、詳細化に時間がかかる場所を確認します。現場全体を均等に高精細化するのではなく、利用頻度が高い範囲へ詳細データを重点的に配置すると効率的です。

表示品質を高めるためにデータを重くしすぎないことも重要です。元の形状に近づけるほど面数は増えますが、端末で開けなければ共有データとして機能しません。必要な情報を確認でき、想定する端末で安定して操作できることを品質基準にします。

現場データを公開する前には、標準的な確認工程を設けます。全体表示ができること、詳細区画へ移行できること、境界に欠けがないこと、計測時に正しいデータを選択できることを確認します。

点群を取得する段階から、利用範囲と必要密度を意識することも有効です。すべての場所を同じ密度で計測すると、不要な部分まで高密度になり、後工程の負担が増えます。重要箇所は十分に記録し、背景や対象外部分は用途に応じた密度に抑えることで、OBJ化とLOD作成を進めやすくなります。

まとめ

点群OBJの表示負荷を抑えるには、単純にファイル容量を小さくするだけでは不十分です。視点からの距離や画面上の見え方に応じて詳細度を切り替え、必要な範囲だけを段階的に読み込む仕組みが求められます。

最適化では、距離に応じた複数LODの作成、空間単位での分割、重要形状を残した頂点数と面数の削減、画面上の誤差に基づく切り替え、テクスチャと材質の軽量化、同時表示量と読み込み順序の制御という六つの対策を組み合わせます。

一般的なOBJ形式には、複数の詳細度や区画の親子関係を定義し、自動的に切り替える共通仕様がありません。各ファイルの範囲、LOD段階、親子関係、切り替え条件などを別の管理情報として整理し、アップロード後の表示処理へ正しく伝える必要があります。

また、すべてのLODで座標系、原点、単位、向きを統一しなければなりません。位置や縮尺が異なると、詳細度を切り替えた瞬間にモデルが移動したり、大きさが変わったりします。代表点や既知の距離を使い、アップロード前後で一致を確認します。

軽量LODは、安定した閲覧を実現するための表示用データです。元点群や詳細モデルと同じ精度を持つとは限りません。計測機能が表示中のLODを参照する方式で、距離、断面、面積、体積などを確認する際は、計測に適した詳細データへ切り替える運用が必要です。表示とは別の計測用データを参照する方式では、計測対象が最新かつ正しいデータであることを確認します。

点群OBJのLODは、一度設定すれば終わるものではありません。現場面積、点群密度、閲覧端末、通信環境、利用目的に合わせて、段階数、分割寸法、表示上限を調整します。代表区画で試験し、実際の操作結果を確認しながら現場ごとの標準を作ることが、安定した運用につながります。

現場で取得する時点から位置情報、計測範囲、必要な密度を整理できれば、OBJ作成後のLOD設定も効率化できます。現場の三次元情報を取得し、記録、確認、共有へつなげたい場合は、LRTK Phoneの機能と運用条件を確認したうえで活用することで、利用目的に合った点群データを整備しやすくなります。

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

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