【Unity】unity学习扫盲知识点

news/2024/7/8 9:29:10 标签: unity, 学习, 游戏引擎, 游戏

1、建议检查下SystemInfo的引用。这个是什么

Unity的SystemInfo类提供了一种获取关于当前硬件和操作系统的信息的方法。这包括设备类型,操作系统,处理器,内存,显卡,支持的Unity特性等。使用SystemInfo类非常简单。它的所有属性和方法都是静态的,所以你

不需要创建SystemInfo的对象。

深入了解Unity的SystemInfo类:一份详细的技术指南(一)_unity systeminfo-CSDN博客

2、GPU带宽是什么?

显存带宽。显存带宽是指GPU读写其专用内存的速度。如果我们的游戏速度受限于显存带宽,通常可能是我们使用的纹理太大,以至于GPU无法快速处理

内存带宽是 GPU 可以从内存中执行读取和写入的速率

显存带宽就是80GB/s

3、mipmap 是什么

Mipmap中每一个层级的小图都是主图的一个特定比例的缩小细节的复制品。

虽然在某些必要的视角,主图仍然会被使用,来渲染完整的细节。

但是当贴图被缩小或者只需要从远距离观看时,mipmap就会转换到适当的层级。事实上,在三线性过滤(trilinear filtering)起作用时,会在两个相近的层级之间切换。

mipmap的主要作用便是模型的贴图会根据摄像机距离模型的远近而调整不同质量的贴图显示,以达到优化目的

4、GPU Skin 是什么?

顶点动画,将动画渲染到纹理,通过顶点shader渲染

Gpu Instance

只有使用相同网格 和 相同材质的物体,才可以被 Instance 为一个对象。

在顶点shader中渲染出过个,

  • GPU Instance:针对同一个Mesh多次渲染,是图形框架提供的功能。

https://zhuanlan.zhihu.com/p/524285662

UNITY_ACCESS_INSTANCED_PROP 访问每个instance的单独属性 float4 col= UNITY_ACCESS_INSTANCED_PROP(Props, _Color);

5、垂直同步 是什么?

项目用到动态帧率,60/30频繁切换,关了垂直同步的。在30切60时,若场景有大量GPU Skin,30到60就特别慢,大概6-7秒。

Edit--Project Settings--VSync Count

刷新率指的是显示器的刷新率,60Hz就是屏幕一秒会刷新60次画面

缓冲区是显卡的缓冲区,显卡渲染好一张画面就会把画面存储在显卡的显存中

打开垂直同步后,当显示器尚未完成一帧画面刷新时候,前后缓冲区不允许交换,显示器刷新完一帧画面时,缓冲区才可以进行交换,不会在上一帧画面未显示完全就开始显示下一帧造成画面撕裂,也就是显卡画面刷新速度等待显示器刷新速度,使画面更流畅。

关闭垂直同步

允许GPU不受刷新率限制进行渲染,并可以在单个刷新间隔对多个渲染帧进行扫描输出,会产生画面撕裂

开启垂直同步

限制GPU最大渲染速率为显示器的最大刷新率,并防止撕裂,但是由于渲染速率受限,延时可能较长且性能较低。另外,如果GPU渲染速率低于刷新率

6、OnPostprocessAllAssets 怎么使用?

OnPostprocessAllAssets会在每次资源的增删改后自动执行,那么就有了自动设置asset bundle name的进阶版。

using UnityEngine;
using System.Collections;
using UnityEditor;
 
public class AutoGenerateAssetBundleNameImproved : AssetPostprocessor
{
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        for (int i = 0; i < importedAssets.Length; ++i)
        {
            Debug.Log("Imported asset: " + importedAssets[i]);
        }
        for (int i = 0; i < deletedAssets.Length; ++i)
        {
            Debug.Log("Deleted asset: " + deletedAssets[i]);
        }
        for (int i = 0; i < movedAssets.Length; ++i)
        {
            Debug.Log("Moved Asset: " + movedAssets[i] + " ---- From: " + movedFromAssetPaths[i]);
        }
    }
}

7、aa怎么从streaming加载?

Addressables.LoadAsset


http://www.niftyadmin.cn/n/5537002.html

相关文章

android deep links即scheme uri跳转以及googlePlay跳转配置

对于googlePlay的Custom URL就是googlePlay上APP网址&#xff1a; https://play.google.com/store/apps/details?idcom.yourapp如果是国内一些应用&#xff0c;则考虑market://包名等方式&#xff0c;自行百度。 对于Android URI Scheme&#xff1a; 首先需要在Manifest xm…

cache lookup failed for subscription XXXX

在 PostgreSQL 中,cache lookup failed for subscription 错误通常表示系统缓存中的不一致性问题,尤其是与订阅相关的数据结构问题。以下是更详细的排查和解决步骤: 确认订阅已删除: 查看所有订阅: SELECT * FROM pg_subscription;如果仍然存在订阅,请尝试删除: DRO…

rtsp client c++

直接上代码&#xff1a;源码 void doRtspParse(char *b) {std::vector<std::string> res;char *ptr b, *ptr1 nullptr;while ((ptr1 strstr(ptr, "\r\n"))) {res.push_back(std::string(ptr, ptr1 - ptr));ptr ptr1 2;}int len ptr - b;b[len - 1] \0;…

无人机测绘需要注意什么?

无人机测绘是一项高精度的测量工作&#xff0c;需要注意以下四点&#xff1a; 一、作业前准备&#xff1a;沟通相关事宜&#xff0c;现场勘查&#xff0c;飞行环境检查等&#xff1b; 二、航线规划与像控点布设&#xff1a;航线规划是任务规划的核心内容&#xff0c;需要综合…

【报错】【Ubuntu】/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34‘ not found

1 报错 /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34 not found 2 分析 系统中的GNU C Library(glibc)版本不满足要求。 具体来说,该程序或库需要使用2.34版本的glibc,但系统中当前的glibc版本不满足这个要求。 首先,查看版本: strings /lib/x86_64-linux…

用Docker搭建分布式 Redis 的方法

使用 Docker 搭建一个分布式的 Redis 集群可以帮助你快速部署和管理多个 Redis 实例。一个典型的 Redis 集群包括多个主从节点&#xff0c;通过分片来实现数据的分布式存储与高可用性。 以下是使用 Docker 搭建分布式 Redis 集群的详细步骤&#xff1a; 前提条件 安装 Docke…

使用PowerShell开启防火墙端口

使用PowerShell开启防火墙端口 引言 防火墙是网络安全的重要组成部分&#xff0c;它通过控制进出网络的流量来保护计算机和网络免受未经授权的访问。有时候&#xff0c;我们需要打开特定的防火墙端口以允许特定应用程序或服务的通信。本文将详细讲解如何使用 PowerShell 开启…

自动化立体仓库出入库能力及堆垛机节拍

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载 自动化立体仓库的出入库能力、堆垛机节拍以…