简介:我在Unity中有一个关卡,并且相机已设置为正交投影的自顶向下视图。我想以正字大小为[100,2000]单位的范围内的带触摸输入的捏合手势来放大/缩小。
问题:我对此有2个解决方案,令我不满意。
一个是具有线性单位数量的缩放,正交大小越大(缩小),则缩小得越慢。如果放大了,缩放速度会更快。触摸输入时感觉不佳且直观。
另一个是可以正常工作的非线性解决方案。但是并不是很精确,并且可以进行很多放大和缩小操作。
//Solution Liniear
camera.orthographicSize += deltaZoom;
//Solution Non-Liniear (scales with orthographic size)
deltaZoom *= (camera.orthographicSize / 100);
camera.orthographicSize += deltaZoom;
问题:存在什么数学解决方案,所以当地形图尺寸较小时,相机变焦速度会变慢,而当地形尺寸较小时,相机变焦速度会变快?我还希望它精确,就像我用手指捏放大一样,它可以精确地缩小单位数量。