Unity 相机固定点缩放
介绍
部落冲突这款游戏中可以使用双指缩放地图,在缩放时会以双指中心点进行缩放。
实际项目中如何在 2D 相机与 3D 相机中实现此效果?
分析
修改 2D 相机的 OrthoganalSize 与 3D 相机的 FOV 只会沿着屏幕中心缩放,其实如果想要实现指定点的缩放,可以在缩放后移动回原来的位置就可以模拟在指定点缩放的效果。
桌面平台使用鼠标位置,移动平台使用双指中间点位置,处理方式是一样的。
代码
2D
|
|
3D
|
|
Demo
有两个示例:CameraZoom2D 与 CameraZoom3D,在 Unity 2019.4.32f1 下测试通过。
注意
Unity - Scripting API: Camera.ScreenToWorldPoint API 会受浮点精度影响,具体表现为相机的世界坐标值绝对值过大时,缩放或移动时会抖动,有两种方式:
- 建议修改设计方案,将相机移回原点附近,这是最合理的方案,可以规避浮点数造成的其他问题
- 手动进行坐标系转换,去除浮点数影响。
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/37693.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论