Unity中地图界面功能的实现

简介

最近需要实现一个从地图界面往场景中添加模型这样的一类功能,涉及到一些地图界面功能的实现。本篇先介绍一下地图界面拖动和放缩的功能。

地图界面功能的实现方案有两种:

  • 直接用一个相机从上往下照,把拍到的地图作为地图界面;
  • 按照地图制作出一张图片,然后把这个图片作为地图界面。

考虑到需要实现添加模型的功能,需要实时显示出模型当前的位置姿态,所以用第二种方法不太合适,这里采用第一种方案。

目录

简介

目录

步骤

配置相机

放缩和拖动画面

画面放缩

画面拖动

整体代码


步骤

配置相机

创建一个名为 MapCamera 的相机,将它姿态调整为俯视地图,并且把投影方式设置为“正交”(这样就不会产生近大远小的效应)。

摄像机的高度可以尽量高一点,大小那里可以适当调整,这里调整为 20。

放缩和拖动画面

这部分功能需要使用脚本实现,创建一个名为MapCameraController.cs的脚本,可以挂载到MapCamera上。

画面放缩

通过鼠标滚轮的放缩实现,因此需要获取鼠标滚轮的数值:

float scroll = Input.GetAxis("Mouse ScrollWheel");

画面的放大和缩小,是通过修改正交相机的“视口大小”属性实现的,即 mapCamera.orthographicSize。

将获取的鼠标滚轮数值 scroll 用于修改视口大小的值即可,最后别忘了限制视口大小的范围。

i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值