摄像机视角的切换
- 前言
- 一、场景搭建
- 二、脚本编辑
- 三、脚本挂载
- 四、运行效果
- 结语
前言
我们在游戏中经常可以看到游戏视角的切换,今天我们就做一个视角切换的小demo,学会之后可以将其融入到自己的游戏制作当中。
话不多说,我们现在开始!
一、场景搭建
首先要有一个场景,先创建四个正方体,组成图中的样子。
这里教大家一个小工具:
当选中物体要进行移动的时候,按住V
键;
然后挪动鼠标可以发现坐标中间有一个小方框,而且还可以吸附到指定的位点;
在按住V
键不松手的同时点击鼠标左键进行拖动物体到指定位置,也可以吸附到指定的点位。这样就不用自己一点一点的调整位置了。
几何体完成之后要创建相机,除Main Camera
之外再创建两个相机:Top Camera
和Left Camera
两个相机,并移动到合适的位置。
其中,Top Camera
和Left Camera
两个相机中的Projection
属性需要更改为Orthographic
正交视图,Size
可以自行调整到合适大小
差不多效果就是这个样子就完成了:
二、脚本编辑
在Script文件夹下,创建一个脚本文件CameraSwitcher
然后打开文件键入以下代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraSwitcher : MonoBehaviour
{
public Camera[] cameras;
private int currentCameraIndex = 0;
void Start()
{
// 禁用除了当前相机之外的所有相机
for (int i = 0; i < cameras.Length; i++)
{
cameras[i].gameObject.SetActive(i == currentCameraIndex);
}
}
// Update is called once per frame
void Update()
{
// 检测用户输入来切换相机
if (Input.GetKeyDown(KeyCode.V))
{
// 禁用当前相机
cameras[currentCameraIndex].gameObject.SetActive(false);
// 增加索引来切换到下一个相机
currentCameraIndex = (currentCameraIndex + 1) % cameras.Length;
// 启用新的相机
cameras[currentCameraIndex].gameObject.SetActive(true);
}
}
}
三、脚本挂载
代码编辑完成之后,将其挂载到Cubes
上,然后在其Inspector监视窗口添加相机
四、运行效果
上述完成之后就可以运行查看效果了,运行后按V
键切换视角。
结语
这个小demo就完成了,是不是做起来很简单,有什么问题可以评论区或者私信告诉我,另外可以尝试丰富它或者应用到自己制作的游戏项目中,下期见,拜拜!