Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

要件を整理する #5

Open
Cj-bc opened this issue Aug 12, 2024 · 3 comments
Open

要件を整理する #5

Cj-bc opened this issue Aug 12, 2024 · 3 comments

Comments

@Cj-bc
Copy link
Owner

Cj-bc commented Aug 12, 2024

  • デバッグに使いたい
  • Transform等をいじりたい
  • XR Interactive Toolkitでも Meta XR Core SDKでも動かしたい
  • Undoしたい
  • 1セッション中の変更を外部に書き出せるようにしたい(& Editor側で反映させたい)
  • 1セッション中の変更を永続化・初期化出来るようにしたい
@Cj-bc
Copy link
Owner Author

Cj-bc commented Sep 1, 2024

具体的に:

達成したいこと

  • 色の調節をしたい
  • 位置の調節をしたい
  • 任意のVector3型のメンバーの調整をしたい
  • gameObjectのactive状態を見たい
  • 任意のメゾットを呼びたい
  • なんらかの手段でUnity Editor側に値を保存したい
  • 任意のc# オブジェクトを編集出来る(将来的に)
  • Plug'n'Play
    • Prefabを一つ足すと使える
    • そのPrefabを取り除くと完全に削除される
    • なるべく外部依存は少なくしたい
  • Undo/Redo
  • XR Interaction Toolkit/Meta XR Core SDK対応

non-goal

  • ランタイム上で物を作る
  • 時間の操作

@Cj-bc
Copy link
Owner Author

Cj-bc commented Sep 1, 2024

根本の設計に関係する部分から考える。

XR Interaction Toolkit/Meta XR Core SDK対応

入れ替えを容易にしたい。インタラクション周りの機能の差し替え。

  • Onion Architecture
  • Clean Architecture

Undo/Redoしたい

「何の操作を」「いつ」「何にしたか」を覚えておく必要がある。
又、アプリケーション側の制御によって値が変わることも念頭におく必要がある。つまり、「ユーザーがGameObject Aの位置をワールド座標αに移動したが、アプリケーションがAをβに移動した」などが考えられる。この時にUndoするとしたら、どういう状態に復元するべきか?

Command Pattern

なんらかの手段でUnity Editor側に値を保存したい

  • リアルタイムにEditorと通信し、反映する
  • ローカルに一旦保存して、それを手動で反映する

@Cj-bc
Copy link
Owner Author

Cj-bc commented Sep 2, 2024

いくつかの要件を満たすために、拡張性・疎結合性は高める必要がある。それを前提とし、「根本の設計に関わるもの」と「後に追加拡張という形で実装が可能なもの」を切り分けたい。かつ、後者は一旦後に回して前者の設計を先に考えることにしたい。

根本の設計に関わるもの

  • Undo/Redo
  • XR Interaction Toolkit/Meta XR Core SDKの切り替え
  • Plug'n'Play

拡張機能でできそうなもの

  • 値の保存・外部送信
  • {Transform,Vector,Colour}の編集

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant