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

Unity全局光照详解

        之前就学过但是太久没用又忘了,因此用最简洁易懂的语言做个记录。

        全局光照分为两个系统,分别是实时光照和混合光照。(点击window/Rendering/Lighing打开此面板)

        其中全局光照对于我来说都是新技术了,上一次学习全局光照的时候的时候都还没有这个技术,因为在项目中大部分是用一个直接光照和环境光就完事了。

        我不打算先说明各种术语,而是在使用的时候再说明,以免大家没耐心看下去。我之所以要写这个博客就是看别人的博客的时候老是先说很久术语才进入正题,导致我看的很没耐心。

        unity中其实有两套全局光照系统,就是上图中的Realtime lighting和mixed lighting,即实时光照和混合光照。他们其实是独立的,我们一般选择性使用其中一种就行了。他们两个也可以同时启用,同时启用的话太混乱而且性能消耗也很高,我就不考虑了。

实时光照:

        启用时场景中的光源只能使用实时模式,也就是Realtime,但是系统不会自动切换,注意手动设置,启用Realtime Environment Lighting的话除了直接光还会实时计算间接光并应用效果,不过能计算间接光的只有平行光,因为其他的太耗性能了。

        光源有三种模式,剩下的之后再说。实时光照只能选择realtime,不用管。

        要注意的是,虽然名字是实时光照,但是还是只能对静态物体进行光照计算。我们在场景中放置好要被实时关照的物体,并设置为contribute GI静态,其他的可选可不选。

        搭建好场景,根据需要设置环境光,这个太基础了就不讲了。要注意的是如果想在场景中实现全黑的效果环境光就必须为0。我这里环境光设置为0,以排除影响。初始场景是这样的,所有物体都是静态物体。

        开启全局光照和全局光照环境光选项不开启混合光照,平行光光照模式模式设置Realtimeh后,点积烘焙光照。这个烘焙光照其实是计算光信息,然后存储在贴图中,之后就可以实时计算间接光了。

        可以看到这个贴图非常的小,这也是能实时计算的原因。烘焙光照后:

实时光照效果

        实时光照效果一般,参数几乎不可调。但是他强在实时的间光接效果,光源可随意移动,可以让开发者动态调整静态场景中的光源参数,快速制作美术原型,在场景进行美术设计师不用每次等待漫长的烘焙,并且在较低要求下它也可以胜任昼夜交替等效果。

        虽然我说它的效果一般,但是实际上它的效果对比默认环境光还是好得多。

默认场景(默认光加默认环境光)

        对了,间接光。大家可能看不太出来间接光的效果,其实有,但是很弱,仔细看才能看到。

        上面只说了静态物体,接下来要说动态物体了。我们放一个胶囊提,不设置为static。

        效果如下,它的背面是完全黑的。

        因为实时光照计算的间接光是烘焙的,并不是真的光,所以动态物体收不到间接光。此时我们就需要用到光照探针了。

        什么是光照探针?在unity中右键,可以创建光照探针LightProbeGroup,或者说探针组。

        它长这样,其中的8个点可以拖拽,来包括一个范围,但是我们一般不拖拽,而是复制粘贴多个探针在场景中。

        然后重新在lighing面板Generate Lighting后胶囊体的背面受到了光照

        所谓LighingProbeGroup就是一组光照探针,其中的每个点是一个探针。它的作用是收集周围的间接光信息并施加到动态物体上,就这么简单。

        不过这个要注意的一件事是摆放的位置和密度,密度越高性能消耗越高,位置也有所讲究,我们不能只摆在有光的地方,我们还要摆在没有光的地方。因为动态物体受到的间接光照是来自最近的探针的。假设世界中只有一个探针,那么无论在哪里动态物体都受到一样强度的间接光照。

        如图,离得很远背面一样很亮。
        要解决这个问题需要在世界放置更多探针,光线不重要的区域探针组可以很分散。如图,背面变得黑暗了。

        上面就是实时光照的部分。理解了上面的部分就可以讲混合光照了。

混合光照:

        混合光照有三个选项,分别是Baked Indirect,Subtractive,ShadowMask。接下来依次说明。

1.BakeIndirect模式混合光照:

        选择baked indirect,下面也有说明,混合光源提供实时直接光,间接光被烘焙到光照贴图和光照探针中。

        很清晰,直接烘焙光照,我们先不用管烘焙的各种参数,我们先着重于模式之间的区别,参数后面再说,只用设置这里的烘焙选项改为Gpu就行了,也就是用显卡来烘焙而不是cpu,会快很多。遥想当年用cpu烘焙的龟速,简直要吐了。

        如果直接烘焙没有效果,记得把光源改成mixedLight,改成realtime会无法烘焙,改成baked的话可以烘焙,但是光源不会再有直接光。只有使用MixedLight才能在有直接光的同时烘焙间接光照贴图。

        烘焙后的效果,也不太好看。因该是我场景设置的问题QWQ

        因此我决定换个场景,可以看到换个场景,也就是加了墙面后间接光效果更好,整个场景也更好看了。

Baked Indirect烘焙的效果

 为了公平起见,重新用新的场景进行实时渲染来对比。

使用实时光照进行渲染。

 可以看到实时渲染和Baked Indirect视觉效果差不多。烘焙的渲染要更加深邃柔和一点,但是差的不是很多,这也说明用实时光照进行场景照明也是不错的。

        实时光照移动光源时间接光会跟着变化,而烘焙光照(混合光照,物体接受直射光和烘焙后的间接光),移动相机时烘焙的间接光不会变化,也就是相机换了角度但是图中的绿色蓝色红色之类的反射光还在原地,但是阴影是实时的。

        对了,还得对比一下不使用全局光照的效果,也就是一个平行光提供直接光照加上天空盒的环境光,确实挺难看的,不过在动态生成的地图中也没啥办法,除非用某些支持实时动态的插件。

无全局光照,只有直接光照+天空盒环境光

引入动态物体

        和实时光照一样,放置光照探针重新烘焙就行了。

2.Subtractive模式混合光照:

        Subtractive 光照模是一个注重性能的模式,这在低端硬件上非常有用,因为低端硬件需要注重性能,并且只需要一个实时阴影投射光源。这种光照模式不会提供特别逼真的光照效果,而是更适合风格化美学,例如卡通风格。因此在实际使用时会有一些奇怪的效果,下面会讲解。

        先看看描述,说的也很清晰,混合光源对静态物体提供烘焙的直接光和间接光,动态物体接受主平行光提供的实时的直接光并且可以投射阴影到静态物体上。

        因为直接光烘焙在了静态物体中,所以此时移动光源直接光照不会有任何变化,其实烘焙了直接光也就意味着烘焙了阴影(注意烘焙直接光和提供直接光的区别),在移动光源时场景中烘焙好的物体的直接光照和间接光照和阴影不会有任何变化。

        要注意的是,描述说的不是很全,动态物体并不是只能接受主平行光的光照,它也可以接受其他光源的直接光照并产生阴影,只是主平行光会特殊处理。主平行光投射的阴影不仅会投射到静态物体上还会穿过静态物体。

已经烘焙了探针

        这个图看着很奇怪,动态胶囊体C的阴影怎么是红色的?为什么还能穿过方块F?是光照角度的问题吗?和其他胶囊体对比发现并不是光照角度的问题,胶囊体AB的阴影都是正常的。

        其实是因为阴影被烘焙到光照贴图中,所以 Unity 在运行时缺少将烘焙阴影和实时阴影准确地结合在一起所需的信息,也可以理解为没有遮挡信息。但是,Unity 提供了 Realtime Shadow Color 属性来减少光照贴图的影响,从而在烘焙阴影和实时阴影之间创建正确的混合视觉效果。还可以调整颜色来实现某种艺术风格。

        要注意的是,只有实时阴影和烘焙阴影重叠的时候才会使用RealTimeShadowColor,如图

        Subtractive中还有一个特性,就是静态物体无法使用高光效果,因为高光效果需要依赖实时光照的计算,静态物体的光照数据是烘焙的,无法得到实时光照数据。

        还有要注意的是,因为静态物体的光照和阴影都是烘焙的并不是实时的,而且主平行光是分开计算的,所以动态物体不会接受静态物体所产生的光照

        要对动态物体实施间接光照和之前一样,烘焙光照探针即可。

        如图,动态胶囊体在阴影中依然直接受到直接光照,要让他能模拟受到阴影的效果,就必须烘焙光照探针。为什么要说模拟受到阴影呢?因为它实际上还是没有受到阴影,只是周围的光照探针信息较暗让他比整体变暗了而已。

        如果读者自己尝试就会发现探针的位置其实很有讲究,因为现在所受到间接光其实是周围探针共同作用的。

        点击动态物体可以看到对其有影响的探针,最左下角的探针是黑的,左上方较暗,而右方的较亮。动态物体收到的光照是根据探针的光照信息来混合得到的,如果把左方的两个探针移动到更亮的地方那么动态物体左侧会更亮,反之会更暗。

3.Shadowmask模式混合光照:

        Shadowmask的作用是什么呢?在开发开放世界游戏中,如果地图很大,为了更好的视觉效果,最好能够计算所有的阴影,但是我们的性能不允许我们这么做,我们不可能计算所有物体的阴影,除非全是静态阴影。假设我们使用Subtractive模式,静态物体的实时阴影没有问题,但是动态物体却接收不到静态物体的阴影。如果我们想动态物体和静态物体的关系能够正确,并且可以有静态阴影,那么就要用到shadowmask模式。而相比Baked indirect,在近处使用实时阴影时远处也可以有静态阴影。

        混合光源提供实时直接光照,间接光被烘焙到光照贴图和光照探针中。为了烘焙阴影会生成阴影遮罩和探针遮挡关系,使用的阴影遮罩模式可以在编辑器的Qualtiy设置中设置。

        阴影遮罩模式有两种,分别是DistanceShadowmask和shadowmask。他们之间的主要区别是是否使用阴影距离,阴影距离也在下图中设置,shadowDistance就是。

3.1DistanceShadowmask

        再次查看描述,混合光提供直接光,间接光被烘焙。这两个简单,关键在于烘焙阴影,生成了Shadowmask和Light probe occulsion,这里的shadowmask其实就可以看成生成好的烘焙阴影贴图,而light probe occulsion就是光照探针遮挡关系,他是光照探针系统的一部分,也就是记录阴影的遮挡关系。有了它我们就可以完成subtractive模式中无法做到的使用间接光来计算阴影。

        描述里没有明确说明,但其实提供直接光照也包括投射阴影,所以,shadowmask中模式中同时存在静态阴影和动态阴影。其中shadowmask就是烘焙的阴影。

         实际上这个模式笼统来说就是远处用烘焙的阴影,近处用实时阴影,更简单的情况下用探针计算阴影。就这些。这个模式适合全静态场景但是需要正确光照效果的场景,或者说大地图场景但是静态光源。

        为什么要静态光源呢?因为这个本质还是烘焙的,如果光源变化但是远处的阴影不变和间接光不变看着就不合理。

        具体的光照处理如下图,其中的阴影贴图可以理解为实时光照用到的贴图,表中如果说用的是阴影贴图就代表用的是实时阴影。

     

3.2Shadowmask

    

       shadowmask模式其实本质上和Distance shadowmask差不多,只不过更省性能罢了。

        shadowmmask模式中阴影存储在贴图中,所以阴影距离相比Baked Indirect可以设置的更小,可以更节省性能。

光源说明

        上面所有的案例说的都是平行光,其他光源也差不多,只不过实时光照模式中只有平行光可以实时光照。Subtractive中主平行光阴影比较特殊。

        然后光源中还有一个模式:Baked模式,这个只能在混合光照模式中使用。

        

        它和Mixed的区别是它不会对动态物体产生光照。

        然和说一个特殊的光源:面光

      

        他没有模式设置,在混合光照模式下使用,直接烘焙就可以,他产生的光是从面上向四面八方反射,所以最终结果更加真实柔和但是烘焙时间更长

相关文章:

Unity全局光照详解

之前就学过但是太久没用又忘了,因此用最简洁易懂的语言做个记录。 全局光照分为两个系统,分别是实时光照和混合光照。(点击window/Rendering/Lighing打开此面板) 其中全局光照对于我来说都是新技术了,上一次学…...

外观模式的理解和实践

外观模式(Facade Pattern)是一种常用的软件设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。该模式定义了一个高层的接口,使得子系统更容易使用。简单来说,外观模式就是通过引入一个外观角色…...

【前端知识】Javascript进阶-类和继承

文章目录 概述一、类(Class)二、继承(Inheritance) 三、继承的实现方式作用一、类和作用二、继承和作用 概述 当然可以,以下是对JavaScript中类和继承的详细介绍: 一、类(Class) 定…...

Kylin麒麟操作系统 | Nginx服务部署

目录 一、理论储备1. Nginx概述2. Nginx与Apache的区别3. Nginx的服务配置 二、任务实施任务1 Nginx的编译安装1. Server配置2. 客户端测试 任务2 Nginx反向代理1. Server1配置2. Server2配置3. 客户端测试 一、理论储备 1. Nginx概述 Nginx是一个轻量级的web服务器&#xff…...

51单片机--- 串口控制仿真

51单片机--- 串口控制仿真 实验目标:51单片机接收串口数据,根据数据点亮LED。 实验步骤: 在Proteus里画出原理图 在Keil里用C语言编写程序 在Proteus中导入HEX文件,启动仿真 实验协议: 波特率115200 数据位:8位,停止位:1位,校验位:无。 命令格式: 一条命令为…...

<数据集>输电线塔杂物识别数据集<目标检测>

数据集下载链接 <数据集>输电线塔杂物识别数据集<目标检测>https://download.csdn.net/download/qq_53332949/90141102数据集格式:VOCYOLO格式 图片数量:1099张 标注数量(xml文件个数):1099 …...

HarmonyOS学习 --- Mac电脑获取手机UDID

一,手机打开开发者选项 1,打开“设置 > 关于本机”,连续点击7次版本号,打开开发者选项。 2,打开“USB调试”。 二,配置环境变量 获取OpenHarmony SDK 安装路径 /Users/admin/Library/OpenHarmony/Sdk/10…...

OpenIPC开源FPV之Adaptive-Link地面站代码解析

OpenIPC开源FPV之Adaptive-Link地面站代码解析 1. 源由2. 框架代码3. 软件配置3.1 默认配置3.2 加载配置3.3 更新配置 4. 通信例程4.1 TCP报文解析4.2 UDP报文发送 5. 特殊指令5.1 request_keyframe5.2 drop_gop5.3 resume_adaptive5.4 pause_adaptive 6. 总结7. 参考资料 1. 源…...

Linux Docker环境中解决中文字体乱码问题完整指南

问题背景 在Linux Docker环境中运行涉及中文显示的应用时(如Selenium网页截图、PDF生成等),经常会遇到中文显示为方块或乱码的问题。这是因为Linux系统默认没有安装中文字体所导致的。 解决方案 我们可以从Windows系统复制常用中文字体到D…...

[数据结构#1] 并查集 | FindRoot | Union | 优化 | 应用

目录 1. 并查集原理 问题背景 名称与编号映射 数据结构设计 2. 并查集基本操作 (1) 初始化 (2) 查询根节点 (FindRoot) (3) 合并集合 (Union) (4) 集合操作总结 并查集优化 (1) 路径压缩 (2) 按秩合并 3. 并查集的应用 (1) 统计省份数量 (2) 判断等式方程是否成…...

用于卫星影像间接RPC模型精化的通用光束法平差方法

引言 介绍了通用RPC模型的表达式,which has been down to death 描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。 每个影像都会对应一个三维点云,但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的,所以才需…...

关于Redis主从复制实验操作

需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! 需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! Redis主从复制需要一主二从(共三个Redis…...

【HarmonyOS】鸿蒙获取appIdentifier,Identifier

【HarmonyOS】鸿蒙获取appIdentifier,Identifier 一、前言 三方后台需要填写的所谓appIdentifier,Identifier信息,其实对应鸿蒙应用的appID。 二、解决方案: 注意,模拟器获取data.signatureInfo.appIndentifer为空…...

matplotlib(二)

目录 1、折线图(plot)与基础绘制图功能 1.1、设置图形风格 2、多坐标系显示图像 3、折线图的应用场景 1、折线图(plot)与基础绘制图功能 # import matplotlib.pyplot as plt # import random # #1.创建画布 # plt.figure(figs…...

Jenkins容器使用宿主机Docker(五)

DevOps之安装和配置 Jenkins (一) DevOps 之 CI/CD入门操作 (二) Sonar Qube介绍和安装(三) Harbor镜像仓库介绍&安装 (四) Jenkins容器使用宿主机Docker(五) Jenkins流水线初体验(六&#…...

基于前后端分离的食堂采购系统源码:从设计到开发的全流程详解

本篇文章,笔者将从系统设计到开发的全过程进行详解,帮助开发者和企业了解如何高效构建一套完善的食堂采购系统。 一、系统需求分析 在开发一套基于前后端分离的食堂采购系统前,必须对业务需求和功能模块进行详细分析,确保系统设…...

git使用教程(超详细)-透彻理解git

一.核心基础 核心概念有六个 首先请把与svn有关的一切概念暂时从你的脑海中移除掉,我们要重新认识本文所讲述的所有概念。 1.worktree worktree是一个目录,你在这里对文件进行增加、删除、修改。也就是我们常说的工作区。在git中worktree必须要与一个…...

Bugku---misc---隐写2

题目出处:首页 - Bugku CTF平台 ✨打开发现是一张图片,于是查看属性,放在010查看,这都是基本步骤了,发现里面有一个flag.rar!!!拿binwalk分析也确实存在 ✨于是按照压缩包的起始位置…...

数据仓库工具箱—读书笔记01(数据仓库、商业智能及维度建模初步)

数据仓库、商业智能及维度建模初步 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 博主在这里先把这本书"变薄"~有时间的小伙伴可以亲自再读一读,感受一下…...

将 Ubuntu 22.04 LTS 升级到 24.04 LTS

Ubuntu 24.04 LTS 将支持 Ubuntu 桌面、Ubuntu 服务器和 Ubuntu Core 5 年,直到 2029 年 4 月。 本文将介绍如何将当前 Ubuntu 22.04 系统升级到最新 Ubuntu 24.04 LTS版本。 备份个人数据 以防万一,把系统中的重要数据自己备份一下~ 安装配置SSH访问…...

Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。 集中化管理:借助Configuration注解,Spring Boot让用户能在一个或几个配…...

Python:类方法、实例方法与静态方法深度解析(补)

目录 一.实例变量 二.类变量 三.实例方法 四.类方法 五.静态方法 六.小结 总结 今天看程序时,发现自己好像忘了这三者的区别,所以重新写了一篇深度解析,希望之前看博客没看懂的小伙伴可以通过这个博客分清楚这三个方法。跟的是麦叔的课…...

Certimate:简化 SSL 证书管理的开源工具

引言 SSL(Secure Sockets Layer)证书对于保护网站和用户数据至关重要。然而,管理多个 SSL 证书可能变得繁琐和复杂。为了解决这个问题,Certimate 应运而生。Certimate 是一款开源的 SSL 证书管理工具,旨在简化 SSL 证书的申请、部署和续期流程。它特别适合需要管理多个域…...

rabbitMq举例

新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 生产者 代码举例 public String sendMsg(final String exchangeName,final String routingKey,final String msg) {} /*** 发送消息* param exchangeName exchangeName* param routin…...

人工智能增强的音频和聊天协作服务

论文标题:AI-enabled Audio and Chat Collaboration Services 中文标题:人工智能增强的音频和聊天协作服务 作者信息: Emil P. Andersen, Norwegian Defence Research Establishment (FFI), Kjeller, NorwayJesper R. Goksr, Sindre E. Ha…...

ctr: content digest XXX not found

1、问题描述 ctr 推送镜像到本地仓库报错 ctr: content digest sha256:b96e30ccb0a1e225493e53d4f81cb2c27183406e5f902ed43c4bf15dc6f21c9c: not found 2、问题原因 本人的平台是M1,正常情况下载镜像会自动按平台寻找版本,但是由于我下载的镜像版本没…...

java内存模型

文章目录 1.java内存模型2.重排序3.内存屏障3.1四类内存屏障指令 4.happens-before4.1 规则5.volatile5.1特性5.2规则5.3 内存语义5.4 内存屏障插入策略 1.java内存模型 java内存模型(JMM)定义了线程和主内存之间的抽象关系:线程之间的共享变…...

Java Object类与Objects类

1. Object 类 (1) Object类是Java中所有类的祖宗类,因此,Java中所有类的对象都可以直接使用Object类中提供的一些方法(public class Object)。 . (2) Object类常见方法 方法说明public String toString()返回对象的字符串形式public boolean eq…...

【目标检查】YOLO系列之:Triton 推理服务器Ultralytics YOLO11

Triton 推理服务器 1、引言2、Triton服务器2.1 什么是Triton Inference Server2.2 将YOLO11 导出为ONNX 格式2.3 设置Triton 模型库2.3.1 创建目录结构2.3.2 将导出的ONNX 模型移至Triton 资源库 2.4 运行Triton 推断服务器2.4.1 使用 Docker 运行Triton Inference Server2.4.2…...

力扣69. x 的平方根

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1:…...

关于目标检测YOLO 各版本区别v1-v11/vX/vR

概述 YOLO(You Only Look Once,你只看一次)是一系列开创性的实时目标检测模型,它们彻底改变了计算机视觉领域。由Joseph Redmon开发,后续版本由不同研究人员迭代,YOLO模型以其在图像中检测对象的高速度和准…...

求成绩的平均值,统计低于平均分的人数

【问题描述】编写函数double average(double score[ ], int n,int *m)对存放在实型数组中考试成绩进行求平均分和低于平均分的人数,要求在主函数里面进行班级人数和成绩的输入,调用average函数进行计算成绩平均值和低于平均分的人数后,返回主…...

SGD、BGD、MBGD 之间的区别

文章目录 SGD(Stochastic Gradient Descent,随机梯度下降)BGD(Batch Gradient Descent,批量梯度下降)MBGD(Mini-Batch Gradient Descent,小批量梯度下降) 前置&#xff1…...

Android -- WebView之loadData加载html字符串显示网页

目录 前言1. loadUrl 加载网页地址2. loadData 加载Html字符来显示网页3. loadDataWithBaseURL4. 总结 前言 最近在给一个老项目做64位so文件的适配,当应用发布到应用市场上后,用户反馈64位手机上的网页加载不出内容,但32位的手机上是正常…...

单片机:实现数码管00盗99显示(附带源码)

单片机实现数码管00到99显示 在嵌入式开发中,数码管是最常用的显示设备之一,特别适合用于显示数字信息。本项目的目标是利用8051单片机控制数码管实现数字显示,从00到99的循环显示。我们将通过按键或定时器来控制数字的增减,并通…...

大厂面试智力题大全(详细解题思路,持续更新)

目录 八个球有一个比较重,问称几次可以把较重的球拎出来,具体称重的方法是怎样的? 64 匹马 8 个赛道,找出前四名,最少赛多少场(腾讯) 一个城市的加油站数量 5L的水桶和3L的水桶怎么量出4L的水 有一堆粗细不均匀的绳子,燃烧完一个绳子需要2小时,如何用这些绳子凑出…...

使用 acme.sh 签发和自动续期 ssl https 证书

acme.sh 是一个热度非常高的签发和自动续期 https 证书的工具,虽然官网上提供了充分的操作说明,但是不够简洁,本文以在 nginx 中签发和配置http 为例,列出必要的几个简单步骤。 安装 因为网络原因,github 大部分人是…...

YOLOv9改进,YOLOv9引入DLKA-Attention可变形大核注意力,WACV2024,二次创新RepNCSPELAN4结构

摘要 作者引入了一种称为可变形大核注意力 (D-LKA Attention) 的新方法来增强医学图像分割。这种方法使用大型卷积内核有效地捕获体积上下文,避免了过多的计算需求。D-LKA Attention 还受益于可变形卷积,以适应不同的数据模式。 理论介绍 大核卷积(Large Kernel Convolu…...

docker安装mysql8

上一篇提到了docker安装mysql5.7和mysql8有所不同,这一篇说一下mysql8的安装 1、宿主机创建映射目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /data/mysql8/conf这里我放在了/data/mysql8目录下 2、拉取mysql镜像 docker pull mysql:8.…...

【云原生知识】Kubernets实践-前端服务如何访问后端服务

文章目录 概述步骤1:部署后端服务步骤2:配置Nginx步骤3:创建Nginx服务总结 如何确保 Nginx 能持续访问后端服务?相关文献 概述 假设你正在使用Kubernetes作为容器云平台,以下是如何配置Nginx以及相关服务,…...

M3DM的autodl环境构建过程笔记

文章目录 在3D-ADS环境https://blog.csdn.net/tfxzgp/article/details/144259472基础上构建(失败的记录,不用看)更换镜像重来(成功)安装缺少的包修改models.py中的RGB和点云backbone的路径修改main.py路径参数运行 在3D-ADS环境https://blog.…...

jmeter CLI Mode 传参实现动态设置用户数

一.需求 CLI 运行模式下每次运行想要传入不同的用户数,比如寻找瓶颈值的场景,需要运行多次设置不同的用户数。 二.解决思路 查看官方API Apache JMeter - Users Manual: Getting Started api CLI Mode 一节中提到可以使用如下参数做属性的替换&#…...

Mac系统下 jdk和maven 安装教程

一、jdk安装教程 1、先去官网选择对应版本下载 官网网址:Java SE | Oracle Technology Network | Oracle 中国 这里我选择的是jdk8的版本,如果你们想下载更高的版本就选择其他版本,目前大部分公司和教程使用jdk8的版本比较多。 点击macos&a…...

pyfink1.20版本下实现消费kafka中数据并实时计算

1、环境 JDK版本:1.8.0_412python版本:3.10.6apache-flink版本:1.20.0flink版本:1.20kafka版本:kafka_2.12-3.1.1flink-sql-connector-kafka版本:3.3.0-1.202、执行python-flink脚本 从kafka的demo获取消…...

【经验分享】私有云运维的知识点

最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...

影像组学+病理组学+深度学习人工智能应用

影像组学 基础学习内容: 特征提取:使用pyradiomics进行形状、纹理、小波变换等特征提取。特征筛选:应用ICC、相关系数、mRMR、Lasso等方法。建模:使用LR、SVM、RF、XGBoost、LightGBM等机器学习算法。模型评估:通过A…...

how to write 述职pptx as a tech manager

As a technical manager, crafting an effective 述职 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…...

用户发送请求后服务端i/o工作过程

华子目录 服务端i/o介绍磁盘i/o机械磁盘的寻道时间、旋转延迟和数据传输时间常见的机械磁盘平均寻道时间值常见磁盘的平均延迟时间每秒最大IOPS的计算方法 网络i/o网络I/O处理过程磁盘和网络i/o 一次完整的请求在内部的执行过程 服务端i/o介绍 i/o在计算机中指Input/Output&am…...

功能篇:springboot实现防盗链功能

防盗链(Hotlink Protection)是一种防止其他网站直接链接到你网站的资源(如图片、视频等),从而节省带宽和保护内容的有效手段。在Spring Boot应用程序中实现防盗链功能,可以通过多种方式来达成,例…...

MySQL迁移SQLite

将 MySQL 的表结构和数据迁移到 SQLite,可以通过以下步骤实现。这个过程主要包括导出 MySQL 数据库到 SQL 文件,然后将其导入到 SQLite 数据库中。 步骤 1: 导出 MySQL 数据库 首先,需要将 MySQL 数据库导出为一个 SQL 文件。可以使用 mysq…...