1.Lerp和Slerp分别是什么
Lerp和Slerp是两个方法,在Mathf和Vector等类中都提供了对应的方法。
Lerp:
线性插值函数:接收三个参数,起始值、目标值、插值比例,lerp函数用于两个值之间进行平滑的线性插值,适用于直线运动、颜色过渡等场景
Slerp:
球面插值函数(弧面的运动),接收是哪个参数,起始值、目标值和插值比例 Slerp在插值的过程中会在两个旋转之间沿着曲线(球面)插值,从而保持较为自然的旋转过渡,
它们都是unity常用的插值函数,能够在动画、平滑移动,旋转等场景中产生自然和平滑的效果。
2.unity底层是单线程还是多线程
unity底层是基于单线程的,这个线程通常被称为主线程或渲染线程,意味着大部分的游戏逻辑、渲染和更新都在主线程上执行。但是unity也支持自定义多线程处理复杂逻辑,并且unity目前的版本也提供了一些多线程技术来改善性能,比如Job System,Dots等。
在平常update方法执行的逻辑其实都是单线程跑的,比如unity官方文档中的生命周期函数都是一个帧循环里面去执行的,逻辑和渲染都是在单线程里面的帧循环里面去执行。
3.如何在unity实现多语言支持
不同的国家的人,看到的游戏内的语言是不一样的,这该怎么去实现?
总的大概有两个模块去解决
- 单包:将所有设计多语言的图片、文字通过配置表去配置,当显示这些内容时,根据配置表中的信息去动态的加载所有地区的通用的一个安装包,知识游戏中进行地区判断或者语言选择
- 分包:根据不同地区发布不同的安装包。
比如说配置表内容如下:
当我们需要赋值逻辑的时候,比如文字赋值和图片赋值的时候,右侧赋值的内容就是动态通过加载对应的配置表进行获取。具体怎么去加载配置表?
4. Shader当中的顶点和片元着色器有什么作用
其实平时的shader开发,就是开发这两个着色器。
-
顶点着色器:(几何阶段)
主要作用是对物体的顶点位置进行交换和投影,从本地坐标系转换到世界坐标系和相机坐标系等。 在这个阶段,顶点着色器还可以计算光照的影响,法线的变换,以及传递一些数据提供后阶段使用。
-
片元着色器:(第三阶段光栅化阶段) 主要处理像素的颜色、纹理和光照,在顶点着色器之后,渲染管线会对物体进行光栅化,将物体的几何形状转化为像素,在片元着色器中,针对于每个像素,会进行插值和纹理采样,以及计算光照、阴影、反射等效果。片元着色器最终输出的颜色决定每个像素的显示效果
这两个着色器阶段协同工作,将3D场景中的几何信息转化为2D屏幕(显示器)上的像素颜色,从而实现图形的渲染和显示。
5.shader的渲染流程
渲染流程分为三个阶段: 应用阶段、几何阶段、光栅化阶段
这一部分通常是由CPU负责 ,分为三个主要任务。第一步,准备好场景中需要渲染的数据(视锥体,模型,光源等);第二步,进行粗粒度剔除工作,把那些不可见的物体剔除出去 ,第三步,设置好每个模型的渲染状态(贴图,纹理,shader等),然后输出渲染图元(点、线、三角面等)给下一个阶段。
几何阶段(顶点着色器)的主要任务是将输入过来的图元信息进行多部处理转换成输出屏幕空间的二维顶点坐标、每个顶点对应的深度值、着色等相关信息 ,并传递给下一个阶段
光栅化阶段会将上一个阶段 传递的数据来产生屏幕上的像素,并渲染出最终的图像。GPU来进行渲染工作。
参考文档:blog.csdn.net/weixin_4341…
6. unity目前版本创建的普通项目、URP项目、HDRP项目区别是什么?
中杯-大杯-超大杯
普通项目:
使用unity默认的渲染管线,也称为内置渲染管线或者标准渲染管线。这种渲染管线适用于比较简单的游戏和应用,具有适中的性能和视觉效果。它不支持一些高级渲染特性,但适用于广泛的平台和设备。
URP项目:(手游开发最常用)
URP是unity官方提供的一种渲染管线,旨在为轻量级、移动端和跨平台开展提供优化的解决方案。URP在性能和质量之间取得了平衡,适用于移动平台、虚拟现实(VR)和增强现实(AR)应用。它提供了一些轻量级的效果和优化,使得开发者能够在保持性能的同时实现较好的视觉效果。
HDRP项目:(国内很少-端游多)
HDRP项目是Unity官方提供的高级渲染管线,专注于提供逼真的图形质量和高度可定制的渲染效果。HDRP支持高动态范围(HDR)渲染、物理真实的材质和光照模型,以及其他高级特性。HDRP适用于需要高质量视觉效果的游戏项目,例如逼真的游戏、电影和制作,但由于其高级特性,可能会对性能产生较大的负担,因此更适合较强的硬件平台。跟UE做出来的项目有的一比。(UE做减法,unity做加法)
主要区别:
渲染质量和性能:普通项目适用于简单项目,URP在性能和质量上取得平衡,HDRP专注于高质量渲染效果。
平台适用性:
URP适用于移动端、VR和AR应用,HDRP适用于较强的硬件平台和需要高质量的视觉效果的项目。
特效和定制性:
HDRP提供了更多的高级渲染特效和自定义选项,允许开发者实现逼真的渲染效果。