Skip to content
Go back

カメラズームのメモ

· Updated:
float zoom = ...;  // ズーム倍率
float2 camera_pos = ...;  // カメラ位置(左上)
float2 camera_target = ...;  // カメラ注視点

const float2 camera_center = camera_target - camera_pos;
const float2 camera_offset = camera_center - (camera_center * zoom);  // スケーリングの中心を注視点に持って行ったときのオフセット

const float2 zoomed_camera_pos = camera_pos + camera_offset;  // ズーム後のカメラ位置
  • 拡大縮小は左上を中心にして行われるが、ズームは注視点を中心に行う
  • 合ってる?