Unity-摄像机跟随并设置摄像机边界-Cinemachine

Unity-摄像机跟随并设置摄像机边界-Cinemachine

一、创建相机并跟随

在Package Manager里找到,然后添加进项目里
请添加图片描述

然后选择你需要的相机

请添加图片描述

加入你需要跟随的对象

请添加图片描述

调整摄像机大小

请添加图片描述

二、设置相机边界

1.添加Cinemachine Confiner相机(2D 3D皆用此项)

请添加图片描述

2.在场景里创建一个空物体,并添加Polygon Collider 2D组件

注意:一定要勾选is Trigger

请添加图片描述
3.创建脚本,添加到相机上
请添加图片描述

using Cinemachine;//使用库
using UnityEngine;

public class SwitchBounds : MonoBehaviour
{
    private void Start()
    {
        SwitchConfinerShape();
    }

    private void SwitchConfinerShape()
    {
        //寻找bounds,获取其身上的组件
        PolygonCollider2D confinerShape = GameObject.FindGameObjectWithTag("Bounds").GetComponent<PolygonCollider2D>();
        //获取自身组件
        CinemachineConfiner confiner = GetComponent<CinemachineConfiner>();
        //赋值
        confiner.m_BoundingShape2D = confinerShape;

        confiner.InvalidatePathCache();
    }
}

4.给bounds新建一个标签Tag,并选择
请添加图片描述

### 回答1: 在Unity中,你可以使用OnGUI函数在摄像机上绘制矩形。首先,在摄像机上创建一个脚本,然后在脚本中添加OnGUI函数。在OnGUI函数中,你可以使用GUI.DrawTexture函数绘制矩形。 下面是一个示例代码: ```c# using UnityEngine; public class DrawRectOnCamera : MonoBehaviour { public Texture2D rectTexture; public Rect rectToDraw; void OnGUI() { GUI.DrawTexture(rectToDraw, rectTexture); } } ``` 在上面的示例中,我们首先定义了一个Texture2D对象和一个Rect对象,分别表示要绘制的矩形的纹理和位置。然后在OnGUI函数中,我们使用GUI.DrawTexture函数绘制矩形。 请注意,OnGUI函数只能在摄像机上使用,因为它需要在摄像机上绘制GUI元素。如果你想在场景中绘制矩形,可以使用其他方法,如在场景中创建一个空对象在其上添加一个脚本,在脚本中使用Graphics.DrawTexture函数绘制矩形。 ### 回答2: 在Unity中,可以通过以下几个步骤在摄像机上绘制矩形: 1. 创建一个空的游戏对象,命名为“Rectangle”或其他你喜欢的名称。 2. 将游戏对象的位置设置摄像机的位置或在适当的位置上。 3. 添加一个新的脚本组件到游戏对象上,命名为“DrawRectangle”或其他你喜欢的名称。 4. 在DrawRectangle脚本中,定义一个矩形的宽度和高度变量,设置一个颜色变量来表示矩形的颜色。 5. 在OnDrawGizmosSelected函数中,使用Gizmos.DrawWireCube方法来绘制矩形。将摄像机的位置作为矩形的中心点,矩形的宽度和高度作为参数传递给该方法。 6. 在OnDrawGizmosSelected函数中,使用Gizmos.color方法将矩形的颜色设置为预设的颜色变量。 7. 保存和运行脚本,然后在Unity编辑器中选择摄像机对象。 8. 在场景或游戏视图中,你将看到在摄像机上以矩形形式绘制的辅助线框。 这样,你就成功地在Unity中的摄像机上绘制了一个矩形。你可以根据自己的需要调整矩形的位置和大小,以及颜色等属性。请注意,这种绘制只是用于帮助你在编辑器中可视化矩形的位置和尺寸,不会直接显示在游戏运行时。如果需要在游戏运行时显示矩形,可以使用其他方法来实现,例如创建一个矩形的纹理将其渲染到屏幕上。 ### 回答3: 在Unity中,我们可以通过在摄像机上添加一个辅助脚本来绘制矩形。 首先,在Unity编辑器中为主摄像机创建一个空物体作为辅助脚本的父物体。 然后,创建一个新的C#脚本,将其命名为"RectDrawer",将其附加到主摄像机所在的父物体上。 在RectDrawer脚本中,我们需要定义一个矩形的位置、大小和颜色等属性。我们可以使用OnDrawGizmosSelected函数来绘制矩形,使其只在选择摄像机时可见。 ```c# using UnityEngine; public class RectDrawer : MonoBehaviour { public Vector2 position; public Vector2 size; public Color color = Color.red; private void OnDrawGizmosSelected() { // 绘制矩形边框 Gizmos.color = color; Gizmos.DrawWireCube(transform.position + (Vector3)position, (Vector3)size); } } ``` 在Unity编辑器中,我们可以为辅助脚本中的矩形属性指定位置、大小和颜色等,摄像机选中时即可看到绘制的矩形。 请注意,这个矩形只在编辑器中可见,不会在游戏运行时显示。如果需要在游戏运行时显示矩形,可以将绘制矩形的逻辑添加到摄像机渲染的过程中,使用定点和线段绘制矩形的顶点和边。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值