unity相机跟踪,视野范围控制

unity相机跟踪

  1. 要想让相机跟踪,那么必须要进行初始的偏移量的设置,因为你的相机初始时就和物体保持了距离,那么只需要让之后的物体位置+初始的偏移位置,得到的就是相机的位置
    看注释
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MainCamera : MonoBehaviour
{
	//要跟踪的物体
    public Transform player1Transform;
    //偏移量,类型是Vector3
    private Vector3 offset;

    // Start is called before the first frame update
    void Start()
    {
    	//获得偏移量,因为本脚本加在camera上,不需要在获取camera gameobject
        offset = transform.position - player1Transform.position;
    }

    // Update is called once per frame
    void Update()
    {
    	//设置即可
        transform.position = offset + player1Transform.position;
    }
}

让视野变大或者变小

不需要进行camera的y轴上的上升,camera不同模式下都有视野大小的选择项
如在透视矩阵中Projection选项为perspective,透视矩阵模式下,有Field of View选项,可以控制视野的大小,ProjectionOrthographic正交矩阵模式下,有size选项可以控制视野范围,如下图所示
在这里插入图片描述
在这里插入图片描述

代码上也很好控制,这里以透视矩阵情况下举例,正交模式雷同
看注释

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MainCamera : MonoBehaviour
{
    public Transform player1Transform;

	//相机
    private Camera _mCamera;

    private Vector3 offset;

    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position - player1Transform.position;
        //得到相机
        _mCamera = GetComponent<Camera>();
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = offset + player1Transform.position;
        //进行视野的设置,让物体走动时,视野变大,2.1145只是自己随便设的变大倍数,也可以直接设置数值。
        _mCamera.fieldOfView = player1Transform.position * 2.1145f;
    }
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity相机控制是指在Unity游戏引擎中,对游戏场景中的摄像机进行控制和设置的功能。相机控制可以通过编写C#脚本来实现。 在Unity中,通过C#编写脚本可以实现对相机的位置、旋转和缩放等属性的控制。可以使用Transform组件的方法来实现这些控制,例如使用Translate方法来移动相机的位置,使用Rotate方法来旋转相机的角度,使用Scale方法来缩放相机的大小。 除了基本的位置、旋转和缩放控制Unity还提供了其他功能丰富的相机控制选项。例如,可以设置相机的投影方式,可以使用透视投影或正交投影来呈现不同的视觉效果。可以设置相机的裁剪面,通过设置近裁剪面和远裁剪面的距离,控制场景中的可见范围Unity还提供了一些相机运动效果的预设,例如平滑跟随目标物体、旋转围绕目标物体、观察目标物体等。通过调用相应的函数或方法,可以实现这些相机运动效果。 除了基本的相机控制Unity还支持对多个相机进行设置和管理。可以通过设置相机的渲染顺序,实现多个相机在场景中的渲染效果。还可以通过在场景中放置不同的视角相机,实现多角度观察场景。 总结来说,通过使用C#脚本编写代码,可以实现在Unity中对相机的位置、旋转、缩放等属性进行控制,还可以实现一些相机运动效果和多相机管理等功能。这样可以为游戏场景创造出更多丰富和独特的视觉效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值