当前位置: 首页 > news >正文

Unity面试笔记:Unity常见关键词概念

Unity面试笔记:Unity常见关键词概念

    • Invoke 延迟函数 和 Coroutine协程 和 Thread线程
    • 帧缓冲区(Frame buffer)
    • 颜色缓冲区(Color buffer)
    • 深度缓冲区(Depth buffer)
    • 模板缓冲区(Stencil buffer)
    • Image和RawImage,
    • Texture和Sprite有什么区别
    • alpha blend工作原理
    • LOD 多层次细节处理技术
    • Text 和 TMPText的区别 优缺点
    • MeshRender中material和shader的区别?
    • MeshRender中material和 sharedmaterial的区别?
    • MeshRenderer 和 SkinnedMeshRenderer 和 Renderer
    • MipMap
    • 什么是LightMap?
    • shader 分类
    • Vertex Shader是什么,怎么计算?
    • image.alphaHitTestMinimumThreshold

Invoke 延迟函数 和 Coroutine协程 和 Thread线程

Invoke:延迟函数,通过方法名延迟调用对应函数
注意:当此脚本或者当前脚本所在的游戏物体失活,延迟函数依然会执行;
但是当前脚本或者游戏物体被销毁,延迟函数就不会执行协程,不同于多线程,它不是一个线程,依附于Unity主线程Unity中的协程由协程函数和协程调度器两部分构成。
协程函数使用的是C#的迭代器, 协程调度器则利用了MonoBehaviour中的生命周期函数来实现。
协程函数实现了分步, 协程调度器实现了分时. 
注:因为协程分时分步执行的特性,当多个协程的耗时操作挤在同一时间执行也会造成卡顿。
应用场景1.www加载网络数据;2.异步加载资源,场景
挂载此脚本的组件和物体销毁,协程将不会执行;
物体失活协程不执行;组件失活协程执行。协程和线程区别:
新开一个线程是独立的一个管道,和主线程并行执行;新开一个协程是在原线程之上开启,进行逻辑分时分步执行;
新开的线程无法访问Unity对象,无法使用unity中的api
新开的线程记得关闭 要不然会一直运行。
同一时间只能执行某个协程,同一时间可以同时执行多个线程

帧缓冲区(Frame buffer)

帧缓冲区也被叫做显存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。
帧缓冲可能是GPU专属内存,也可能是GPU和CPU共享内存,看硬件。

颜色缓冲区(Color buffer)

用于绘图的缓冲区,它包含了颜色索引或者RGBA颜色数据

深度缓冲区(Depth buffer)

与帧缓冲区对应,存储每个像素的深度值,通过深度缓冲区,我们可以进行深度测试。
当启动深度测试时,片段像素深度值和深度缓冲区深度值进行比较,从而确定像素的遮挡关系
保证渲染正确,决定片段哪些像素点数据可以替换到颜色缓冲区中。

模板缓冲区(Stencil buffer)

与颜色缓冲区和深度缓冲区类似,模板缓冲区可以为屏幕上的每个像素点保存一个无符号整数值。
这个值的具体意义视程序的具体应用而定。
在渲染的过程中,可以用这个值与一个预先设定的参考值相比较,根据比较的结果来决定是否更新相应的像素点的颜色值。
这个比较的过程被称为模板测试。模板测试发生在透明度测试(alpha test)之后,深度测试(depth test)之前。
如果模板测试通过,则相应的像素点更新,否则不更新。模板缓冲区 用于规范颜色缓冲区 的运作范围

Image和RawImage,

Imgae比RawImage更消耗性能
Image只能使用Sprite属性的图片,但是RawImage什么样的都可以使用
Image适合放一些有操作的图片,裁剪平铺旋转什么的,针对Image Type属性
RawImage就放单独展示的图片就可以,性能会比Image好很多

Texture和Sprite有什么区别

Sprite作为UI精灵使用,Texture作用模型贴图使用。

alpha blend工作原理

Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。
Color = 原颜色*alpha/255+目标色*(255-alpha)/255

LOD 多层次细节处理技术

LOD多层次细节,是最常用的游戏优化技术。
它按照模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
缺点:增加了内存

Text 和 TMPText的区别 优缺点

Text是像素渲染放大之后就会模糊,使用Text父物体的放大缩小会影响子物体Text的清晰度, 
TMPText不会,它是网格渲染TMPText会把字体生成一个类似于贴图的东西然后读取贴图的坐标来获取对应的文字,
更换文字的消耗会比Text大。
TMPText更适用于不会变动的文字,特别是在量大的情况下,性能比Text高一些,需要经常变动的问题用Text好点,
TMPText在字体库很大的情况下查找更换会比较慢。

MeshRender中material和shader的区别?

MeshRender是模型渲染的组件,有此组件物体才能显示出来
Material是材质球,实际就是shader的实例,并进行赋值,贴图、纹理、颜色等。
Shader是着色器,实际上是一段程序,还可以用来实现一些仅靠贴图不容易实现的效果,如玻璃。
Shader大致分为:
1.表面着色器
2.顶点和片元着色器
3.固定功能着色器

MeshRender中material和 sharedmaterial的区别?

修改sharedMaterial将改变所有物体使用这个材质 的外观,并且也改变储存在工程里的材质设置。
不推荐修改由sharedMaterial返回的材质。如果你 想修改渲染器的材质,使用material替代。当使用Renderer.material的时候,每次调用都会生成一个新的material到内存中去.
这在销毁物体的时候需要我们手动去销毁该material,否则会一直存在内存中。
也可以在场景替换的时候使用Resources.UnloadUnusedAssets去统一释放内存。当使用Renderer.sharedMaterial的时候并不会生成新的material,而是直接在原material上修改,
并且修改后的设置就会被保存到项目工程中。一般不推荐使用这个去修改.

MeshRenderer 和 SkinnedMeshRenderer 和 Renderer

MeshRenderer 和 SkinnedMeshRenderer 都继承自Renderer类,两个类都和网格有关。
MeshRenderer 一般引用于没有动画的模型身上,比如建筑,石头,树木等。
SkinnedMeshRenderer 一般应用于具有蒙皮动画、表情动画的应用场景中。

MipMap

MipMap:为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件。
优点:优化显存带宽,用来减少渲染。因为可以根据距离摄像机远近,选择适合的贴图来渲染。所以UI不适用MipMap。
缺点:运行时占用更多内存,且增加包的容量。

什么是LightMap?

Unity的Lightmap是一种用于预计算光照信息的技术,可以提高场景的渲染效率和真实感。使用Lightmap可以实现以下效果:
1.实时光照的替代:实时光照计算通常比较昂贵,尤其是在复杂的场景中。
通过预计算光照信息并将其存储在Lightmap中,可以避免在运行时进行实时光照计算,从而提高渲染性能。
2.高质量的间接光照:Lightmap可以捕捉到场景中物体之间的间接光照信息,包括反射和遮挡。
这可以增加场景的真实感,并在计算上比实时计算的间接光照更高效。
3.静态物体的持久光照效果:对于静态不变的物体,例如墙壁、地面等,
其光照信息可以在编辑器中进行烘焙,并在运行时保持不变。
这意味着即使在场景中移动相机或物体,它们的光照效果也会保持一致。使用Unity的Lightmap需要以下步骤:
1.设置光照:在Unity编辑器中,可以选择合适的光照设置,包括光源类型、光源参数、间接光照参数等。
2.烘焙Lightmap:在编辑器中,可以选择进行Lightmap烘焙操作。
这将会将光照信息计算并存储在场景中的物体的纹理中。
3.应用Lightmap:在运行时,Unity会自动将Lightmap应用于相应的物体。
可以通过设置物体的渲染器组件来控制Lightmap的使用方式。注意的是,Lightmap适用于静态不变的物体,例如墙壁、地面等。
对于动态或可移动的物体,可以使用实时光照计算技术,如实时阴影、实时全局光照等。
使用Lightmap可以提高场景的视觉效果和性能,并在静态物体上获得高质量的光照效果。
它在许多类型的游戏和应用程序中广泛应用,包括建筑可视化、虚拟现实、游戏开发等。

shader 分类

表面着色器的抽象层次比较高,
它可以轻松地以简洁方式实现复杂着色,表面着色器可同时在前向渲染及延迟渲染模式下正常工作。顶点片段着色器可以非常灵活地实现需要的效果,但是需要编写更多的代码,并且很难与Unity的渲染管线完美集成。固定功能管线着色器可以作为前两种着色器的备用选择,
当硬件无法运行哪些酷炫的Shader的时候,还可以通过固定功能管线着色器来绘制出一些基本的内容

Vertex Shader是什么,怎么计算?

Vertex Shader 中文意思就是顶点着色器,是一段执行在GPU上的程序,
用来取代fixed pipeline中的transformation和lighting,Vertex Shader主要操作顶点。

image.alphaHitTestMinimumThreshold

UGUI实现不规则图片点击(像素点击)的简单方法
1.开启图片的Read/Write Enabled
2.设置 image.alphaHitTestMinimumThreshold属性

相关文章:

Unity面试笔记:Unity常见关键词概念

Unity面试笔记:Unity常见关键词概念 Invoke 延迟函数 和 Coroutine协程 和 Thread线程帧缓冲区(Frame buffer)颜色缓冲区(Color buffer)深度缓冲区(Depth buffer)模板缓冲区(Stencil…...

gRPC vs HTTP

性能 gRPC 消息使用 Protobuf(一种高效的二进制消息格式)进行序列化。 Protobuf 在服务器和客户端上可以非常快速地序列化。 Protobuf 序列化产生的有效负载较小,这在移动应用等带宽有限的方案中很重要。 gRPC 专为 HTTP/2(HTTP…...

vue 导出el-table表格数据

1.先安装 file-saver 、xlsx 组件 npm install file-saver -Snpm intsall xlsx -S 2.html 代码 <el-table :data"elTable" ref"" id"table-content"><el-table-column label"其他" align"center"></el-…...

【问题记录】AttributeError: module ‘numpy‘ has no attribute ‘bool‘

服务器上运行代码报错&#xff1a; /opt/conda/envs/clrnet/lib/python3.8/site-packages/imgaug-0.4.0-py3.8.egg/imgaug/augmenters/meta.py:3368: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar. augmenter_active np.zeros((n…...

WordPress企业模板

首页大图wordpress外贸企业模板 橙色的wordpress企业模板 演示 https://www.zhanyes.com/waimao/6250.html...

Intel Quartus II IP之DP1.4 工程的创建与使用

前述&#xff1a; Win10电脑安装了Quartus 21.4&#xff0c;这可以满足绝大多数工程&#xff0c;特别是对于简单调用fifo/ram等的工程&#xff0c;但是想要学习Quartus的HDMI/DP等高速接口类IP&#xff0c;首先需要创建HDMI/DP IP的设计demo工程&#xff0c;此时还需要安装Ecl…...

k8s集群环境搭建以及插件安装

前置条件 终端工具MobaXterm很好用。 1、虚拟机三台&#xff08;ip按自己的网络环境相应配置&#xff09;(master/node) 节点ipk8s-master192.168.200.150k8s-node1192.168.200.151k8s-node2192.168.200.152 2、关闭防火墙(master/node) systemctl stop firewalld systemc…...

面试的那些事儿

先从面试来说 假如你是网申&#xff0c;你的简历必然会经过HR的筛选&#xff0c;一张简历HR可能也就花费10秒钟看一下&#xff0c;然后HR 就会决定你这一关是Fail还是Pass。 假如你是内推&#xff0c;如果你的简历没有什么优势的话&#xff0c;就算是内推你的人再用心&#x…...

ffmpeg音视频解码

ffmpeg音视频解码 一.编译ffmpeg1.安装vmware虚拟机2.vmware虚拟机安装linux操作系统3.安装ftp和fshell软件4.在Ubuntu&#xff08;Linux&#xff09;中编译Android平台的FFmpeg&#xff08; arm和x86 &#xff09;5.解压FFmpeg6.Android编译脚本&#xff08;1&#xff09;修改…...

uniapp uni.chooseLocation调用走失败那里,错误码:112

问题&#xff1a;我配置了百度上所有能配置的&#xff0c;一直调用不成功&#xff0c;如下图配置的 1:第一个 配置 代码&#xff1a; "permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}…...

第一次开发基于SpringBoot的Java应用

第一次开发基于SpringBoot的Java应用 一、 方式1&#xff1a;IDEA创建New Project Spring Boot官方文档的Getting Started1、IDEA创建New Project2、Spring Boot官方文档的Getting Started2.1 Creating the POM &#xff08;实际是&#xff0c;更新pom.xml&#xff09;2.2 Add…...

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测 目录 回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测预测效果基本描述程序设计参考资料 预测效果 基本描…...

数据结构--排序

参考【算法】排序算法之希尔排序 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/122632213 1. 排序的定义 2. 插入排序 2.1 直接插入排序 在插入第i&#xff08;i>1)个记录时&#xff0c;前面的i-1个记录已经排好序 void insertSort(int r[],int n) {for(int i2;i<…...

Androidmanifest文件加固和对抗

前言 恶意软件为了不让我们很容易反编译一个apk&#xff0c;会对androidmanifest文件进行魔改加固&#xff0c;本文探索androidmanifest加固的常见手法以及对抗方法。这里提供一个恶意样本的androidmanifest.xml文件&#xff0c;我们学完之后可以动手实践。 1、Androidmanife…...

openssl3.2 - 官方demo学习 - cms - cms_denc.c

文章目录 openssl3.2 - 官方demo学习 - cms - cms_denc.c概述笔记END openssl3.2 - 官方demo学习 - cms - cms_denc.c 概述 将CMS数据结构写入PEM文件, 并将分离后的加密数据单独写到数据文件. 笔记 /*! \file cms_denc.c * \note openssl3.2 - 官方demo学习 - cms - cms_d…...

【Linux 命令】tree 对目录进行树形展示

目录 1、tree 命令功能展示 2、tree 命令安装 3、tree 命令语法及其参数功能 4、终止 tree 展开树命令 1、tree 命令功能展示 在 Linux 中&#xff0c;我们使用 ll 命令对目录的展示并不太方便我们查看&#xff0c;不太清晰明了&#xff0c;所以我们可以使用 tree 命令以…...

掌握Spring MVC拦截器整合技巧,实现灵活的请求处理与权限控制!

拦截器 1.1 拦截器概念1.2 拦截器入门案例1.2.1 环境准备1.2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:运行程序测试步骤5:修改拦截器拦截规则步骤6:简化SpringMvcSupport的编写 1.3 拦截器参数1.3.1 前置处理方法1.3…...

使用xbindkeys设置鼠标侧键

1.安装如下包 sudo apt install xbindkeys xautomation 2.生成配置文件 xbindkeys --defaults > $HOME/.xbindkeysrc 3.确定侧键键号 在终端执行下面的代码&#xff1a; xev | grep button 此时会出现如下窗口&#xff0c;将鼠标指针移动到这个窗口上&#xff1a; 单…...

跨站点请求伪造攻击 - Cross Site Request Forgery (CSRF)

什么是CSRF 最好理解CSRF攻击的方式是看一个具体的例子。 假设你的银行网站提供一个表单,允许当前登录用户将钱转账到另一个银行账户。例如,转账表单可能如下所示: <form method="post"action="/transfer"> <...

PLAN B KRYPTO ASSETS GMBH CO. KG 普兰资产管理公司

引领加密技术不断演进 PLAN B KRYPTO ASSETS普兰资产管理以其独创的「Trident Strategy三叉戟模型」技术为基础&#xff0c;持续推动加密技术的发展&#xff0c;打造 Schutz&#xff08;舒茨盾&#xff09; AI 金融隐私匿名公链。致力于提供高效的技术服务&#xff0c;基于机构…...

特朗普移动数据泄露:客户信息险曝光,T1 手机真实订单远低于网传

特朗普移动数据泄露&#xff1a;客户信息岌岌可危就在 T1 手机似乎即将发布之时&#xff0c;特朗普移动&#xff08;Trump Mobile&#xff09;被指控不安全地存储客户数据&#xff0c;使得客户的地址和电话号码面临泄露风险。YouTuber Coffeezilla 最先在他的第二个频道 voidzi…...

RAG 检索到了还是答错:从一个线上事故讲透 RAG 数据工程全链路

一个合同问答系统的线上事故 某企业法务团队上线了一套合同问答系统。用户问&#xff1a;“渠道商季度返点的计算条件是什么&#xff1f;” 系统返回了三段参考文档&#xff0c;生成了一段看起来完整的回答。法务审核时发现&#xff1a;引用的是 2024 年旧版渠道政策&#xf…...

2026年AI面试助手深度测评:鹅来面 OfferGoose如何革新你的求职体验?

随着2026年求职市场的白热化&#xff0c;传统的“海投简历 裸面”模式已难以为继。无论是职场老将寻求突破&#xff0c;还是应届生初入职场&#xff0c;面对日益复杂的JD要求和瞬息万变的面试场景&#xff0c;一个高效的求职“第二大脑”变得至关重要。过去&#xff0c;求职者…...

2026年一键生成论文工具实测排行,哪款真正适合顺利通关?

2026 年学术 AI 论文工具已形成全流程、理工 / 社科、英文 / 中文、免费 / 付费的清晰分化。综合实测排行与场景适配&#xff0c;千笔AI 是中文全能首选&#xff0c;DeepSeek 学术版是理工开源首选&#xff0c;毕业之家是国内毕业专属首选。 一、2026 年实测排行 TOP5&#xff…...

VLA已死,WAM当立:机器人的GPT时刻到了吗?

就在刚刚过去的4月底&#xff0c;红杉资本举办的AI Ascent 2026大会上&#xff0c;英伟达机器人方向负责人Jim Fan抛出了一个极具争议的论断&#xff1a;“视觉语言模型VLA已死&#xff0c;世界动作模型WAM当立。”他还预测&#xff0c;未来一到两年内&#xff0c;机器人学习的…...

2026AI论文写作工具实测排行榜!这几款才是真神器

综合评分 TOP4 为千笔AI(99/100)、毕业之家 (96/100)、DeepSeek Scholar(89/100)、豆包学术版 (88/100)。千笔AI是全流程全能王&#xff0c;毕业之家专注学术合规&#xff0c;DeepSeek 是理工科免费神器&#xff0c;豆包擅长多模态与文献分析。一、测评标准说明&#xff08;202…...

Themes 与 Styles

Themes 与 Styles 主题目录&#xff1a;Source/Themes项目说明H.Theme主题核心。H.Themes.Colors.Accent强调色。H.Themes.Colors.Blue蓝色。H.Themes.Colors.Copper铜色/复古。H.Themes.Colors.Gray灰色。H.Themes.Colors.Industrial工业风。H.Themes.Colors.Mineral矿物色。H…...

Cursor AI助手功能扩展技术实现:5步实现永久免费使用的完整方案

Cursor AI助手功能扩展技术实现&#xff1a;5步实现永久免费使用的完整方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached…...

ops-rand:AI 训练中的随机数生成

AI 训练离不开随机数。权重初始化要随机、Dropout 要随机、数据打乱要随机、噪声注入要随机。每一次随机操作的背后&#xff0c;都有一组随机数生成器在工作。 CANN 的 ops-rand 仓库提供了 NPU 上的随机数生成算子——Dropout、随机 Shuffle、随机初始化、正态分布采样等。这…...

万店精灵上货软件引领电商时代

万店精灵上货软件&#xff1a;http://www.wandianjingling.com/q/r/FV02331&#xff0c;1688&#xff0c;淘宝&#xff0c;抖音&#xff0c;拼多多&#xff0c;微信小店&#xff0c;京东&#xff0c;天猫&#xff0c;快手 都可以上国外&#xff1a;TikTok Shop、Temu、Shopee2&…...