KASUGAI Canvas v6.17.0

V2: プレゼンテーション機能 — 各機能カードの詳細説明

← 機能と実装へ戻る

V2: プレゼンテーション機能

KASUGAI Canvas 独自に追加した、視点を動かして周囲に共有するプレゼンテーション機能です。

🛩️ Fly モード

ナビゲーションツールバーで Orbit / Fly を切り替えます。Fly モードでは手動操縦か fly_geojson: で定義した経路の自動追従を選択できます。インスペクターに fly_geojson: ルート名 | URL | speed=... | height=... と記述すると Fly パネルのドロップダウンにルートが追加され、ルートを選び直すと読み込みとルート状態をリセットして最初から再開します。

操作はマウスホイール(速度 ±1 km/h)、キー +/-(速度増減)、キー Q/E(高さ補正増減)、walk-help の入力欄(flySpeed km/h・flyHeight m の直接上書き)に対応します。速度は 0 で停止、負でバック(手動はカメラ逆方向、自動はルート逆方向)します。手動・自動で flySpeed/flyHeight を共有するためモード切替時も値が継続します。高さ表示は手動時に「地形高」と「補正」、ルート追従時に「地上高(AGL)」(z + flyHeight)と「補正」を別行で表示します。

ルート座標の基準は「カメラ位置/画面中心」を切り替えられます。自動追従ではカメラは折れ点に到達する前から次の線分方向へ滑らかに旋回します(最後の 100m、または線分長の 30% 以内で旋回開始)。

✏️ ルート描画

Fly パネルの Draw タブを選択すると Orbit モードに切り替わり、描画準備が整います。Draw ボタンで描画を開始し、右クリックで点を追加、右ダブルクリックで終了します。描画したルートは:

  1. ブラウザの IndexedDB に drawn_route_YYYYMMDD_HHMMSS という名前で GeoJSON テキストとして保存(プロジェクト単位)。静的 WEB 公開でも保存でき、フォルダ選択や権限確認は不要です
  2. インスペクターの「保存先フォルダ」を設定している場合は、フォルダ内の .geojson も Fly パス一覧へ読み込みます(File System Access API、Chromium系のみ・読み取り専用)
  3. 保存・読み込んだルートは Fly パネルのルート選択に追加されます。「取込」ボタンで任意の .geojson を IndexedDB へインポートでき、描画ルート選択時は「出力」(.geojson ダウンロード)「削除」ボタンが表示されます

描画ルートの GeoJSON には各点の高さ z を heightReference: "Terrain" として保存し、z はその点の地形からの高さ(AGL)を表します。飛行時の実際のカメラ高さは z + 地形高 + flyHeight で計算します(flyHeight は操作中の補正値で GeoJSON には含まれません)。セグメント内では始点・終点の 3D 位置と地形高を距離に応じて補間し、滑らかな高度変化にします。点を選択して z(AGL)を編集し、保存ボタンで GeoJSON へ書き戻せます。

AI が生成するルート(flyRoute ツール)は heightReference: "MSL" として各点に絶対標高(地形標高+地上高)を焼き込み、飛行時は地形加算を行いません。飛行設定(速度・高度オフセット・ピッチ・ループ・視点)は properties.fly に保存され、リロード後の復元時にも維持されます。速度未指定のルートは総距離から自動プロファイル(80〜2000km/h・地上高50m〜10km)が適用されます。

🎬 Google Earth 風 FlyTo

カメラ移動は Google Earth と同じく「距離に応じた飛行時間+一度ズームアウトしてから降下する弧」を描いて移動します。カメラプリセット・検索結果・属性行クリック・URL ハッシュの座標変更など、あらゆる移動がこの FlyTo 経路を通ります。