且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Unity开发实战》——2.3节在不同摄像机之间切换

更新时间:2022-10-04 19:25:50

本节书摘来自华章社区《Unity开发实战》一书中的第2章,第2.3节在不同摄像机之间切换,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.3 在不同摄像机之间切换
在很多类游戏中,在多个摄像机间切换是很常见的功能,如:竞速游戏、体育游戏、大富翁/策略,还有很多其他的游戏。本节将介绍如何用键盘切换摄像机。

2.3.1 准备工作
示例代码的0423_02_01_02文件夹中有名为 “basicScene”的包是专为本节准备的,包中有一个基本的level。

2.3.2 操作步骤
请按照下面的步骤实现可切换的摄像机:
1)把basicLevel包导入到Unity中。
2)在Project视图中,打开02_01_02文件夹下的basicScene场景,这是一个基础场景,带一个方向光、一个摄像机和一些几何对象。
3)添加两个或更多摄像机到场景中。这可以通过Hierarchy视图顶部的Create下拉菜单,把它们重命名为cam1和cam2。
4)修改cam2摄像机的Position(位置)和Rotation(旋转方向),让它和cam1区分开来。
5)通过GameObject | Create Empty创建一个Empty(空)的游戏对象。然后重命名为Switchboard。
6)在Inspector视图中,禁用cam1和cam2的Camera和Audio Listener组件。


《Unity开发实战》——2.3节在不同摄像机之间切换


《Unity开发实战》——2.3节在不同摄像机之间切换

11)播放场景,测试摄像机。

2.3.3 实现原理
脚本很简单,都是关于如何捕捉按键和分别开启摄像机(以及它的Audio Listener,如果Change Audio Listener选项处于选中状态)的。

2.3.4 更多内容
这里有几个关于如何改变本节内容的想法:
1.只开启一个摄像机
有一种不同的实现方式是禁用所有的副摄像机,并且通过脚本把它们的position和rotation都赋值给主摄像机(***复制一份主摄像机并添加到列表中,以防需要保存transform设置)。

  1. 通过其他事件触发切换摄像机
    也可以用下面的代码从其他游戏对象的脚本切换摄像机:


《Unity开发实战》——2.3节在不同摄像机之间切换