【Unity每日一记】摄像机相关代码API大全

这篇具有很好参考价值的文章主要介绍了【Unity每日一记】摄像机相关代码API大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


👨‍💻个人主页:@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创

👨‍💻 收录于专栏:Unity基础实战

⭐🅰️⭐




⭐前言⭐


🎶(A) 摄像机简单跟随引擎实现


直接作为子对象课实现简单跟随

【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


🎶(B) 摄像机简单跟随API实现


通过向量的加减更新相机位置来保持简单的跟随

public class MoveCamera : MonoBehaviour
{
    public float zoff = 5;
    public float yoff = 6;
    public Transform targetObject; //跟随的目标物体
    private void LateUpdate()
    {
        //向量减去标量
        transform.position = targetObject.transform.position - Vector3.forward * zoff+Vector3.up * yoff;
        transform.LookAt(targetObject);

    }
}
ss

差值位置的实时更新

【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎

 void LateUpdate()
    {
        offset = cube.position - transform.position;
        transform.position +=offset;
           
    }

🎶(C) Lerp差值先快后慢的跟随


【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


🎶(D) 四元数应用的缓慢旋转跟随


【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


  transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(NowRota),
  Time.deltaTime * RoteSpeed);

🎶(E)摄像机的小地图


【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


😶‍🌫️步骤:
1.创建Textrue材质
2.在UI面板上添加Texture的位置控件——选择位置
3.将材质拖拽到camera参数中的 target texture


  • Target Texture 行为渲染
    当中

——————————————【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


🎶摄像机相关综合应用


【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎


😶‍🌫️步骤:

第一步:确定要跟随的位置————物体上方5米处
第二步:确定离目标位置的距离————通过滚轮 的变化更改距离 并且不能超出 限定的范围(2,10)
第三步:确定看向物体的角度 ————角度为45度
第四步:实现缓慢的移动跟随——线性差值
第五步:实现缓慢的旋转跟随 ——四元数差值


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//—————————————————————————————————————
//___________项目:       ______________
//___________功能: 向量在摄像机机移动上的应用
//___________创建者:秩沅_______________
//_____________________________________
//-------------------------------------
public class MoveCamera : MonoBehaviour
{
    //第一步:确定要跟随的位置————物体上方5米处 
    //第二步:确定离目标位置的距离————通过滚轮 的变化更改距离 并且不能超出 限定的范围(2,10)
    //第三步:确定看向物体的角度 ————角度为45度 
    //第四步:实现缓慢的移动跟随
    //第五步:实现缓慢的旋转跟随 
    public Transform target;

    //现在最终跟随的位置
    public Vector3 NowTarget;

    //可更改的视野位置
    public float Angle = 45;      //偏移的角度
    public float ViewDis = 5f;
    public float ScrollSpeed = 1f; //滑轮速度
    public float min = 2f;
    public float max = 10f;

    //跟随对象移动和旋转速度
    public float moveSpeed = 2f;
    public float RoteSpeed = 2f;

    //看向最终的角度
    private Vector3 NowRota;

  
    private void Update()
    {
  //-------鼠标滑轮限制位置距离 ---------

        ViewDis += Input.GetAxis("Mouse ScrollWheel")*ScrollSpeed ;

        ViewDis = Mathf.Clamp(min, ViewDis, max);

        //------------------------------------

        //------确定摄像机的终点位置------

        //确定高度

        NowTarget  = target.position + target.up * ViewDis;

        //确定看向的角度和后方距离

        NowRota = Quaternion.AngleAxis(Angle, target.right) * target.forward ;

        NowTarget = NowTarget - NowRota * ViewDis;
       
        //实现缓慢移动

        transform.position = Vector3.Lerp(transform.position, NowTarget,  Time .deltaTime *moveSpeed );

        Debug.DrawLine(transform.position, target.position + target.up * ViewDis);

        //实现缓慢旋转

        transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(NowRota), Time.deltaTime * RoteSpeed);
        //传入LookRotation中的是向量
    }


}


🎶(F)FPS的相机跟随,只移动X的范围



⭐🅰️⭐

⭐【Unityc#专题篇】之c#进阶篇】

⭐【Unityc#专题篇】之c#核心篇】

⭐【Unityc#专题篇】之c#基础篇】

⭐【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

⭐【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


【Unity每日一记】摄像机相关代码API大全,# unity实战基础,# Unity精华一记,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-657031.html


到了这里,关于【Unity每日一记】摄像机相关代码API大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity【角色/摄像机移动控制】【3.摄像机跟随角色】

    本章代码基于前两章。 1. 我们新建CameraController脚本,将其挂载到Camera上 2. 在角色Player下新建一个空物体,命名为cameraTargetPoint,并将该物体挂载至CameraController脚本中【注意代码中的这行:public Transform cameraTargetPoint;】,将该空物体放在人物头部附近位置 3.将PlayerController脚本

    2024年02月22日
    浏览(52)
  • Unity摄像机跟随

    将摄像机直接拖拽到被跟随的目标下面即可,这样摄像机永远在目标的后面 缺点: 屏幕旋转太平滑了 目标物体在屏幕上的位置永远不变 目标物体被销毁时总不能把摄像机也销毁了吧 先相机坐标和物体坐标做差,求得偏移量,在之后的每一帧里,将偏移量加上物体的坐标。

    2024年02月21日
    浏览(54)
  • Unity 摄像机

    摄像机分为两种  (1)透视摄像机 (2) 正交摄像机  一般3D游戏使用的透视多一点,2D游戏使用正交多一点。 相机参数 清除标记: (1)天空盒 (2)仅深度,类似于权重,优先级,深度大的覆盖住深度小的视线 例如 主相机显示的却不是当先视线,而是新相机的视线 ,主

    2023年04月21日
    浏览(47)
  • unity摄像机平滑移动旋转

    Unity中使用Vector3.SmoothDamp(平滑阻尼)方法进行跟随移动,可以使跟随看起来很平滑,而不显得突兀,最典型的示例就是相机平滑跟随角色移动。 SmoothDamp (current : Vector3, target : Vector3, ref currentVelocity : Vector3, smoothTime )  

    2024年02月11日
    浏览(52)
  • unity Camera(摄像机)介绍

    目录 一.摄像机类型 1.Perspective (透视摄像机) 2.Orthographic(正交摄像机) 二.摄像机属性 1.Clear Flags 2.Background 背景色 3.Culling Mask 剔除遮罩 4.Projection 投影 5.Field Of View   视野范围 6.Size 大小 7.Clipping Planes 裁剪屏幕 8.Viewport Rect 标准视图矩形 9.Depth 深度 10.Rendering Path 渲染路径

    2024年02月01日
    浏览(44)
  • unity摄像机跟随鼠标旋转

     float vertical = Input.GetAxis(\\\"Mouse X\\\") float horizontal = Input.GetAxis(\\\"Mouse Y\\\") 第二种 通过 计算坐标时只需要通过 Quaternion.Euler 来取得旋转四元数,以玩家为原点衍生一条(0,0,-1)的向量并乘上四元数以旋转至 Player 指向摄像机的方向,最后乘上 Distance ,即可得到摄像机相对玩家的偏移

    2024年02月11日
    浏览(68)
  • Unity丨移动相机朝向目标并确定目标在摄像机可视范围内丨摄像机注释模型丨摄像机移动丨不同尺寸模型优化丨

    本文提供的功能是摄像机朝向目标移动,并确定整个目标出现在摄像机视角内,针对不同尺寸的模型优化。 提示:这里可以添加技术名词解释 直接上代码 后期可扩展功能:类似点击目标完成视角移动等。

    2024年02月07日
    浏览(58)
  • 【Unity入门】Audio和摄像机

        大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢     要说一款游戏最重要的是什么,那无疑是它的视听系统了。画面精美,音乐音效好听才能吸引住玩家,那么今天就来学习了解 最重要的组件Audio和摄像机组件 ,之后我们就会正式

    2023年04月08日
    浏览(38)
  • Unity物体始终朝向摄像机方向

    在上面的代码中,首先定义了一个cameraTransform变量,用于存储摄像机的Transform组件。 使用 Camera.main 方法来获取场景中的主摄像机,然后获取其Transform组件并将其赋值给 cameraTransform 变量。 然后,在Update方法中,我们计算出摄像机位置和物体位置之间的向量差,并将其存储在

    2024年02月15日
    浏览(51)
  • Unity三种摄像机旋转方式

    1.按下鼠标右键可以实现摄像机上下左右旋转 2.按下鼠标右键可以实现摄像机围绕某个物体上下左右旋转 3.摄像头始终跟随在某个物体的正后方

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包