简介
最近需要实现一个从地图界面往场景中添加模型这样的一类功能,涉及到一些地图界面功能的实现。本篇先介绍一下地图界面拖动和放缩的功能。
地图界面功能的实现方案有两种:
- 直接用一个相机从上往下照,把拍到的地图作为地图界面;
- 按照地图制作出一张图片,然后把这个图片作为地图界面。
考虑到需要实现添加模型的功能,需要实时显示出模型当前的位置姿态,所以用第二种方法不太合适,这里采用第一种方案。
目录
步骤
配置相机
创建一个名为 MapCamera 的相机,将它姿态调整为俯视地图,并且把投影方式设置为“正交”(这样就不会产生近大远小的效应)。
摄像机的高度可以尽量高一点,大小那里可以适当调整,这里调整为 20。
放缩和拖动画面
这部分功能需要使用脚本实现,创建一个名为MapCameraController.cs的脚本,可以挂载到MapCamera上。
画面放缩
通过鼠标滚轮的放缩实现,因此需要获取鼠标滚轮的数值:
float scroll = Input.GetAxis("Mouse ScrollWheel");
画面的放大和缩小,是通过修改正交相机的“视口大小”属性实现的,即 mapCamera.orthographicSize。
将获取的鼠标滚轮数值 scroll 用于修改视口大小的值即可,最后别忘了限制视口大小的范围。
i