1.Unity摄像机之焦距某点缩放
Unity摄像机之焦距某点缩放
在游戏开发中,码分细致观察某些对象是码分必要的。通常,码分我们可以通过鼠标滑动来达到这一目的码分。在Scene面板中,码分BufPay码支付源码我们可以直观地看到这一过程。码分蠕虫病毒源码分析然而,码分当我们观察到鼠标距离越远,码分消失或生成的码分速度越快时,且摄像机中心点与鼠标的码分Viewport距离始终不变,会发现实现这一功能相对复杂。码分因此,码分我上网寻找相关源码,码分windowsxp的源码下载发现只有UI上的码分放大方法是通过改变锚点实现的。但在非UI场景中,码分如何实现这一功能呢?
首先,我将Camera设置为Orthographic模式,canopen源码下载地址因此需要通过改变Size来实现缩放效果。
其中,Size的值等于
我是通过横向来确定Size的,如图,上证市盈率指标源码一个小格子占个像素,因此
缩小时,Size值增大;相反,放大时Size值减少。下面简单解释一下原理。
假设相机在最左下点,鼠标点在中心点,其他如下:
size:放大后的orthographicSize(已知)
oldSize:放大前的orthographicSize(已知)
mousePos:鼠标位置的世界坐标 = Camera.ScreenToWorldPoint(Input.mousePosition)(已知)
pos:放大前Camera位置坐标 = Camera.transform.position(已知)
newPos:放大后Camera位置坐标
因此,得到以下公式
由于其他条件已知,因此可以求出对应的newPos
主要源码如下:
其中,使用了Dotween插件以实现平滑移动的效果。
2024-12-29 00:30
2024-12-29 00:22
2024-12-28 23:58
2024-12-28 23:50
2024-12-28 23:01
2024-12-28 22:54
2024-12-28 22:26
2024-12-28 22:13