LRTKレフィクシア株式会社

点群OBJアップロード後にサムネイルが出ない原因4選

点群OBJのサムネイルが表示される仕組み

点群OBJをクラウド上の管理画面や三次元データの閲覧環境へアップロードした後、一覧にサムネイルが表示されないことがあります。ファイル名や登録日時は表示されているのに、プレビュー部分だけが空白になっていたり、読み込み中の状態から変わらなかったりすると、アップロード自体に失敗したのではないかと不安になりやすいものです。

しかし、サムネイルが表示されないことと、OBJファイルが完全に壊れていることは同じではありません。ファイルの送信と登録は正常に完了していても、その後のプレビュー生成処理だけが失敗している場合があります。反対に、画面上ではファイルが登録済みになっていても、OBJ内部の要素を正しく解析できず、本体データの読み込みにも問題が生じている場合があります。

一般的なサムネイル生成では、アップロードしたデータをシステム側で解析し、描画可能な要素から三次元形状や点の集合を組み立て、一定の視点や表示条件で描画した結果を小さな画像として保存します。実際の処理手順はサービスごとに異なりますが、ファイルを受信できたかどうかだけでなく、描画対象となる要素が含まれているか、構文が読み込み側の実装に合っているか、処理可能なデータ量に収まっているか、対象が自動設定された表示範囲に入るかなどが関係します。

ここで理解しておきたいのは、OBJが点群専用の形式ではないことです。OBJでは、vで頂点座標を定義し、その頂点番号をpで点要素として参照したり、lで線要素として参照したり、fで面要素として参照したりできます。したがって、大量のv行があるだけのファイル、p行を持つ点要素のOBJ、f行を持つメッシュOBJは、読み込み側から見ると同じ構造ではありません。

点表示に対応した環境であれば、pで定義された点要素や、実装によっては未参照の頂点を点として閲覧できる可能性があります。一方、サムネイル生成機能が面を持つモデルだけを対象としている場合、点要素の解析に成功しても一覧画像を生成できないことがあります。また、v行だけがありp行もf行もない場合は、頂点が定義されていても描画対象の要素がないものとして扱われる可能性があります。

対応形式としてOBJが案内されていても、点要素、線要素、面要素、材質、画像参照のすべてに同じ範囲で対応しているとは限りません。本体ビューアーでは点を表示できても、一覧用のサムネイル生成処理では点要素に対応していないことも考えられます。そのため、OBJ対応という表記だけで点群OBJのサムネイル生成まで保証されていると判断せず、利用環境の仕様や検証結果を確認することが大切です。

また、OBJ本体以外に材質情報や画像を参照している場合は、関連ファイルの状態もサムネイル生成に影響します。関連ファイルがなくても単色形状として表示できる環境はありますが、参照エラーをきっかけに変換処理全体が停止する環境もあります。

したがって、点群OBJアップロード後にサムネイルが出ないときは、同じファイルを繰り返し送信するのではなく、描画要素、ファイル記述、データ量、座標範囲という四つの観点から確認することが重要です。原因を特定せずに再アップロードを続けると、同じデータが複数登録されたり、処理待ちが増えたりして、状況を把握しにくくなる可能性があります。

確認作業では、元データを直接書き換えず、必ず複製を作って検証します。点群の間引き、点要素の追加、面の生成、座標移動、材質参照の削除などは、表示結果だけでなく計測値や位置情報にも影響する可能性があります。元データと検証用データを分けておけば、サムネイルを表示するための調整を行いながら、取得時の情報も安全に残せます。

原因1 点だけで構成され面情報が含まれていない

点群OBJのサムネイルが表示されない原因として最初に確認したいのが、OBJ内に面情報がなく、点だけで構成されている状態です。ただし、点だけのOBJを確認するときは、v行とf行だけでなく、点要素を表すp行も確認する必要があります。

OBJでは、vで始まる行が頂点座標を定義します。pで始まる行は、その頂点番号を点要素として参照します。fで始まる行は、複数の頂点番号を参照して面を定義します。したがって、大量のv行が記録されていても、p行もf行も存在しなければ、頂点座標は定義されているものの、標準的な要素として点や面が明示されていない状態である可能性があります。

一方、v行とp行がありf行がないファイルは、面を持たない点要素のOBJとして解釈できます。ただし、アップロード先がp要素の読み込みや点描画に対応しているかは別の問題です。点要素を本体表示できる環境でも、サムネイル生成だけは面の描画を前提としていることがあります。

読み込み側が点描画に対応していれば、点を一定の表示サイズで画面に描画できる可能性があります。しかし、OBJの点要素は点の位置を表すものであり、一覧画像での点サイズ、密度調整、距離に応じた強調方法などは閲覧環境の実装に左右されます。点が極端に小さく描画されたり、背景と同化したりすると、処理自体は成功していても空白に見える場合があります。

元の点群処理環境では問題なく表示できていたとしても、アップロード先で同じように見えるとは限りません。点群処理環境では、点を画面上で見やすい大きさに拡大したり、距離に応じて表示密度を調整したりすることがあります。別の環境では同じ補正が行われず、点が見えにくくなることがあります。

まずはOBJをテキストとして確認し、vで始まる行、pで始まる行、fで始まる行が存在するかを調べます。ファイルが大きい場合は、一般的な文字編集画面で全体を開くと動作が重くなることがあります。その場合は、元ファイルを編集せず、行頭の種類や先頭部分を確認できる方法を使用します。

v行が多数ある一方でp行もf行も見当たらない場合は、頂点が描画要素として参照されていない可能性があります。v行とp行がありf行がない場合は、点要素として構成されたOBJである可能性が高いと考えられます。どちらも直ちに破損を意味するわけではありませんが、アップロード先がその構造をサムネイル化できるかを確認する必要があります。

点のみのOBJに対応していない場合は、利用目的に応じて対処を選びます。点群として共有する必要があるなら、点要素を扱える形式や、利用環境が正式に対応している点群形式への変換を検討します。表面形状を一覧で確認したい場合は、元点群からメッシュを生成し、面情報を持つOBJとして書き出す方法があります。

ただし、点群から面を生成すると、実際にはつながっていない点の間に面が作られたり、本来は開いている部分が埋まったりすることがあります。構造物の開口部、植生の隙間、配管の周囲、奥行きの異なる点が近接している場所などでは、自動的なメッシュ生成によって実際とは異なる面が作られる可能性があります。

そのため、サムネイルを表示するために作成したメッシュを、そのまま高精度な計測用データとして扱うことは避けたほうが安全です。元の点群は計測用として保存し、サムネイルや概形確認に使うメッシュを派生データとして別に管理すると、用途を混同しにくくなります。閲覧用データを作成した場合は、元点群からどのような条件で生成したのかも記録しておくことが重要です。

f行が存在する場合でも、面情報が正常とは限りません。面が存在しない頂点番号を参照している場合や、頂点番号の区切りが崩れている場合は、面を組み立てられません。また、同じ位置の頂点だけで作られた面や、ほぼ一直線上の頂点で作られた面は、面積がほとんどない縮退面となり、正常に描画できないことがあります。

非常に小さな面、重複面、向きが混在した面が大量に含まれている場合も、サムネイル生成処理が不安定になる可能性があります。点群を細かくメッシュ化したデータでは、外観への影響が小さい縮退面が多数発生していることがあるため、書き出し前の形状検査が有効です。

描画要素の種類が原因か確認するには、少数の頂点とp行だけを含む小さな点要素の検証用OBJと、少数の頂点と三角形面を含む小さなメッシュOBJを別々に用意し、同じ方法でアップロードします。三角形面のOBJだけでサムネイルが表示される場合は、アップロード機能全体ではなく、点要素への対応範囲が原因である可能性が高まります。

検証用OBJを作成するときは、元ファイルの途中だけを単純に切り出さないようにします。p行やf行は頂点番号を参照しているため、行を途中で切り取ると参照関係が壊れる可能性があります。書き出し元で対象範囲を限定するか、参照番号を再構成できる方法で小規模なデータを作ることが必要です。

原因2 OBJや関連ファイルの記述に不整合がある

二つ目の原因は、OBJ内部の構文や関連ファイルの参照に不整合があることです。OBJはテキストで記述されるため、内容を確認しやすい一方、数値、区切り、参照番号、ファイル名などの小さな問題が読み込みエラーにつながることがあります。

アップロード画面にファイル名が表示されていても、OBJの解析が最後まで完了したとは限りません。ファイルの受信後に自動解析が行われ、その途中で処理が停止すると、登録情報だけが残り、サムネイルが生成されないことがあります。画面上に詳しいエラーが表示されない場合でも、内部では一部の行を読み込めずに停止している可能性があります。

最初に確認したいのは、頂点座標が数値として解釈できるかどうかです。v行には通常、三次元座標が記述されますが、数値欄に文字列が混ざっていたり、非数値や無限大として扱われる値が含まれていたりすると、形状全体の範囲を正常に計算できないことがあります。

サムネイル生成では、モデル全体の最小座標と最大座標を求め、その範囲が画面内に収まるように視点を調整する処理が行われることがあります。一つの頂点に異常値が含まれているだけでも、形状の中心や大きさを適切に求められず、プレビュー生成に失敗する可能性があります。

次に確認したいのが、p行やf行が参照している頂点番号です。存在しない頂点番号を参照している点要素や面がある場合、読み込み側はその要素を構成できません。エラーのある要素だけを無視して処理を続ける環境もありますが、ファイル全体の解析を停止する環境も考えられます。

面でテクスチャ座標や法線の番号を併記している場合は、その区切り方も確認が必要です。区切り記号の数が合っていない行や、途中の番号が欠落した行が混在していると、読み込み結果が環境によって変わる可能性があります。

OBJでは、現在までに定義された要素から相対的に参照する負の番号も仕様上利用できます。ただし、読み込み側の実装や対応範囲によっては、正の番号だけを前提としていることがあります。互換性を優先する場合は、書き出し時に正の連番へ変換できるかを確認し、変換後の参照関係が正しいことを検証します。

改行の状態にも注意が必要です。ファイル内で複数種類の改行が混在していたり、本来別の行である内容が一行につながっていたりすると、解析に失敗する可能性があります。書き出しや転送の過程で文字コードが変わった場合も、ファイル先頭や名称部分に想定外の文字が入ることがあります。

オブジェクト名、グループ名、材質名などに特殊な記号や制御文字が含まれている場合も確認が必要です。日本語の名称が必ず問題になるわけではありませんが、読み込み側の仕様が不明なときは、検証用ファイルだけでも半角英数字とアンダースコアを中心とした短い名称へ変更すると、原因を切り分けやすくなります。

材質情報を使用しているOBJでは、OBJ本体に記述された材質ファイル名と、実際にアップロードしたファイル名が一致しているかを確認します。大文字と小文字、空白、拡張子、記号の有無まで含めて確認することが重要です。利用環境によっては、大文字と小文字を別のファイル名として扱います。

材質ファイル内で画像を参照している場合は、画像のファイル名と配置も確認します。OBJ、材質ファイル、画像を異なるフォルダ階層へ配置すると、参照先を見つけられない場合があります。関連ファイルをまとめて登録する仕組みでは、必要なファイルを簡潔な階層にまとめるほうが参照関係を把握しやすくなります。

圧縮してアップロードする場合は、圧縮ファイルを開いた直後の階層も確認します。最上位に不要なフォルダがあり、その内側にさらに複数の階層が続いていると、読み込み側がOBJや関連ファイルを見つけられないことがあります。対応する階層構造は環境によって異なるため、簡潔な構成で検証すると原因を絞り込めます。

ただし、材質ファイルや画像が見つからないからといって、必ず形状まで表示できなくなるわけではありません。材質を読み込めない場合でも、形状だけを単色で表示する環境はあります。一方で、関連ファイルの読み込みエラーをきっかけに、サムネイル生成全体が停止することも考えられます。

材質参照が原因かどうかを判断するには、元データを複製し、材質や画像の参照を使用しない形状のみの検証用OBJを書き出します。形状のみではサムネイルが表示される場合、材質ファイルの記述、画像名、画像容量、配置などに原因がある可能性が高まります。

ファイルの末尾が欠けていないかも確認します。保存中の中断、コピー失敗、通信切断などにより、OBJの一部が失われることがあります。容量が大きいファイルでは、末尾が欠けていても見た目の容量差が小さく、気付きにくい場合があります。

元の書き出しファイルとアップロード対象ファイルの容量を比較し、必要に応じてハッシュ値などで内容が一致しているかを確認します。コピー前後の内容が一致しない場合は、OBJの構造を修正する前に、転送方法や保存先を見直す必要があります。

原因3 データ量が多く変換処理が完了していない

三つ目の原因は、点群OBJのデータ量が多く、サムネイルを作成するための変換処理が完了していないことです。点群から作成したOBJは、頂点数や面数が非常に多くなりやすく、送信が完了してからプレビューが生成されるまで時間がかかることがあります。

アップロード完了という表示は、ファイルの送信が終わったことだけを意味している場合があります。その後に、ファイル展開、OBJ解析、点や面の構築、表示用データへの変換、視点調整、サムネイル画像の生成などが行われる仕組みでは、一覧に画像が出るまでさらに処理時間が必要です。

処理時間は、ファイル容量だけでは判断できません。同程度の容量でも、頂点数、点要素数、面数、材質数、画像枚数、数値の桁数、グループ数などによって負荷は変わります。特に、多数の小さな三角形で構成されたメッシュは、同じ容量の単純な形状よりも処理に時間がかかる可能性があります。

点群の各点を細かく面でつないだOBJでは、元点群の密度に応じて膨大な面数になることがあります。形状を忠実に残そうとして過度に細かなメッシュを作成すると、一覧で概形を確認するためのサムネイルに対して必要以上の情報量になる場合があります。

短時間に複数の大容量ファイルをアップロードした場合は、変換処理が順番待ちになる可能性もあります。ファイルの受信はすぐに終わっても、サムネイル生成が順次行われる仕組みでは、後から登録したファイルほど表示まで時間がかかります。

この状態で同じファイルを何度も再アップロードすると、同じ内容の変換処理が複数追加される可能性があります。結果として待ち時間が長くなったり、どのデータが最新なのか分かりにくくなったりするため、まずは処理状態や更新日時を確認することが大切です。

一定時間が経過しても表示されない場合は、処理待ちではなく、変換処理が途中で停止した可能性も考えます。アップロード可能な容量と、サムネイルへ変換できる容量が同じとは限りません。ファイル自体は保存できても、頂点数、点要素数、面数、展開後容量、処理時間などが内部の上限を超えている場合があります。

原因を切り分けるには、同じ元データから軽量な検証用OBJを作成します。対象範囲を狭くしたもの、頂点数や面数を減らしたもの、画像を外したもの、グループ数を減らしたものなどを用意し、一つずつアップロード結果を比較します。

軽量版でサムネイルが表示され、元データでは表示されない場合、データ量または構造の複雑さが原因である可能性が高いと考えられます。ただし、軽量化の際にほかの問題も同時に修正されていると、原因を正確に特定できません。最初は材質を維持したまま面数だけを減らすなど、変更条件を一つに絞ることが重要です。

点群やメッシュを軽量化するときは、用途に必要な形状を残す必要があります。単純に点や面を大幅に減らすと、段差、角、境界、細い部材、小さな凹凸などが失われる可能性があります。サムネイル用のデータはあくまで閲覧用とし、計測や詳細確認に使う元データとは分けて管理する方法が適しています。

重複した頂点や面、孤立した小さな形状、不要な周辺点が含まれている場合は、それらを整理することで容量や処理負荷を減らせます。ただし、離れた場所にある点が基準点や必要な対象物である可能性もあるため、位置だけを基準に一括削除しないようにします。

多数のグループやオブジェクトへ細かく分割されたOBJも、変換負荷が高くなる場合があります。グループごとに材質や描画状態を処理する仕組みでは、一つの形状に統合されたデータよりも時間がかかる可能性があります。空のグループや重複した要素があれば、書き出し前に整理します。

画像を含む場合は、画像の解像度や枚数も確認します。高解像度画像を多数含めると、ファイルの展開、画像の読み込み、縮小処理などに時間がかかります。サムネイル確認用の派生データでは、元画像を別に保管したうえで、閲覧に必要な範囲へ調整した画像を使用する方法があります。

ただし、現場記録として原本性が求められる画像を、軽量化した画像だけで置き換えることは避ける必要があります。元画像と閲覧用画像を明確に区別し、どのOBJがどちらを参照しているかを管理します。

処理状態やエラー履歴を確認できる場合は、再アップロード前に内容を確認します。解析中、変換中、処理失敗などの状態が分かれば、待つべき状況と修正すべき状況を区別できます。状態表示がない場合は、小さなOBJから段階的にデータ量を増やし、正常に表示できる条件を調べる方法が有効です。

原因4 座標やスケールが表示範囲から外れている

四つ目の原因は、OBJ内の座標やスケールが、サムネイル生成時の表示範囲から外れていることです。形状の読み込み自体は成功していても、モデルが極端に小さく表示されたり、視点から遠く離れた位置に配置されたりすると、サムネイル上では空白に見えることがあります。

測量や点群処理で扱う座標は、現場付近を原点とする小さな値ではなく、原点から大きく離れた座標値を持つ場合があります。これをそのままOBJへ書き出すと、対象物の寸法に対して座標値が非常に大きくなることがあります。

対象物の幅が数十メートルであっても、各頂点が原点から非常に遠い位置にある場合、表示側では大きな座標値と比較的小さな形状差を同時に扱う必要があります。内部の数値精度や自動視点調整の方法によっては、対象物を適切に画面へ収められない可能性があります。

形状全体を画面内に入れるための自動調整が正常に動作しても、一つの外れた頂点があるだけで問題が起こることがあります。大部分の頂点が狭い範囲に集まっているのに、一点だけ遠方へ離れていると、自動視点はその点まで含めて表示しようとします。その結果、主要な形状が非常に小さくなり、サムネイルでは確認できなくなります。

外れた頂点は、点群処理中に発生した不要点や、計算異常による座標である可能性があります。一方で、離れた場所にある基準点、別区画、必要な周辺地形である場合もあります。そのため、距離だけを理由に削除するのではなく、点の意味を確認することが必要です。

単位の違いも表示範囲へ影響します。OBJの頂点座標は数値として記録されますが、メートル、ミリメートル、センチメートルなどの線形単位や、上下方向の軸をファイル内で一律に指定する標準的な場面情報はありません。書き出し側と読み込み側の前提が異なれば、モデルが想定より大きくなったり小さくなったり、横倒しになったりする可能性があります。

極端に小さいモデルでは、形状が画面中央にあっても点や線のようにしか見えないことがあります。反対に極端に大きいモデルでは、視点が形状の内部へ入り込み、外観を確認できないことがあります。既知の寸法を使って、書き出し後のスケールが実際の対象物と合っているかを確認することが大切です。

座標が原因かどうかを調べるには、OBJ内の頂点座標について、各軸の最小値、最大値、中心、最大値と最小値の差を確認します。形状全体の幅、高さ、奥行きが実際の対象物の寸法と大きく異なる場合は、単位や倍率に問題がある可能性があります。

また、各軸の範囲を比較することで、軸の扱いに問題がないかも確認できます。書き出し側と読み込み側で上下方向の前提が異なる場合、モデルが横倒しになったり、奥行き方向へ伸びたりすることがあります。形状自体は存在していても、サムネイルの視点から見ると薄い線のようになり、空白に見える場合があります。

面の向きも見え方に関係します。面の頂点順序や法線の状態によって表裏の扱いが変わり、裏面を描画しない設定では、視点と反対向きの面が表示されないことがあります。すべての面が内側を向いている場合、外側から撮影したサムネイルでは形状が消えたように見える可能性があります。

面の向きが混在している場合は、部分的に欠けたサムネイルになることがあります。モデルを回転すると見えたり消えたりする場合は、面の向きや法線の状態を確認します。サムネイル用の視点を利用者が変更できない環境では、想定する外側から見えるように面の方向をそろえてから書き出すことが重要です。

座標位置が原因か確認するには、元データを複製し、形状の中心を原点付近へ移動した検証用OBJを作成します。このデータでサムネイルが表示される場合は、原点からの距離や外れ値が影響している可能性があります。

ただし、座標を移動したOBJは、元の測量座標との対応を失う可能性があります。移動後のデータで元データを上書きせず、移動前後の差を必ず記録します。閲覧用のローカル座標データと、位置情報を保持した元データを分けて管理することが大切です。

座標を移動しても表示されず、倍率を調整すると表示される場合は、単位やスケールの問題が考えられます。一度に移動と倍率変更を行うと原因を区別できないため、最初は座標移動だけを試し、その後に倍率を確認します。

サムネイルが出ないときの切り分け手順

点群OBJのサムネイルが出ないときは、複数の修正を一度に行わないことが重要です。点要素の追加、面の生成、ファイル名の変更、軽量化、座標移動を同時に行うと、表示できるようになっても、どの変更が有効だったのか判断できません。

最初に確認するのは、ファイルのアップロードが完了しているかどうかです。登録されたファイル名、容量、日時、処理状態を確認し、手元のファイルと一致しているかを見ます。送信途中に通信が切れたり、画面を閉じたりした場合は、登録情報だけが残っている可能性もあります。

次に、少数の頂点と三角形面で構成された小さな正常確認用OBJを、同じ手順でアップロードします。このファイルでサムネイルが表示される場合、アップロード機能全体ではなく、対象OBJ固有の問題である可能性が高まります。

点要素の対応も確認したい場合は、v行とp行で構成した小さな検証用OBJも別に用意します。三角形面のOBJは表示されるのに点要素のOBJが表示されない場合は、サムネイル生成がp要素や点描画に対応していない可能性があります。両方とも表示されない場合は、対応形式、権限、処理状態など、ファイル以外の要因も確認します。

対象OBJについては、まずv行、p行、f行の有無を確認します。v行だけでp行もf行もない場合は、頂点が描画要素として参照されていない可能性があります。p行がある場合は、点要素への対応状況を確認します。f行がある場合は、存在する頂点番号だけを参照しているか、面の記述が途中で崩れていないかを調べます。

次に、材質や画像を参照しない形状のみのOBJを作り、表示結果を確認します。このデータで表示できる場合は、材質ファイル名、画像ファイル名、階層、画像容量などに原因がある可能性があります。形状だけでも表示できない場合は、点や面の構造、数値、データ量、座標を中心に確認します。

続いて、対象範囲を狭めた軽量版を作成します。元OBJを途中で切断するのではなく、書き出し元で小さな範囲を選び、正しい参照番号で再出力します。軽量版で表示できる場合は、元データの頂点数、点要素数、面数、グループ数、画像量などが処理負荷になっている可能性があります。

軽量版でも表示されない場合は、形状の中心を原点付近へ移動した検証用OBJを作ります。座標移動後に表示できる場合は、大きな座標値や遠方の外れ点が原因として考えられます。移動後も表示されない場合は、単位、軸、面の向きも確認します。

検証ファイルは、それぞれ何を変更したか分かるように管理します。ただし、ファイル名に長い説明や特殊記号を使用すると別の問題を増やす可能性があります。短い半角英数字を中心にし、点要素、面あり、材質なし、軽量、原点移動などの違いが区別できるようにします。

各検証結果も記録します。アップロード日時、容量、頂点数、点要素数、面数、材質の有無、座標範囲、サムネイル表示の可否を残しておけば、どの条件が影響したのか比較しやすくなります。

サムネイルが表示された時点で確認を終えず、本体表示も開きます。形状の欠け、点密度、面の反転、スケールの違い、座標のずれがないかを調べ、用途に必要な情報が保たれていることを確認します。

再アップロード前に確認したい項目

原因を推定できたら、修正したOBJを再アップロードする前に、ファイル全体の状態を確認します。サムネイルが表示できるようになっても、頂点、点要素、形状、座標、材質などの重要な情報が失われていれば、実務で使えるデータとはいえません。

最初に頂点数を確認します。元データや書き出し前の記録と比較し、想定どおりの数になっているかを見ます。軽量化した場合は、頂点数をどの程度減らしたのかを記録します。想定より極端に少ない場合は、対象範囲の選択ミスや書き出し途中の中断が考えられます。

点のみのOBJでは、p行の有無と参照先も確認します。頂点数が多くても、p行が一部の頂点しか参照していなければ、意図した点のすべてが描画対象にならない可能性があります。v行だけの構造を読み込み側が独自に点として扱っていた場合は、別の環境で同じ結果になるとは限らない点にも注意が必要です。

メッシュOBJでは面数を確認します。メッシュとして書き出したはずなのに面数がゼロであれば、書き出し条件が点のみになっている可能性があります。反対に、面数が想定より極端に多い場合は、重複面や必要以上に細かな分割が含まれている可能性があります。

参照関係も重要です。p行やf行が存在しない頂点を参照していないか、参照番号が途中で不自然に飛んでいないかを確認します。複数のOBJを結合した際に番号の付け直しが正しく行われていないと、点や形状の一部だけが欠けたり崩れたりすることがあります。

オブジェクト名、グループ名、材質名も確認します。空の名前、重複した名前、特殊な制御文字を含む名前がある場合は、読み込み側で要素を正しく区別できない可能性があります。名称を変更した場合は、材質ファイルとの対応も合わせて修正します。

関連画像を利用する場合は、材質ファイルに記述された画像名と実際のファイル名が一致しているかを確認します。拡張子の違い、大文字と小文字の違い、余分な空白なども見落としやすい点です。画像が破損していないか、単独で開けるかも確認します。

座標については、形状全体の最小値、最大値、中心、幅、高さ、奥行きを確認します。原点付近へ移動した場合は、各軸をどの程度移動したのか記録します。元の座標へ戻す必要が生じたとき、移動量が分からなければ正確に復元できません。

単位については、既知の寸法を使って確認します。現場内で長さが分かっている構造物や基準点間の距離を測定し、表示結果が実寸と合っているかを確かめます。サムネイルの見た目が自然でも、倍率が誤っている可能性はあります。

面の向きも複数方向から確認します。正面からは見えても、反対側から消える場合は、裏面が描画されていない可能性があります。面の向きが混在すると、場所によって欠けて見えるため、必要に応じて方向をそろえてから書き出します。

軽量化を行った場合は、重要な形状が残っているかを確認します。角、段差、境界、開口部、細い部材などは、点数や面数削減の影響を受けやすい部分です。単に全体が表示できるかを見るだけでなく、業務で確認したい部分が維持されているかを見ます。

再アップロード時は、旧データとの区別も必要です。同じファイル名で上書きされるのか、新しいデータとして追加されるのかを確認し、古いデータを誤って利用しないようにします。修正版の登録後は、更新日時や容量を照合し、意図したファイルが反映されていることを確認します。

サムネイル生成を安定させる書き出し方法

サムネイル生成を安定させるには、アップロード後に修正を繰り返すだけでなく、OBJを書き出す段階から互換性を意識することが大切です。作成環境で利用できる高度な設定をすべて有効にするのではなく、アップロード先が解釈しやすい構造へ整理します。

点群をOBJとして書き出す場合は、点のみのデータなのか、面を持つメッシュなのかを明確にします。点のみのOBJを使用するなら、書き出し結果にv行だけでなく必要なp行が含まれているかを確認し、アップロード先の本体表示とサムネイル生成の両方が点要素に対応しているかを確かめます。対応状況が分からない場合は、小さな検証用データを先に登録します。

面を持つOBJでは、複雑な多角形よりも単純な三角形を中心に構成すると、読み込み環境による差を抑えやすくなる場合があります。四角形や多角形に対応する環境でも、面がねじれていたり、同一平面上にない頂点を含んでいたりすると、読み込み時の三角形化結果が変わる可能性があります。

書き出し側で三角形化する場合は、変換後の形状を確認します。対角線の選び方によって、曲面や段差の見え方が変わることがあります。単に面数を増やすのではなく、元点群の形状を不自然に変えていないかを確認することが大切です。

不要な頂点、重複頂点、重複面、面積がほとんどない面、孤立した小さな要素は整理します。ただし、自動修正を強く適用すると、必要な細部まで削除される可能性があります。処理前後の頂点数、点要素数、面数を比較し、主要な形状が維持されているかを確認します。

面の向きは可能な範囲で統一します。内側と外側が混在したまま書き出すと、サムネイルの視点によって一部が消える可能性があります。閉じた形状では外側を向くように整理し、開いた面では想定する閲覧方向から見える状態を確認します。

材質は必要な範囲に整理します。細かな部分ごとに多数の材質を設定すると、参照関係が複雑になり、変換処理の負荷も増える可能性があります。サムネイルで細かな色分けが不要な場合は、閲覧用データの材質数を抑える方法があります。

一方で、色が点群の判別や現場状況の確認に必要な場合は、材質を単純化したデータだけを残さないようにします。高品質な元データと、一覧表示に適した軽量データを分けて保管すると、用途に応じて使い分けられます。

ファイル名は短く分かりやすくし、OBJ、材質ファイル、画像の名称を正確に対応させます。特殊記号や不要な空白を避けることで、異なる処理環境でも参照関係を保ちやすくなります。圧縮する場合は、必要なファイルを把握しやすい階層にまとめます。

座標は利用目的に合わせて管理します。測量座標を保持する必要がある元データと、原点付近へ移動した閲覧用データを分ける方法が有効です。閲覧用データを作成した場合は、座標の移動量、使用した基準、書き出し時に想定した単位と軸を記録します。

データ量については、サムネイルに必要な精度と、計測に必要な精度を分けて考えます。一覧で対象物の概形を識別するだけであれば、高密度な元データと同じ頂点数や面数が必要とは限りません。閲覧用の軽量データを用意すれば、サムネイル生成だけでなく、本体表示の操作性も改善できる可能性があります。

書き出し後は、作成に使用した環境だけでなく、別の確認方法でもOBJを読み込みます。同じ環境へ読み戻すだけでは、その環境独自の補正によって問題が見えないことがあります。頂点、点要素、面、材質、縮尺、座標範囲を別の方法で確認すると、アップロード前に不整合を見つけやすくなります。

繰り返し点群OBJを扱う場合は、正常に表示できた条件を社内の書き出しルールとして記録します。点要素または面要素の構成、座標の扱い、単位、軸、軽量化の基準、材質数、画像サイズ、ファイル構成などを統一すれば、担当者による結果のばらつきを減らせます。

サムネイルが出ても確認すべきデータ品質

サムネイルが表示されたからといって、OBJが計測や施工確認に適した状態であるとは限りません。サムネイルは一覧上でデータの概形を確認するための補助情報であり、座標、寸法、形状、属性の正しさを保証するものではありません。

たとえば、座標を原点付近へ移動すればサムネイルが出るようになる場合がありますが、元の測量座標との関係を記録していなければ、ほかのデータと正確に重ねられなくなる可能性があります。サムネイル表示を優先した結果、位置情報を失っていないか確認する必要があります。

軽量化によって点数や面数を減らした場合も、見た目は自然でも細かな形状が失われていることがあります。段差、縁、角、細い配管、開口部などが滑らかに置き換えられると、概形確認には使えても詳細な寸法確認には適さない場合があります。

点群から自動生成したメッシュでは、点が取得できていない範囲に面が作られることがあります。サムネイル上では穴が埋まり、きれいな形状に見えても、実際の計測結果を正しく表しているとは限りません。元点群と見比べ、推定で補われた範囲を把握することが重要です。

本体データを開ける場合は、全体表示だけでなく、拡大、縮小、回転を行います。複数方向から確認し、点の欠落、面の欠けや反転がないかを調べます。初期表示で見えなかった場合でも、全体表示や視点の調整によって形状が現れるなら、サムネイル用の視点設定だけに問題がある可能性があります。

既知の寸法も確認します。現場内の基準となる長さを測り、実寸と一致するかを確かめます。単位の解釈が違っている場合、形状の見た目は同じでも、計測値は大きく異なります。

色や材質を利用する場合は、それらが正しく反映されているかも確認します。画像参照を外してサムネイルを表示できるようにした場合、必要な色情報が失われている可能性があります。形状だけで十分なのか、色も業務判断に必要なのかを明確にします。

元点群、処理後の点群、点要素のOBJ、メッシュ化したOBJ、軽量化した閲覧用OBJは、それぞれ用途が異なります。サムネイルが表示できた閲覧用データだけを残すのではなく、再処理や精度確認ができる元データも保管します。

検証で点要素の追加、座標移動、面の再生成を行った場合は、処理内容を記録します。誰が、いつ、どのデータを基に、どのような条件で作成したのかが分かれば、後から表示結果や計測値に疑問が生じたときに確認できます。

点群OBJを複数人で共有する場合は、ファイル名だけで用途を判断しない運用も重要です。元データなのか、閲覧用なのか、座標移動済みなのか、軽量化済みなのかを管理情報として明確にします。見た目が似ているデータを取り違えると、誤った座標や精度で作業を進めるおそれがあります。

LRTK Phoneで取得したデータを活用する場合も、取得時の情報を保持したデータと、共有や閲覧に適した派生データを分けて管理することが大切です。サムネイル表示の有無だけで品質を判断せず、座標、寸法、形状、必要な属性が用途に合っているかを確認してください。

まとめ

点群OBJアップロード後にサムネイルが出ない主な原因は、点だけで構成され面情報が含まれていないこと、OBJや関連ファイルの記述に不整合があること、データ量が多く変換処理が完了していないこと、座標やスケールが表示範囲から外れていることの四つです。

点のみのOBJを確認するときは、頂点を定義するv行だけでなく、点要素を表すp行の有無も確認します。v行だけでp行もf行もない場合は、頂点が描画要素として参照されていない可能性があります。p行を持つ点要素のOBJでも、アップロード先のサムネイル生成機能が点描画に対応していなければ、空白になることがあります。

点要素に対応していない場合は、元点群を残したうえで、利用環境が対応する点群形式を選ぶか、概形確認用のメッシュを別に作成します。ただし、メッシュ化によって穴が埋まったり、本来つながっていない部分に面が作られたりする可能性があるため、閲覧用データと計測用データを分けて管理します。

面が含まれていても、存在しない頂点番号の参照、異常な座標値、改行の崩れ、実装が対応していない記述などがあると、解析が途中で止まる可能性があります。材質ファイルや画像を使用している場合は、ファイル名、拡張子、配置、参照記述を確認します。

大容量のOBJでは、アップロード完了後もサムネイル用の変換が続いている場合があります。すぐに同じファイルを再登録するのではなく、処理状態を確認し、必要に応じて頂点数、点要素数、面数、画像数、対象範囲を抑えた閲覧用データを作成します。

測量座標のように大きな座標値を持つOBJでは、原点からの距離や外れ点によって、主要な形状がサムネイル上で極端に小さくなることがあります。原点付近へ移動した検証用データと比較すれば、座標位置が原因かを判断しやすくなります。ただし、元データの座標と移動量は必ず保管します。

原因の切り分けでは、描画要素、材質参照、データ量、座標という順に、一つずつ条件を変えて確認することが重要です。複数の修正を同時に行うと、表示できても原因が分からず、同じ問題を再発させる可能性があります。

サムネイルは便利な確認手段ですが、データ品質そのものを保証するものではありません。表示できるようになった後も、本体データを開き、点や形状の欠け、面の向き、縮尺、座標、材質が用途に合っているかを確認してください。

現場で取得した点群をアップロードから共有、閲覧、計測へつなげるには、取得時の元データと用途別の派生データを整理して管理することが大切です。点群OBJの表示だけでなく、現場での計測からデータ活用までの流れを効率化したい場合は、LRTK Phoneを活用した運用も検討してみてください。

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

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