見る・歩く
ナビゲーションモード
ツールレール 🧭 ナビ で切り替えます(コマンド: setNavMode)。
| オービット | フライ | |
|---|---|---|
| 左ドラッグ | 回転(注視点まわり) | 視線を振る |
Shift + 左 / 右 / 中 | パン | — |
| ホイール | ズーム(注視点へ) | 前後移動 |
W A S D | — | 移動 |
Space / Ctrl | — | 上下 |
Shift | — | 加速 |
| ダブルクリック | その点へ寄る | その点へ寄る |
Space + ドラッグ | 一時パン | (前後移動と競合するため無効) |
オービットは全体を眺めて構造を把握する用、フライは桁下や支承のような 狭いところへ潜り込む用です。フライには移動の制限がありません。
⇧1 で俯瞰ホームビューへ戻り(home)、 ⇧2 で選択範囲にズームします(zoomToSelection)。
決まった方向から見る
lookAlong は、データ全体を指定した方向から見ます。 axis はカメラを置く方向、つまり「どちらから見るか」です。
oniyanma.execute('lookAlong', { axis: [0, 0, 1] }) // 真上から見下ろす
oniyanma.execute('lookAlong', { axis: [1, 0, 0] }) // +X 側から正確な位置を指定するなら setCameraReal で カメラ位置と注視点を実座標 (m) で渡します。現在位置は getCamera で取れます。
断面
ツールレール ▤ 断面。軸(X / Y / Z)・位置・厚みのスライダで、 整列フレームの軸並行スラブに表示を切り取ります。 位置と厚みはどちらも 0〜1 の相対値で、データ全体の範囲に対する割合です。
床版下面のひび割れを見るときのように、手前の構造物が邪魔になる場面で使います。 点が消えるわけではないので、選択・計測・書き出しの対象は変わりません。
コマンドは setSection、解除は { on: false } です。
見え方
ツールレール 🎨 表示。
| 項目 | 内容 | コマンド |
|---|---|---|
| カラー | RGB / 反射強度 / 標高 / 分類 | setColorMode |
| 点サイズ | 0.5〜8 px(距離に応じて減衰) | setPointSize |
| EDL 陰影 | 0〜2。0 でオフ | setEdl |
| グリッド / 軸 | 表示切替 | setGrid |
| 点数バジェット | 常駐させる点数の上限 | setBudget |
| 描画エンジン | WebGL / WebGPU | setBackend |
標高カラーは、水面下のノイズのような外れ値に引きずられないよう、 パーセンタイルでレンジを取ってから Turbo に割り当てています。全体が単色になりません。
EDL は点群の凹凸を陰影で強調する手法です。RGB のない点群や、 ひび割れの縁を見たいときに効きます。
描画エンジン
既定は WebGPU で、実行時に WebGL へ切り替えられます。ジオメトリはバックエンド非依存で共有し、 属性は両対応のため Float32 に統一しています。WebGPU バックエンドは動的 import なので、 切り替えたときだけ読み込まれます。
点の形は WebGPU 側では四角です(円形の discard は PointsNodeMaterial の仕様差で見送り)。 WebGL 側は端末によって円形と四角を使い分けます(下記)。
端末別の描画予算
点群は overdraw が極端で、まずフラグメント(塗り)帯域を使い切ります。 iPad / iPhone の GPU はここが PC の dGPU より桁で小さいため、既定値を落としています。
判定は「タッチ点数 > 1」です。iPadOS の Safari は Mac の UA を送るので、 UA だけでは PC と区別できません。
| デスクトップ | モバイル | |
|---|---|---|
| 描画バッファ倍率の上限 | 1.5 | 1.0 |
| 点数バジェット(既定) | 3.5 M | 1.2 M |
| 常駐点数の下限キャップ | 6 M | 2.5 M |
| 復号ワーカー数 | 最大 6 | 最大 3 |
| アップロード / フレーム | 40 万点 | 20 万点 |
| アップロード待ちキューの上限 | 150 万点 | 60 万点 |
| 点の形(WebGL) | 円形 | 四角 |
モバイルで点を四角にするのは、discard が Apple GPU(TBDR)の隠面消去を無効化し、 隠れた点までシェーディングさせてしまうためです。
アップロード待ちキューに上限があるのは、カメラが動き続けると 「デコードは進むがアップロードが追いつかない」状態が続き、 上限が無いと 1 ノード数 MB の配列が積み上がるためです (iPad Safari では 1 分ほどでタブが落ち、利用者には「突然リロードされた」としか見えません)。 溢れた分は古いものから捨て、再要求できるよう pending に戻します。
点数バジェットと EDL は表示パネルから手動で上書きできます。 自動判定そのものを上書きしたい場合は ?quality=high|low を付けてください (iPad では devtools が使えず設定を試し比べられないため、実機 A/B 用に残してあります)。
ホーム画面に追加する(iPad)
iPad で使うなら、Safari の**共有ボタン → 「ホーム画面に追加」**を勧めます。 タブバーとアドレスバーが消えて全画面になるので、点群に使える縦がその分広がります。 アイコンから開いた後は通常の Safari と同じで、追加の設定は要りません。
オフラインでは動きません
ホーム画面に追加しても、動くのは通常の Safari と同じ範囲です。点群は COPC を byte-range で少しずつ取りに行くので、電波が無い場所では表示できません。
全画面ではアドレスバーが無いため、URL を見てコピーすることができません。 同じルームに人を呼ぶときは、ツールレール 👥 共有 の**「招待リンク」**を押してください (→ 共同編集)。