先上效果图:
把缩放和旋转分开说吧
缩放:
原理很简单:
1.先保存相机与玩家的的位置偏移offset
2.获取用户输入(滚轮)
3.将滚轮输入乘一个合理的系数,也可以称为缩放速度啦
4.将offset数值更新
ps:第四步用到了vector3.normalized,首先获取到offset的单位向量,再将它放大
pps:可以使用vector3.magnitude获取偏移向量offset的模(向量长度),通过模来限制最大缩放和最小缩放
void ScrollView()
{
//限制最大缩放
if (Input.GetAxis("Mouse ScrollWheel") < 0 && offsetPlayerPos.magnitude < maxScroll)
{
//获取偏移量的模
distance = offsetPlayerPos.magnitude;
distance += System.Math.Abs(Input.GetAxis("Mouse ScrollWheel")) * scrollSpeed;
//通过获得单位向量*新的偏移模更新偏移信息
offsetPlayerPos = offsetPlayerPos.normalized * distance;
}
//限制最小缩放
if (Input.GetAxis("Mouse ScrollWheel") > 0 && offsetPlayerPos.magnitude > minScroll)
{
//获取偏移量的模
distance = offsetPlayerPos.magnitude;
distance += -System.Math.Abs(Input.GetAxis("Mouse