要阻止摄像机显示地图之外的任何内容,你需要使用 Cinemachine Confiner 定义一些边界。
要添加 Cinemachine Confiner,请转到 Virtual Camera Inspector 的底部,单击 Add Extension 下拉选单,然后选择 CinemachineConfiner:
新添加的组件将显示一条警告,因此需要提供一个 Collider 2D 以用作边界。Confiner 可以使用 Composite Collider 2D 或 Polygon Collider 2D。
让我们将一个 Polygon Collider 2D 添加到场景中:
1.单击 Hierarchy 右上角的Create 按钮并选择 Create Empty 来创建一个新的游戏对象。
2.选择这个新的游戏对象,然后将其重命名为 CameraConfiner(在 Windows 上按 F2 或在 Mac 上按 Return,选中后再次单击,或使用 Inspector 顶部的框)。
3. 单击 Add Component 按钮,搜索 Polygon Collider 2D 并添加该组件。
4.在 Polygon Collider 2D 上,单击 Edit Collider 旁的按钮,然后移动各个点以将这些点放在每个角的水中央。可以在拖动时按 Delete 键来删除某个点(例如五边形上最顶端的点)。
5.在每个角都有一个点后,再次单击 Edit Collider 旁边的按钮。
注意:请使用结尾处的点设置将值取整,确保边框是直线。不进行此设置,Confiner 也能工作,但进行此设置后会更平整。
然后回到 vcam1 并将该游戏对象分配给 CinemachineConfiner 上的 Bounding Shape 2D 属性:
现在,如果尝试单击 Play 来运行游戏,你的角色将从屏幕上消失。如果在 Scene 视图中查看,就会看到角色被推到了世界之外。因为世界现在位于大型碰撞体内,所以物理系统会直接将你的角色推出去。