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

アプリケーションによる上書きとの調整 #7

Open
Cj-bc opened this issue Sep 2, 2024 · 1 comment
Open

アプリケーションによる上書きとの調整 #7

Cj-bc opened this issue Sep 2, 2024 · 1 comment

Comments

@Cj-bc
Copy link
Owner

Cj-bc commented Sep 2, 2024

アプリケーション側のコードで座標を移動する、とかしてると、ツール側で動かした値がすぐ上書きされてしまう。

解決策

値の設定モードを複数用意する

この問題に関しては、

  • アプリケーションによる変更を優先して欲しいとき
  • アプリケーションによる変更を抑制したいとき
  • 値を相対的なものとして保持したいとき

の3パターンが存在すると考えられる。

アプリケーションによる変更を優先したければ、何もせず直で上書きすれば良い。

変更を抑制したいときは、Driverコンポーネントを用意し、値を書き換えるときにアタッチする。LateUpdateで強制上書きする。但し、当たり前だがこれはLateUpdateで更新される値では動作が保証されない。

相対的にずらしたい場合、Driverの亜種としてOffsetDriverとかあっても良さそう。

メリット

  • 実装が簡易

デメリット

  • コンポーネントが増える事に問題がある際は使えない
  • 「値を毎フレーム書き換えられているもの」に関しては、値を変更するときにグリッチが発生しそう
@Cj-bc
Copy link
Owner Author

Cj-bc commented Sep 2, 2024

PlayerLoopを新しく増やして対応もできる…かもしれない…?
UniTaskのことを考えると、多分UnityのAPIも叩けるはず。(要調査)

ただ、これをすると結構ごちゃつく可能性もあるからなるたけ慎重にしたい。UniTaskの範囲でも十分かもしれないし

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