Unity制作适配全屏的Quad图形

2023-11-19

在Unity项目中,有时候需要呈现一直跟随摄像头移动的,能够全屏的一个quad长方形,quad加载纹理,就可以一直显示全屏了。

把这个脚本绑定到Camera上,具体代码如下:

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

public class camera : MonoBehaviour
{
    private GameObject _textureQuad;
    private Material _material;
    private Camera _camera;
    // Start is called before the first frame update
    void Start()
    {
        _textureQuad = GameObject.CreatePrimitive(PrimitiveType.Quad);
        _textureQuad.GetComponent<MeshRenderer>().material = _material;
        _textureQuad.SetActive(true);

        _camera = GetComponent<Camera>();
    }

    // Update is called once per frame
    void Update()
    {
        float farPlane = _camera.farClipPlane;

        float pos = (_camera.nearClipPlane + 10.0f);

        _textureQuad.transform.position = _camera.transform.position + _camera.transform.forward * pos;
        _textureQuad.transform.LookAt(_camera.transform.position);
        _textureQuad.transform.forward *= -1;
        float h = (Mathf.Tan(_camera.fieldOfView * Mathf.Deg2Rad * 0.5f) * pos * 2f);


        _textureQuad.transform.localScale = new Vector3((float)h * _camera.aspect, (float)h, 1);
    }
}

我们主要是看一下Updata函数中的操作,

1、首先我们先把quad的位置沿着相机的z轴方向,前进。

2、我们使用lookat旋转,跟摄像头保持一样的角度。

3、我们在把quad的forward方向指向摄像头。

4、根据fov与aspect计算出来scale比例。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity制作适配全屏的Quad图形 的相关文章

  • Unity—UGUI

    每日一句 读数 学习 去更远的地方 才能摆脱那些你不屑一顾的圈子 目录 InputFiled输入框 例 用户名和密码 Toggle组件 案例 冷却效果 InputFiled输入框 Text Component 输入文本组件 Text输入内容
  • Unity WebGL错误集锦

    ips 0 Unity的PlayerSettings的otherSettings或者Publish Settings里面的Enable Exceptions里面选择Full StackTrace 可以在打出的包中的浏览器的webgl打印出错
  • 蒙特卡洛积分、重要性采样、低差异序列

    渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中 要计算总的反射光 每个入射方向的贡献 必须将他们在半球上相加 为入射光线 与法线 的夹角 为方便计算可以使用法线向量和入射向量 单位化 的乘积表示 对于基于图像的
  • Unity 安卓打包

    Unity打包的方式有很多种 自动打包和手动打包 今天小弟就鼓捣鼓捣unity手动打包 如果想动态打包的话 可以去看其他大佬的帖帖哈 unity打包先配置环境 下载unity的时候可以顺道把unity的安卓包下载下来 如果忘了也没事 可以从
  • 1.17 从0开始学习Unity游戏开发--场景切换

    前面的所有文章我们都在一个固定的游戏场景内进行开发 在最开始介绍场景这个概念的时候就已经提及 这个场景可以是一张地图 或者是一个对战房间等等 所以显然这个场景可以有多个 并且可以从一个场景切换到另外一个场景 那么在Unity中如何进行场景切
  • FBX导入Unity中模型没有材质的处理

    一 3dMax导出FBX时的注意事项 导出时 确保maps文件存在 里面放着fbx用到的image 二 在Unity中的设置 1 文件拖入Unity的Assets文件夹中 2 查看模型的材质是否存在 如下所示 材质为None 此时拖入sce
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • Unity打开工程时卡住的问题

    自从Unity升级了一个版本后 Unity打开工程卡住的问题越来越严重了 具体表现为 选择工程后 Unity窗口消失 但进程还在 有时候等个几分钟能出来 有时候等10分钟都不见得能出来 直观感受上看 似乎是Unity加载工程的时候某一步卡了
  • VLC for unity 插件如何使用

    VLC for unity 插件如何使用 先去下载一个VLC播放器 安装完成后 然后导入插件链接https download csdn net my 这个插件我的另一个上传资源里有 或者到商店去下载 这个插件链接下载完是一个txt文档 里面
  • unity 性能查看工具Profiler

    文章目录 前言 profiler工具介绍 菜单栏 帧视图 模块视图 模块详细信息 通过profiler分析优化游戏性能 最后 前言 每次进行游戏优化的时候都用这个工具查看内存泄漏啊 代码优化啊之类的东西 真的好用 但是之前也就是自己摸索一下
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • 将 scipy.quad 与 iε 技巧一起使用:结果不佳

    为了规避柯西原理值 我尝试将使用小位移 i 的积分积分到复平面中以避开极点 然而 从下图可以看出 结果很糟糕 此结果的代码如下所示 您有如何改进此方法的想法吗 为什么它不起作用 我已经尝试更改 或积分中的极限 编辑 我将方法 cauchy
  • 使用 scipy.integrate.quad 执行 3D 积分

    提出问题的动机 我正在尝试在所有空间上积分函数 f x y z 我尝试使用 scipy integrate tplquad 和 scipy integrate nquad 进行积分 但这两种方法都将积分返回为 0 当积分应该是有限的时 这是
  • unity3d切换场景Application.LoadLevel(1)含义

    Application LoadLevel 1 场景ID
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • unity小球跟随音乐节奏放大缩小和改变颜色

    放在小球身上 设置对应组件即可 using System Collections using System Collections Generic using Unity VisualScripting using UnityEngine
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • U3D游戏开发中摇杆的制作(NGUI版)

    在PC端模拟摇杆 实现控制摇杆让玩家或者物体移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine public clas
  • 游戏开发常见操作梳理之小地图的制作

    游戏中一般存在小地图系统 实际上就是设置一个新的摄像机放置在玩家的正上方 然后在小地图上显示新摄像机看见的东西就可以了 在小地图上一般存在放大地图和缩小地图的按钮可以方便放大和缩小地图 这些操作是如何实现的呢 接下来直接上核心代码 usin

随机推荐

  • 开发工程中遇到的BUG

    1 Couldn t communicate with a helper application in Xcode 7 问题一 Couldn t communicate with a helper application in Xcode
  • CMake Tutorial Step1

    CMake Tutorial Step1 参考资料 Step 1 A Basic Starting Point CMake 3 26 3 Documentation Tutorial工程 官方Tutorial工程 开发环境 CLion CM
  • 数据库/MySQL - 深入探究 - 1

    1 应用场景 主要用于了解和掌握数据库 MySQL 更新操作详细流程 2 学习 操作 1 文档阅读 主要来自于AI的对话 geek chat chatgpt 以及官方文档资料 以及其他技术文章 专栏等 2 整理输出 抛出问题 数据库 这里以
  • Jenkins部署

    链接 手把手教你用 Jenkins 自动部署 SpringBoot 江南一点雨 jekins 江南一点雨的博客 CSDN博客 bin bash jenkins要在后台执行脚本 需要在脚本前加上BUILD ID dontKillMe BUIL
  • Python while循环结构

    视频版教程 Python3零基础7天入门实战视频教程 循环语句可以在满足循环条件的情况下 反复执行某一段代码 这段被重复执行的代码被称为循环体 当反复执行这个循环体时 需要在合适的时候把循环条件改为假 从而结束循环 否则循环将一直执行下去
  • pycharm语句用法

    Python介绍 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 Python 的设计具有很强的可读性 相比其他语言经常使用英文关键字 其他语言的一些标点符号 它具有比其他语言更有特色语法结构 Python 是
  • 多种JS代码混淆加密,效果一览。

    演示代码如下 用JShaman对这段代码进行混淆加密 function demo alert hello www jshaman com demo 一 通用版 1 配置选项 压缩代码 保护效果 function demo alert hel
  • SQL数据库的连接、创建操作

    目录 1 数据库的连接 创建 2 对字段的操作 alter table 3 对数据的操作 插入 修改 删除 4 数据查询 select 5 多表查询 join on 6 约束操作 一 数据库的连接 创建 1 连接root数据库 cmd中输入
  • Python爬虫从入门到精通:(8)数据解析_xpath解析基础_Python涛哥

    xpath解析基础 环境安装 pip install lxml 解析原理 html标签是以树状的形式进行展示 实例化一个etree对象 且将待解析的页面源码数据加载到该对象中 调用etree对象的xpath方法结合着不同的xpath表达式实
  • 写了一个 SSO 单点登录的代码示例给胖友!

    发危 摘要 原创出处 http www iocoder cn Spring Security OAuth2 learning sso 芋道源码 欢迎转载 保留摘要 谢谢 1 概述 2 搭建统一登录系统 3 搭建 XXX 系统 666 彩蛋
  • js正则表达式多行匹配

    在js匹配网页内容时 往往需要匹配一段代码比如 div div 中间可能有很多行 这个时候一般 的匹配规则是匹配不出来的 如下介绍一个折中的方法 var content 这里是内容 var re p class s S p gt g var
  • win10微软应用商店不能用?简单两步完美解决

    想安装微软的软件 发现微软应用商店打不开 无论是我刷新还是重启 找了各种办法终于解决了 解决办法 1 打开键盘 田 R 键 输入 inetcpl cpl 2 然后去高级那里打开 勾上 使用TLS 1 2 选项 或者还原高级设置 3 最后打开
  • javaweb前后台交互传递数据的几种方法

    前端传后台 form表单传递
  • Django-ORM 单表查询

    目录 数据准备 查询关键字 1 QuerySet 对象 first方法 last方法 values方法 values list 方法 count exists 2 all 3 filter kwargs 4 get kwargs 不推荐使用
  • layui动态生成的手风琴实现默认第一个展开+鼠标悬浮展开

    嘿嘿嘿 我百度了一下 发现没有这个玩意 作为小白白的我自己摸索着成功实现了 今日好开心 耶耶耶 首先 我是从数据库提取数据 在前端用foreach循环展示 但是 循环出来的都是统一样式 要不都是展开 要不都是折叠 全部折叠 div clas
  • Database consistency

    consistency 这个词在不同的环境下有着不同的含义 各个方向都在使用 导致很难理解 多副本的一致性 即distirbuted 一致性hash CAP理论的一致性 ACID里的一致性 而这几个一致性的含义都不相同 结合各种资料 自己做
  • 回归测试策略

    什么是回归测试 开发人员把Bug修复好之后 测试人员需要重新验证Bug是否修复好了 同时在新版本中进行测试以检测开发人员在修复代码过程中是否引入新的Bug 此过程就称为回归测试 1 即使上一轮的Bug被修复了 在下一轮的测试中还可能发现新的
  • python 不省略打印tensor、numpy、panda,在终端中打印numpy数组时避免行的换行显示

    文章目录 1 python 不省略打印tensor numpy panda 1 1 tensor 1 2 numpy 1 3 panda 2 在终端中打印numpy数组时避免行的换行显示 1 python 不省略打印tensor numpy
  • 一文总结c++中的lambda

    基本构造 一般情况下 编译器可以自动推断出lambda表达式的返回类型 所以我们可以不指定返回类型 捕获 参数 函数体 捕获 可以捕捉lambda函数所在函数 的局部变量 值捕获 int c 1 auto show c cout lt
  • Unity制作适配全屏的Quad图形

    在Unity项目中 有时候需要呈现一直跟随摄像头移动的 能够全屏的一个quad长方形 quad加载纹理 就可以一直显示全屏了 把这个脚本绑定到Camera上 具体代码如下 using System Collections using Sys