godai-kaihatsu / gondwana

https://gondwana.godai.co.jp/
2 stars 0 forks source link

preview-7: LOD制御の改良; 現行仕様(カメラ注視点高度∝LOD)と旧仕様(カメラ高度∝LOD)のユーザビリティーを考慮し改良と設定GUIの実装 #117

Closed usagi closed 6 years ago

usagi commented 6 years ago

社内のテスターから「地理院タイルを追加してみたところ、高度を変えてもズームレベルが変わらないようなのですが固定なのですか?」と連絡を受けた。詳しい操作や状況は不明なため、一般的な操作状況を想定して検証、必要ならバグとして修正対応する。

usagi commented 6 years ago

これはだいぶまえに、「そもそも多くのユースケースにおいて視点の標高変化によるLOD要らないのでは」と判断し、「LOD変化に伴うリロードや地表面の再生成コストが生じない」方がユーザーにとって理想的な挙動であろうと実装を変更したところ、リリースノートを読み飛ばしたユーザーが過去の挙動と異なる事に気づいただけ、ではないかと思えてきた。

usagi commented 6 years ago

PageUp/PageDownキーあたりで注視点のLODを手動で increment/decrement できるようにしたらみんな幸せになるかね。

usagi commented 6 years ago

G3では誰も on/off して使っていなかったようだが「注視点高度∝LOD」には一応チェックボックスで on/off できる実装がしてあった。G4にも動作を切り替えるフラグ、コンフィグレーション、GUIを追加したらみんなハッピーかもね。

usagi commented 6 years ago

一時的に注視点までの距離を遠ざける程度であまりLODがころころ変化しないで見たい多くのユースケースでは現行の「注視点高度∝LOD」が扱いやすかろうし、大きく場所を移動したり高高度から大雑把に見たいユースケースの人には「カメラ高度∝LOD」が選択的に使えるとよいのだろう。

usagi commented 6 years ago

この機能追加はおそらく2daysかからないだろうから、 4.0.7.1 として対応してみようかな。

usagi commented 6 years ago

メニューGUIは「タイルのLOD設定」とするのがわかりよいだろう。

usagi commented 6 years ago

コンフィグレーションの LOD の下限と上限も合わせて設定可能なGUIとするのがユーザーの便利とわかりやすさによいだろう。

usagi commented 6 years ago

メインメニューに「LODの設定」を追加

image

usagi commented 6 years ago

「地形・地表面のLODの設定」メニュー、とりあえずこんな感じじゃろ

image

usagi commented 6 years ago

選択肢の表現をわかりやすく調整してみた

image

usagi commented 6 years ago

もう少々調整

image

usagi commented 6 years ago

今日はここまでじゃな。翌営業日にはモード切り替えの実装、GUIとの接続をしたいところじゃ。

usagi commented 6 years ago

Type-1 の自動制御、現在は地形の標高で制御しているけれど、ユーザー的には標高ではなく注視点から視点までの距離に比例して欲しいという事ではないか、と気付き。

usagi commented 6 years ago

次のように整理、コンフィグレーション可能にするのが良いのではないか:

usagi commented 6 years ago

と、すると、コンフィグレーションとUIだけでなく、LOD展開中心位置とLOD展開中心自動制御の機能実装のための改修が必要となる。

tasks:

  1. [ ] 「LODの設定」メニューGUIの実装
  2. [ ] LOD展開中心位置の変更機能の実装
    • [ ] 注視点
    • [ ] 視点
  3. [ ] LOD自動制御の変更機能の実装
    • [ ] なし(常にLOD展開中心位置を最高精細度として展開)
    • [ ] 注視点から視点までの距離
    • [ ] 視点の高度

118 の対応が終わるまでは組み合わせによっては動作が不便になる可能性が懸念される。 本チケットの対応時点では 注視点/なし の組み合わせをdefault にして #118 対応時に負荷を見て快適動作するようであれば 視点/注視点から視点までの距離・・

んー・・・

usagi commented 6 years ago

設定の組み合わせとユースケースについて考えてみる。何かおかしいのではないか・・

usagi commented 6 years ago

落ち着いて↑の組み合わせのユースケースの"疑問"を考えた。LOD展開中心位置/LOD自動制御について、

usagi commented 6 years ago

ここを無意味な組み合わせも含めてユーザーに自由に選択可能とすると、おそらく多くのユーザーは「こむずかしいわけわからん設定、知らんがな」となり、実装してあるのに「xxをxxしたいのですができませんか」などの質問が発生するか、あるいはそもそも理想的な設定ができる可能性にすら気づいてくれなくなる、のではないか。

つまり、有用な組み合わせごとに選択肢を出し、なおかつ、どのようなユースケースに適しているかの一言説明をちょい出しするようなUIにするのがよいのではなかろうか。

usagi commented 6 years ago

そもそもG4のLODシステムは複数地点をLOD中心にできるので、せっかくなのでそのポテンシャルもここで設定できるようにしたらユーザーは happy だろうか。

地物のある場所も中心にする、ということもできるが、ここで設定できるようにしてユーザーは煩雑さを覚えないだろうか?

usagi commented 6 years ago

これでどうじゃ:

image

説明を詰め込みすぎたかのぅ…。

usagi commented 6 years ago

制御方式の Type 文言:

image

usagi commented 6 years ago

コンフィグレーション周りの改修を終え、地形システムをこのコンフィグレーションへ対応し、ユーザーが実行中に設定を切り替えやすくする改修を行っている。明日か、明後日までこの実装作業はかかり、調整期間を踏まえると本件による 4.0.7.1 のリリースは来週月曜に計画するのが良いだろう。

usagi commented 6 years ago

GeoObject をLODに絡めると Type-2 が妙な事になる。そこで Type-2 を「視点と注視点の距離」ではなく「視点から地点への距離」に変更する。

usagi commented 6 years ago

「視野角の考慮」の on/off もGUIに追加した。

image

usagi commented 6 years ago

「視野角を考慮」より「視野角の考慮」の方がユーザーに伝わる表現かもしれない。変えておく。

usagi commented 6 years ago

内部的な注視点、カメラ、任意の地物位置との距離計算などに必要なパラメーターの取得機能の実装追加など行っている。明日には内部実装の追加、調整を終え、GUIと接続した動作試験を行えるだろう。

usagi commented 6 years ago

実装中、カメラ座標の計算手法が当初予定した方法では誤差が非常に大きい事がわかった。G4の実装が現実の地球空間とUE4に最適化した仮想アドレス空間を併用している事に関連する。計算手法を別の実装方法に変更するコストとして+1day必要な見込みとなった。 4.0.7.1 の release 予定を 2018-06-19 へ +1day 遅延する。

usagi commented 6 years ago

LOD展開の一般化にあたり注視点から十分な精度でカメラの地球上の座標を計算する手法を実装した。これにより先週末時点で発生したカメラ関連の計算精度の問題が解消され計画したLOD制御手法の実装継続が可能となった。

usagi commented 6 years ago

実装が完了した。めでたい。現在は動作試験を行っている。

usagi commented 6 years ago

十分な動作試験のため、リリース予定を+1dayして明日も引き続き動作試験を行った上でリリースする事にする。ほんじつはここまで。

usagi commented 6 years ago

LODによる精細化の処理順序が前後して本来意図した精細さが得られない事があるバグがあったので修正している。

usagi commented 6 years ago

おおよそ意図通りに動作するようになっているが、時折「穴」があいてしまうバグが確認されたのでリリースを出さずに調査している。

image

usagi commented 6 years ago

穴問題を直した。

image

usagi commented 6 years ago

発見したバグの対応は終わったが、わたしの業務時間も終わってしまったため今日はここまで。明日はリリース作業を行える。

usagi commented 6 years ago

release 4.0.7.1 with the issue. https://gondwana.hatenablog.jp/entry/2018/06/21/132435