首页 > 解决方案 > 非线性正交缩放

问题描述

简介:我在 Unity 中有一个关卡,并且在正交投影中将相机设置为自上而下的视图。我想在 [100, 2000] 单位的正交大小范围内使用带有触摸输入的捏合手势放大/缩小。

问题:我对此有 2 个解决方案,但我并不满意。

一种是具有线性单位数量的缩放,正交尺寸越大(缩小)缩小越慢。如果我放大,放大会更快。触摸输入感觉不好也不直观。

另一种是非线性解决方案,工作正常,但不是很精确,并且有很多放大和缩小,它总是放大而不是缩小。

//Solution Liniear
camera.orthographicSize += deltaZoom;

//Solution Non-Liniear (scales with orthographic size)
deltaZoom *= (camera.orthographicSize / 100);
camera.orthographicSize += deltaZoom;

问题:有什么数学解决方案,所以当正交尺寸较小时相机变焦较慢,而当正交尺寸较大时变焦较快?我也希望它精确,就像我用手指捏合缩放一样,它会精确地放大单位数量。

标签: c#unity3dcameratouchzooming

解决方案


推荐阅读