スプライト上を滑らかにカメラを動かす
下記の要件でカメラを動かしたいな、と思ってやってみた。
・マウス、タッチでカメラを移動
・カメラの移動範囲は、スプライト外が写り込まない範囲
・さっと動かして離すと、慣性でちょっと動く
・画面まで行くと、ちょっと押し戻される
・マウスホイール、ピンチ操作で拡縮
・拡縮も、慣性でちょっと動く
簡単に言えばキャンクラのマップでの操作をやりたい、って感じかな。
以前、実装してみた時よりかは幾分シンプルには実装できたかな。
多少工夫した点
・ドラッグ操作中は、カメラ位置だけでなくRigidBody2D.velocityも同時に更新した。
こうするとわりといい感じに動くようになった気がする。
前者だけだとパッと離した際に動かないし、後者だけだと動かし始めがもっさりする。
・orthographicSizeの更新に使う値用に、RigidBody2Dを使った。
滑らかに減衰する式とか考えるのが面倒なので、x成分だけを使うサンプリング用のRigidBody2Dを作って、それを動かしてx成分をサンプリングした。