解密照片级表现技巧(一些关于UE4建筑表现的废话)

2023-10-28

文章转自虚幻中国论坛 Alex_Tsui 

各位老司机好,我是Alex,前几天分享自己的FPS项目文件的时候也说过会陆陆续续分享一些项目文件,供像我一样的菜鸟和爱好者学习交流。那么今天就分享一个个人的建筑表现作品。引擎的屏幕高清截图有BUG,让右边地上的桶变黑了,所以我就屏幕截图好了。










Wait a second! 做伸手党真的好吗?当然不好,大家喜欢照搬照抄老外的东西,但是不知其所以然。大部分老外喜欢在论坛上讨论如何实现这样那样的效果,甚至一个小参数都讨论好久,而不是留个言拿了资源走人。就算你拿了Kooola和国内大神“狼“的源文件也只能解一时之渴,但是不能养活所有项目。想听我扯淡,往下看。
那么随我一起剖一下如何达到照片级的建筑表现吧。前两天串串版主分享了一个国外的U3D室内项目,如果你仔细观察图片,你会发现红圈内地板对椅子的反射是不正确的,而箭头指的椅子腿由于缺乏全局光照带来的光影效果而产生了错误的效果。


再比如下图,玻璃茶几面并没有反射杂志和书,而是反射了一些奇奇怪怪的东西。


有些人觉得没必要较真,但是照片级的渲染或者表现难道不是较真才能达到的吗?再说回这个室内场景,整体氛围和光影效果相当不错,模型也很精致,可能是U3D的室内表现极致了,只是全局光照算法还不够完美,虽然在阳光充足的日景里并不容易发现光影的错误。可是再想提升怎么办?废话,用UE4啊!
然而有些同学发现自己用UE4做出来的和U3D差不多,比Vray渲染出来的静帧效果差太多了。放在几个小版本前,这确实不是你的错,因为之前Epic官方根本没想到会有这么多人想用UE4做建筑表现,而追求极致的艺术家们发现UE4的间接光照Indirect Light或者全局光照GI计算的并不准确,于是在论坛上关于Lightmass和BaseLightmass.ini配置文件中的参数展开了激烈的讨论和测试。包括来自Evermotion、UE4arch的各大神以及UE4建筑表现鼻祖Kooola大神
https://forums.unrealengine.com/showthread.php?88952-Lets-make-Lightmass-EPIC-(and-understandable)
此讨论引起了官方工作人员Daniel W.的重视,并且修改了光线追踪算法中的BUG,并且在4.11带来了lightmass Portal,使间接照明的质量大大提升。其实在第一个纯GPU渲染引擎Octane Render中早就有了portal material,用法也是放在每个进光口标出采光重点增加效率。另外4.11版本也加入了令人激动的Intel Embree照片级的光线追踪内核,构建光照时间缩短一半左右,一半啊亲们!!4.12又带了Planar Reflection,可以将曾经诟病已久的镜面更好的呈现了。然而4.12中,Evermotion和Kooola常用来模拟天光的反光板不能再用了,因为反光板类似于Vray渲染的时候在窗口补光手法。会增加不少的渲染时间,而且毕竟是模拟出来的天光,怎么能媲美Portal加天光的完美组合。So 官方也无情抹杀了这个做法(Actor hidden in game使反光板反射的光照也隐藏了,除非你想看到一个大白板在窗口悬着,没人阻止你。。。)
那么问题来了,在优化如此贴心的引擎中,该怎样利用好现有的条件制作顶级效果呢?

模型:控制面数,细节到位。光照UV好好展。Light map resolution看你对时间和质量的追求了。可以给地面/天花/墙壁 1024 获得更好的阴影效果,大点的家具256/512,小件128/64。没有固定值,灵活些。
材质:室内材质一共没多少种,资源很多教程也很多。增加真实感可以在粗糙度和法线节点中加一些划痕,脏印和污渍什么的,让物体从三维物体,变成带有岁月痕迹的四维物体。(窝草,突然觉得自己很能吹逼)
灯光:个人觉得是场景效果是否真实至关重要的地方,下文着重讲!
后处理:Post process volume是一个很好的艺术表达组件,但是也有使用技巧,后文也会提到。
BaseLightmass.ini:引擎的Config文件夹中的配置文件,参数影响构建灯光,追求极致可调整某些参数,下文讲。

前方高能:
追求真实,那就从现实生活中找答案。日景有阳光和天空光(白天开人造光都是土豪),夜景有天空光和人造光。日景以往的做法都是在窗口补Spot light,要不就是用Kooola的反光板套路来给室内提供足够的照明,但是现实生活中谁家在窗口放灯和反光板?这样的补光不仅增加构建时间,也使得室内和室外亮度或者光源完全不同,那这就不是现实了,也违背真实。所以如果你有Evermotion Vol1的五个项目源文件,你会发现有四个室内封闭项目使用了反光板,而沙滩边的建筑就没有用,因为使用反光板会露馅的,恰恰也是这个室内外结合的效果不如其他四个。让室内外受光相同的最佳办法也是最真实的办法就是只用Sunlight和Skylight,并且不要修改Indirect Lighting Intensity,默认值1是官方给出的接近真实的物理参数。当然可以修改两种自然光源的直接光照Intensity来满模拟不同的天气和光照环境。通过世界设置中强大的Lightmass来搞定你需要的间接光照和全局光照。一般情况下,我只调整四个关键参数,官方对其解释如下:


我的测试和理解比较接地气——Static lighting level scale:默认值为1,小于1,阴影细节增加或者变密,构建时间增加。测试时可以取值在0.6-1,最后成品可取值在0.15-0.4,小于0.15没有明显区别,没有必要浪费时间。
Num Indirect lighting bounces:人如其名,就是间接光照反弹次数,反弹次数越多肯定计算的越精准,只不过后面几十次对效果没什么提升,但是不会占用很多时间,所以1到100都可以。建议30-50即可,50以上偶尔会遇到计算BUG,完全看脸。
Indirect lighting quality:依然人如其名,间接光照质量,那必须是数值越高效果越好,花费时间越多。测试时1-5即可,成品8-10。
Indirect Lighting Smoothness:官方解释的很到位,没有补充。测试时可以保持1不变,成品时,如果上面那个参数给的比较高,那么可以适当降低smoothness到0.75-0.8。
其他参数:
Use Ambient Occlusion:是否使用环境遮挡。我习惯用Post process volume中的AO,易调整,效果也不错。所以我一般不选这个。
Compress Lightmaps:是否压缩lightmap,我一般不勾选,质量和效果是我追求的。

关于Post process Volume: 我觉得这个完全靠审美了,为了达到你想要的效果,慢慢调吧,PS不错的或者美图秀秀玩的6的可以修改LUT(我就喜欢用美图秀秀.....简单粗暴)。
Auto Exposure:Epic爸爸操碎了心,还帮我们模拟人眼对光照明暗变化的适应效果,那就用呗!保持默认。如果你需要增加Exposure Bias来提升屋内亮度,只能说明在现实中你窗户开小了!除非为了达到某些艺术效果和需求,你可以调整Post process volume中的任何参数。
AO:环境遮挡,通俗点就是接触边缘阴影,多数时候是墙拐角,由于光线在靠近角落处反弹能量递减,越来越弱就变黑了。调参数到你满意为止。Screen Space Reflection:重点,菜鸟我觉得SSR是UE4主要的反射算法,所以为了提升反射质量,可以在此处把Quality增加到100,Roughness我喜欢1。

关于BaseLightmass.ini: 当你觉得灯光构建的效果还是有瑕疵,不能满足你,那么只有修改Config文件夹中的配置文件了,追求细节不是错。
 

NumHemisphereSample:知道Vray的朋友们可能会知道发光贴图中的一个参数,Subdivs(模型细分)其实翻译不准确,应该是半球细分,和我们这个值道理是一样的,这个参数与消除光照的计算缺陷和不足有关。数值越高,越准确,当然也约耗费时间,下面是UE4arch大神做的测试对比,右侧墙壁上阴影有明显改善。另外:lightmass中的Static lighting level scale数值给的越小,越需要增加半球细分数来消除阴影BUG。 半球细分默认值16,可以在测试时给64,机器好的在成品时可以给256/512。






 

Num Irradiance Calsulation Photons:参与照度计算光子的数量,默认是400,绿字备注的意思是如果不追求和探索高质量,400足够给大家一个相对平滑的效果,但是这满足不了我们的!给4096!

 
关于这两个参数官方爸爸Daniel W.给出的解释如下:

我的理解就是光子每一次反弹后,只有一小部分光子会进行下一次反弹,所以在反弹2次后所剩的光子很少很少,每次反弹还会减少光子数量,迭代下去效果微乎其微,所以Indirect lighting bounces给的再大都不会影响时间。但是可以通过修改Indirect Photon Density和 Indirect Inrradiance Photon Density这两个参数来控制每次反弹后依然坚守岗位继续反弹参与计算的光子数量。同样道理,给的值越大,越耗费计算时间。但是可以有效减少出现的色溢,光斑和未知的光照计算BUG,国外大神做的测试对比如下:
我标出了有色益和光斑的地方,这种BUG多发生在物体相交处。






结论就是数值越高,消除的BUG越多,当然花费时间越长,所以国外大神给出了一组不同阶段的测试参数,用来平衡时间与质量。

测试渲染:
质量Medium
世界设置-Lightmass:
Static Lighting Level = 0.6
Num Indirect Lighting Bounces = 20Indirect Lighting Quality = 10
Indirect Lighting Smoothness  = 1.1
Baselightmass.ini :
NumHemisphereSamples = 64
IndirectPhotonDensity = 3000
IndirectIrradiancePhotonDensity = 1500
IndirectPhotonSearchDistance = 180

进一步渲染:
质量High
世界设置-Lightmass:
Static Lighting Level = 0.4
Num Indirect Lighting Bounces = 30Indirect Lighting Quality  = 10
Indirect Lighting Smoothness  = 0.9
Baselightmass.ini :
NumHemisphereSamples = 128
IndirectPhotonDensity = 6000
IndirectIrradiancePhotonDensity = 3000
IndirectPhotonSearchDistance = 180

最终渲染:
质量Production
世界设置-Lightmass:
Static Lighting Level = 0.2 (Below that we have not much impact)
Num Indirect Lighting Bounces = 100
Indirect Lighting Quality  = 10
Indirect Lighting Smoothness  = 0.75
Baselightmass.ini :
NumHemisphereSamples = 256 or 512 (above 512 will have not much difference)
IndirectPhotonDensity = 12000 (If there are still flickers of artificial lighting, increase this value along with the parameter below)
IndirectIrradiancePhotonDensity = 8000
IndirectPhotonSearchDistance = 180 (180 - 240)

有的同学用上面的参数构建完了发现,反射还是很渣渣,反射表面有很多颗粒状的东西,国外也叫grainy reflection。这个好解决,在控制台输入指令  r.SSR.Quality 4,注意4前面有个空格。但是如果大家觉得即使到最高级别4了还是有点点,并且你的显卡也很牛逼,比如我在公司电脑上有双路1080,那我必须冲击高质量啊!那么我就要修改引擎Shader文件夹中的ScreenSpaceReflections.usf这个文件。在最高质量4 中的参数步数以及射线数都是12,12。你显卡牛逼的话都调成64。吃不消就往下调。反正你会发现你的帧数会有明显变化。没有效果,那么修改完usf文件后,退出引擎重新进一次,然后控制台输入 r.SSR.Quality 4
 
另外对抗锯齿有要求的同学,可以提高PostProcessVolume的抗锯齿级别,控制台输r.PostProcessAAQuality 6。基本上控制台输入了上面两个命令之后编辑器中的预览效果很牛逼了。如果运行游戏或者场景后效果消失或者有损失,那么在关卡蓝图中做下面节点。
 
file:///C:/Users/liyan/AppData/Local/YNote/data/c351951511@126.com/98cc7542440143a887754b27895cade6/clipboard.png
基本上,理论的东西就到这里了。

下面可看可不看,是我对这次作品的一些把控。我没有完整的3DMAX场景,也懒得做,所以找了Evermotion的一个室内作品,是一个建筑设计工作室,也是我曾经学习和熬夜的地方,有点情感在里面。展UV工作室插件完成的,我比较懒,没有手动展。但是材质和场景氛围我花了心思,下面请看详解:

有了强大的天空光和全局光,可以看到左下角图纸在桌面上的反射,每个稍微凸起的模型细节所产生的阴影特别真实动人,眼睛上对环境HDR的反射,包括镜片厚度带来的折射感让我很满意。
file:///C:/Users/liyan/AppData/Local/YNote/data/c351951511@126.com/9b0d9d1086bd42488b1688fd4921df83/qq%E6%88%AA%E5%9B%BE20160727104459.png

下面这张图我对明暗处理比较满意,而且把光线的体积感表达出来了。不满意的就是茶杯UV展的不好,导致光照贴图烘焙出来是黑的,本来是白白的茶杯,WTF.....还有道具桶上的反光我不知道是茶杯反射上去的还是BUG,还需要研究。
file:///C:/Users/liyan/AppData/Local/YNote/data/c351951511@126.com/c4131117b9354fcab9c6b06e66b3a417/qq%E6%88%AA%E5%9B%BE20160727104715.png

下面的细节,可以看到强大的skylight和GI把反射和阴影呈现的极为逼真
 
file:///C:/Users/liyan/AppData/Local/YNote/data/c351951511@126.com/3a46c6ff695649f59d3348db4f840582/qq%E6%88%AA%E5%9B%BE20160727105011.png
下面这张图我对材质花了心思,我觉得细节是最打动人的。如果大家用马克笔或者钢笔等等在纸上画画,那画笔痕迹在侧面看是呈现反光效果的,而不是纯黑色。(就问你这个B装的可以不)。另外窗帘和窗贴都是次表面材质,既可以透光,也可以看到外面的东西,只不过次表面的透明度不一样。但是我对室外场景的进深感和立体感不满意,外景应该亮一点,虽然马路和车都在楼的阴影下,,不会被阳光直射,但是依然缺乏立体感,让人误以为是贴图。
file:///C:/Users/liyan/AppData/Local/YNote/data/c351951511@126.com/d66d563d0e794b53831e9e0c5e7a1caf/06.png

牛逼吹的差不多了。该把干货给大家了。

源文件获得方式:
小弟我不喜欢商业的东西,只想追求艺术和技术,所以请在下方留言区留下你觉得国外让你在UE4建筑表现,注意是建筑表现上受益最深的网站,帖子,资源,书籍等等。把好知识分享给大家,我会把源文件通过站内私信给留言的小伙伴。

下一个帖子可能是有关实时动态全局光照VXGI的测试分享与讨论帖吧,因为公司电脑显卡牛逼,想试试,嘿嘿。Peace Out~~~

Reference:
https://forums.unrealengine.com/showthread.php?88952-Lets-make-Lightmass-EPIC-(and-understandable)
https://ue4arch.com/ue4archs-unreal-engine-4-lighting-workflow-part-1/
https://docs.unrealengine.com/latest/CHN/Engine/Rendering/LightingAndShadows/Lightmass/index.html
https://forums.unrealengine.com/showthread.php?90497-BaseLightmass-ini-A-Summary-From-Various-Posts


(题外话:UE4引擎在建筑可视化上的效果提升和推进离不开官方论坛上各大神的讨论以及意见,Daniel W也因为用户们的体验反馈进行了引擎修改,所以讨论和提出意见永远比默默无闻,听之任之的好,拿了资源就跑,毫无意义。提出你的想法或者建议,你完全可以说我上面写的都是垃圾,你的做法更好,列出你的做法,这样你也满足装逼感,我们大家也学习到了,双赢对不对。我不追求商业化,所以之后的所有测试项目也会免费分享给大家。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解密照片级表现技巧(一些关于UE4建筑表现的废话) 的相关文章

  • ue4项目运行还可以鼠标点击

    ue4项目运行还可以鼠标点击
  • Niagara官方示例笔记 - 盘点自带重要模块

    Emitter State life cycle生命周期控制 发射器选择system 所有发射器都在system的state里设置生命周期 选择self 发射器独立控制 可以给发射器创建不同类型变量 使用set parameter模块计算
  • UE4 Slate 柱状图

    Fill out your copyright notice in the Description page of Project Settings include ZZTWidget h include Windows AllowWind
  • 解决UE4启动出现UE4Editor.exe-无法找到dll入口的弹窗

    UE4编辑器启动 一开始遇到的问题如下 上网找问题得到的解答都是在cmd下利用regsvr32 exe注册该dll到注册表 但是也提示报错 上网搜了一下 得知原因是生成该dll的源码没有实现 DllRegisterServer和DllUne
  • UE4和C++ 开发-新手常用C++API

    C 暴露给蓝图可编辑 UCLASS Blueprintable 创建FString FString Printf TEXT aa bb 蓝图调用变量 UCLASS ClassGroup Custom meta BlueprintSpawna
  • ue4 DerivedDataCache报错

    启动ue4时报错 报错堆栈如下 从堆栈可以看出是DerivedDataCache报错 从堆栈的CachedDataProbablyExists函数更可以看出是在判断cache是否存在 故而想到删除项目目录下DerivedDataCache中
  • UE4 材质 生成随机数

    参考之前的文章中关于随机数和noize的 https papalqi cn 201707 cid 558 html
  • 【UE4】【C++】PlayerController、AIController获取玩家对应的Pawn

    先创建一个基本的C 类 Tank 因为要对Tank进行各种操作 移动 寻找目标 所以选择了Pawn类型 PlayerController 再创建一个C 类 TankPlayerController 用以控制玩家操作的对象 Tank 创建好后
  • 基于个人开发的C++MySQL插件使用UE4蓝图连接MySQL数据库

    关于UE4连接数据库 其实很简单 本质上就是使用c 来建立DB操作 再通过封装成蓝图可调用的函数即可 当然一般网络游戏是不需要在蓝图中连接数据库的 因为db操作放在客户端来做是不安全 也是不合理的 试想一下 我如果把你的游戏客户端破解了 是
  • UE4 导航网格的使用

    在使用导航网格前 应先设置项目导航系统支持的导航代理者 Agents 在项目设置中 找到导航系统页面 DirtyAreasUpdateFreq 表示导航网格变化时 检测变化并更新的频率 这里可以设置导航系统的一些参数 包括是否允许客户端导航
  • 专题详解-5G接入控制(1)

    相关文章会在公众号同步更新 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避免通过二手 甚至多手的资料 以讹传讹误导网友 最近工作中遇到了一些5G专网接入限制的问题 以前没仔细研究 借着解决这
  • UE4-蓝图函数库

    UE4 蓝图函数库 概述 蓝图函数库 Blueprint Function Library 是一个静态函数的合集 提供不与特定游戏性对象绑定的效用功能 即不用绑定到对象身上 再到蓝图中进行调用 可以非常方便的将代码中的函数暴露给所有蓝图使用
  • [UE4笔记] 3DUI空间交互

    在Actor中使用widget的时候制作3DUI 如果直接选择World模式 鼠标和UI是无法产生交互的 只要勾选了红框里的选项 就可以正常交互了 老是忘记 所以写个笔记记录一下 效果 注意 如果你还是点击不到 输入控制台命令showfla
  • ue中的经纬高转xyz的问题

    在ue中 做了个地球仪 发现经纬度转地心坐标系老是出问题 后来发现 是转ue时 x y坐标要互换 也对 因为在cesium for unreal中还有一系列ecef转ue的相关函数 即下面的代码中 xy需要互换 在ue中才能正常使用 偏心率
  • UE4_积分相同排名显示问题

    找了一下ue4 rank 函数相关 没找到合适的 自己简单写了个 解决积分相同时名次要一样 之后顺位排序 中国式排名 蓝图实现 c 原理一样 1 2 3 4 5
  • 第十七篇:Unity/UE4如何实现Cave空间(一)

    首先什么叫CAVE空间 CAVE是围绕着观察者具有多个图像画面的虚拟现实系统 多个投影面组成一个虚拟空间 理论上CAVE是基于计算机图形学把高分辨率的立体投影技术和三维计算机图形技术 音响技术 传感器技术等综合在一起 产生一个供多人使用的完
  • 4,引擎初始化--(5)初始化actor--6,生成PlayActor--(2)玩家登录--3,PostLogin()(学习资料来自于ue4游戏框架)

    一旦PlayerController生成出来 world关于玩家的网络的初始化工作全部完成 接下来 进行PostLogin 从而在玩家加入游戏时 能做一些设置工作 默认情况下 GameMode会为新生的PlayerController建立一
  • UE4(Unreal Engine4)在蒙太奇动画中添加音频轨道通知

    UE4系列文章目录 文章目录 UE4系列文章目录 前言 一 遇到的问题 二 操作步骤 前言 UE4 Unreal Engine4 在蒙太奇动画中添加音频轨道通知 我们想在某一帧动画中添加声音 比如我们想在动画的第13帧这里添加音效 一 遇到
  • 蒙特卡洛积分、重要性采样、低差异序列

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

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态

随机推荐

  • openwrt单网口进不了登录界面

    图一 图二 图一是刷完固件后 图二是网线直连电脑的IP配置 进不了登录界面 也ping 不通 请教是什么原因
  • 使用命令恢复postgres数据库报错psql: FATAL: role "root" does not exist 解决方案

    因为是从其他地方备份出来的sql文件 如果直接用pgAdmin4因为格式问题报错input file appears to be a text format dump Please use psql 所以换用命令行执行 但是出现psql F
  • 如何使用vant库的loading组件

    第一步 main js文件引入下载的loading 全局引入ui组件 import Vant from vant import vant lib index css Vue use Vant 第二步 在vuex中定义全局变量loading
  • Java Utils工具类大全

    源码和jar见 https github com evil0ps utils Java Utils 封装了一些常用Java操作方法 便于重复开发利用 另外希望身为Java牛牛的你们一起测试和完善 欢迎入群263641914 一起封装和完成常
  • 鉴权大全(cookie、session、token、jwt、单点登录),深入理解和搞懂鉴权

    先从状态说起吧 众所周知http是无状态的协议 也就是说 HTTP 请求方和响应方间无法维护状态 都是一次性的 它不知道前后的请求都发生了什么 是不是可以单纯的理解为它是一个超级无敌健忘的协议 但有的场景下 我们需要维护状态 最典型的 一个
  • 关于mipi camera 传输速率的计算

    假设图片的分辨率是 1600x1200 帧率按照 30HZ来计算 在理想状态下 未包含 RGB 信号的前后肩宽度 总传输速率为 1600x1200x24x30 1024 1024 1318 4Mbps 如果是单通道传输 则每通道数据传输速率
  • C++:内存管理

    目录 学习目标 1 C C 内存分布 2 C C 动态内存管理 2 1 C动态内存管理 2 2 C 动态内存管理 3 operator new与operator delete函数 4 new和delete的实现原理 5 定位new表达式 学
  • linux fdisk的分区和格式化和挂载相关操作说明

    注意 分区的时候要umount磁盘之后才能分区 在Ubuntu用fdisk分析需要root用户权限 第一步 先把设备卸载掉 解除占用 caizd ubuntu home share lsblk 查看大小空间 caizd ubuntu hom
  • Air780E

    目录 基础资料 探讨重点 参考阅读 实现功能 硬件准备 软件版本 腾讯云物理网平台接入 1 新建项目 2 新建产品 3 添加设备 4 接入方式选择 5 官方密钥认证设备接入指引 6 示例 采用Python实现 HMAC SHA1 算法 结果
  • python读取txt文件(多种方法)

    原始数据 唐诗一百首 txt 方法1 f open 唐诗一百首 txt encoding gbk txt for line in f txt append line strip print txt line strip 去除首尾空格 enc
  • QT中的数据类型转换总结

    一 QString的转换 QString转QByteArray QByteArray byte QString string byte string toLatin1 QString转String QString string std st
  • spring-kafka 会创建多少线程来消费你的topic

    平时工作中 我们对接kafka主要使用的是spring kafka 但是指定的topic到底如何设置线程数 设置的线程数作用范围是什么 详细很多人并不清楚 先上结论 spring kafka是基于group来分配线程数的 在spring k
  • IDEA提示类注释的wrong tag警告的解决办法

    当创建一个类的时候 给类写上注释时 出现类似于 Wrong tag date less Ctrl F1 这种警告 解决方式是 alt enter gt add to custom tags 之后可以看到修改 红色圈位置 以及警告的消失 转载
  • 对 PhD一年级新生有什么建议?

    来源 https www zhihu com question 32210068 answer 624547698 编辑 深度学习与计算机视觉 声明 仅做学术分享 侵删 作者 王晋东不在家 https www zhihu com quest
  • 开启第三方地图(高德)

    public class OpenGDMapUtil param mActivity 上下文 param sLatLng 开始点的坐标 param sPosition 开锁的位置 param ePosition 结束的位置 param eL
  • 常用的16个Java实用工具类,Java开发人员请收藏!

    在Java中 实用程序类是一个定义一组执行常用功能的方法的类 这篇文章展示了最常用的Java实用程序类及其最常用的方法 类列表及其方法列表都按流行度排序 该数据基于GitHub随机选择的50 000个开源Java项目 希望您可以通过浏览列表
  • cocos creator制作微信抖音小游戏《黄金矿工》

    微信小游戏 抖音小游戏 非常适合个人开发者创业 不用版号 门槛低 同时抖音小游戏的系统算法推荐 能让好的游戏脱颖而出 你要做的就是把游戏做好就可以了 这个系列的文章 配套了视频教程讲解与课程资源 课程源码 下面开始讲解黄金矿工的具体制作流程
  • python安装pillow

    安装pillow python的图形界面库 第一种方法在Dos界面输入pip install pillow 但是不知为何总是失败 搞了好几次都没成功 第二种方法 在 https pypi org 中找到对应的pillow 包括版本windo
  • Exchange Powshell 日常运维

    打开Exchange命令行管理工具 输入以下命令 PS 黄色背景标注为变量 需要根据实际情况修改 给administrator赋权 否则在下面运行Search Mailbox的时候会无法识别该命令 New ManagementRoleAss
  • 解密照片级表现技巧(一些关于UE4建筑表现的废话)

    文章转自虚幻中国论坛 Alex Tsui 各位老司机好 我是Alex 前几天分享自己的FPS项目文件的时候也说过会陆陆续续分享一些项目文件 供像我一样的菜鸟和爱好者学习交流 那么今天就分享一个个人的建筑表现作品 引擎的屏幕高清截图有BUG