5-7 摄像机控制 调整层级结构
在上一章中,我们对HexMesh.cs
脚本中的代码进行了优化。现在我们能创建尺寸更大的地图了,但是摄像机依然只显示了几个地图单元的范围,这导致在游戏运行时我们没办法编辑摄像机事业之外的地图单元。为了能看清整各地图的全貌,那就需要摄像机有移动、旋转和焦距变化的功能,在接下来的章节中,我们步来实现。
现在我们需要对摄像机的层级结构做出一些调整,新建一个空对象命名为Hex Map Camera
,重置它的transform
组件。为其新建一个子对象并命名为Swivel
,然后在Swivel
下创建一个子对象Stick
。把主相机设置为Stick
的子物体,然后重置其transform
组件。如下图所示:
Swivel的控制摄像机看向的角度,把它的Rotation
默认设置为(45, 0, 0)
。Stick则是用来控制摄像机的远近,设置Position
默认坐标为(0, 0, -45)
。
接下来我们需要一个脚本来控制这个组合装置,在根节点添加这个脚本并添加Swivel和Stick的引用。代码如下:
1 | using UnityEngine; |
这样我们就完成了摄像机层级的设置和创建脚本的准备工作了。在下一章中我们将添加调整摄像机视距的功能。