UnrealEngine4
文章平均质量分 65
繁弱
游戏引擎开发,南京大学 软件工程 本科 硕士
展开
-
UE4场景流程规范-纹理压缩(美术版/程序版/太长不看版)
项目中发现有些贴图格式的设置和使用还是有些错误,故整理一份有关的说明给项目美术人员看看,顺便解答自己的一些疑惑,文中分为三个版本,分别是太长不看版:直接看结果,那种贴图用哪个格式美术版:除了结果,稍微介绍一下每种格式的细节程序版:主要解答我自己以下几个疑问,如果你也有这些疑问,可以看看太长不看版:BaseColor等就一般使用BC1或者BC3(有 alpha 用 BC3,没有就用 BC1),一般勾选 sRGB,如果错误导入进来 alpha,可以勾选 Compress without.原创 2021-03-16 23:19:54 · 1067 阅读 · 0 评论 -
Rendering-Camera from Real to Unreal(1)-真实相机
目录焦点(focus)/焦距(focal length)Focus distance与Focal length的区别弥散圆(Circle of Confusion)景深(Depth of Field)景深和焦深这一篇主要学习一下现实中相机有关的一些专有名词基本都在下面这张图里, 和它们的解释焦点(focus)/焦距(focal length)焦距是指平行光入射时从透镜光心到光聚集之焦点的距离,是焦点到面镜的中心点之间的距离。而照相机的成像原理依赖于凸透镜的成像规律:当原创 2021-03-13 17:57:07 · 383 阅读 · 0 评论 -
Rendering-UE4-制作星球和外太空
目录Planet LanscapeCloudMoonEclipse 月食StarGalaxyFoliage && GrassVolumetricClouds &&SkyLight RealTimeCapture参考官方视频:From Ants To Outer Space | Inside UnrealPlanet Lanscapelandscape 使用 world creator 创建了 landscape 用到的 he...原创 2021-02-18 20:32:49 · 2150 阅读 · 3 评论 -
Rendering-球谐光照推导及应用
球谐函数是球面坐标系下的拉普拉斯方程(f(x,y,z) = 0 的泊松方程)中角度部分的解,这里参考 球谐函数 自己手推一遍先看球面坐标系下的拉普拉斯方程的形式其中表示拉普拉斯算子,表示 方位角 Azimuth Angle,表示 天顶角 Zenith AngleRef: https://zh.wikipedia.org/wiki/%E7%90%83%E8%B0%90%E5%87%BD%E6%95%B0 ...原创 2021-02-14 15:43:30 · 1862 阅读 · 0 评论 -
UE4 Engine Fix-找回4.24后失去的Matinee
目录:第九艺术-目录好久没写了,先简单写一个不知道有没有人和我一样,相比 Sequence 还是更喜欢 Matinee 多一点,最主要的原因还是相比 Sequence 的笨重,封装的那么严实,还是更喜欢的 Matinee 的轻便,逻辑简单明确,当然,还是因为这样改起来好改,比如在 Matinee 里加一些回调,可以把很多不想运行时Tick里才执行的东西放到这里,在编辑器里直接就能看,诸如此...原创 2020-04-19 21:40:24 · 1089 阅读 · 3 评论 -
Rendering-UE4-OcclusionCull 遮挡剔除
目录0.0 WaitOcclusionTests0.OcclusionCull1. RenderOcclusion,筛查提交OcclusionCull整理的结果2. RenderHzb,构建HZB,如果允许HZBOcclusion,就会提交HzbTest3. FinishOcclusion,4. FenceOcclusionTests,从Render的InitVi...原创 2020-04-19 20:49:48 · 3291 阅读 · 0 评论 -
UE4-ReplicationGraph源码分析-整体流程
目录:第九艺术-目录这部分主要是自己之前看有关部分整理的笔记,对应源码看比较好格式太难调整,这里就直接放图片了原创 2020-01-26 21:15:55 · 972 阅读 · 0 评论 -
UE4-ReplicationGraph源码分析-基础
目录:第九艺术-目录目录ReplicationDriver在NetDriver中的写法基础类:辅助类Engine Fix:ReplicationEvent:DormancyFlush/ForceNetUpdate/DormancyChangeReplicationGraph的初始化构建这部分主要是自己之前看有关部分整理的笔记,对应源码看比较好Replicatio...原创 2020-01-26 21:11:58 · 1878 阅读 · 0 评论 -
UE4 Engine Fix-Movable的 SkyLight 导致 SSS 过度曝光的问题
目录:第九艺术-目录目录起因问题Stationary 的SkyLightMovable 的SkyLight起因问题起因问题是 Movable SkyLight 的情况下,Character会整体泛白,基本看不出来原本的颜色而 Stationary 下 是正常的UE4 是使用的 SSSS,可分离的次表面散射算法,具体是在 下图 SubsurfaceScattering...原创 2020-01-26 17:11:16 · 1510 阅读 · 0 评论 -
Foliage篇-UE4 ProceduralFoliageSpawner 拓展
目录:第九艺术-目录开放世界使用 ProceduralSpawner 生成植被的话,有一个主要的问题是,它默认只生成在 PersistentLevel里,这对于一般使用 StreamLevel 的大世界肯定是不行的,远处的植被是可以放到子关卡里随着距离做加载卸载的,而由于之前说的,笔刷工具才能读取 UISettings获取PaintTool上的是否绘制在当前 Level的设置,所以为了让Pro...原创 2020-01-26 17:05:46 · 1382 阅读 · 0 评论 -
Foliage篇-UE4笔刷功能拓展
目录:第九艺术-目录基础逻辑都和前面类似,这里就不再细说了,分享一些可能会有帮助的工具,需要的话尽管拿去~反向LandscapeLayer检查:InvertLandscapeLayerCheckFoliageType.h 里添加属性 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Placement, meta = (R...原创 2020-01-26 15:30:55 · 1852 阅读 · 0 评论 -
第九艺术-目录
整理一个目录Foliage篇Foliage篇-ProceduralFoliageSpawner 源码分析拓展-允许亲疏关系 Foliage篇-笔刷工具源码分析拓展-允许亲疏关系 Foliage篇-UE4笔刷功能拓展 Foliage篇-UE4 ProceduralFoliageSpawner 拓展Engine FixUE4 Engine Fix-Movable的 SkyLight...原创 2020-01-05 17:01:00 · 312 阅读 · 0 评论 -
Foliage篇-ProceduralFoliageSpawner 源码分析拓展-允许亲疏关系
目录:第九艺术-目录Version:UnrealEngine 4.22.3做开放大世界的话,由于面积非常大,用ProceduralFoliageSpawner 来生成植被是比较高效的选择,在实际使用的过程中,美术同事有个需求是希望 Spawner中配置的各个 FoliageType有一些关联,比如有的小灌木就只会生长在某种大树旁边,但原生的 ProceduralFoliageSpawn...原创 2020-01-05 17:02:32 · 845 阅读 · 0 评论 -
Lighting篇-Radiometric && Photometric概念
主要记录一下场景打光用到的一些基础概念,其实很多书里都有很详细的介绍,比很多网上的文章都系统和详细,推荐去看,下面也很多就是我对书中的翻译。只是梳理,能区分开打光需要用到的概念就好。目录1.Radiometric 基础单位2.转换对应到photometric一般用到的 都是Radiometric,也就是辐射度量学,Photometric是考虑了人眼感知的范围之后,对Rad...原创 2020-02-07 19:07:50 · 450 阅读 · 0 评论 -
UE4_SpeedTree Shader源码分析
目录1.UMaterialExpressionSpeedTree::Compile2.Compiler->SpeedTree3.GetSpeedTreeVertexOffset4.Scene中的SpeedTree应用 (Scene->UpdateSpeedTreeWind)5.GetSpeedTreeVertexOffsetInner由于之后做风场,也需要在S...原创 2019-10-15 10:56:00 · 1499 阅读 · 1 评论 -
UE4 ‘Unrecognized type 'TMap'’问题
问题可能在于,你在代码里面这么写,UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Gun") TMap<EWeaponType::Type, FWeapon> Weapons;这是因为TMap不支持UPROPERTY的反射,因此要去掉UPROPERTY,或者改用TARRAY,它是支持UPROPERTY的。...原创 2016-05-20 16:28:36 · 1822 阅读 · 0 评论 -
UE4中FName,Fstring,FText使用规则及相互转换
参考:1.使用规则及相互转换https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/StringHandling/index.html2.总结https://answers.unrealengine.com/questions/90638/text-string-or-name.html原创 2016-05-20 13:26:35 · 11774 阅读 · 0 评论 -
UE4中GameInstance和GameState区别
转载自论坛1.GameState is replicated extension of GameMode, since GameMode it self is not replicated and exists only on servers memory for security reasons. So GameState let clients access some game data wh原创 2016-05-11 16:50:10 · 4817 阅读 · 2 评论 -
UE4 蓝图里添加Cpp文件,不在VS解决方案里显示的问题
1.可能是VAX的问题考虑选项页选中新添加的.h .cpp文件选中 menu中 File下拉菜单中将....h,......cpp移入解决方案选择解决方案移入拖到合适位置参考:https://answers.unrealengine.com/questions/178848/47-added-classes-not-showing-in-solution-explorer.html原创 2016-05-31 15:47:53 · 968 阅读 · 0 评论 -
UE4中dynamic create component及ChildActorComponent未解析符号 问题
1.dynamic create component正常方法添加组件方法是On Character.h I add a USpringArm and UChildActor component : UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = InventoryCamera)原创 2016-07-09 15:09:39 · 3938 阅读 · 0 评论 -
UE4 可视化调试信息没有正确显示
问题是:在debug时,UE4定义的变量的调试信息无法正确显示,比如TArray - all I get is Data propertyFString FName- ComparisonIndex and DisplayIndex and Number 导致看不到Actor的名字 如果发生类似问题首先,可以检查Natvis文件的路径对不对,可以运行或者手动...原创 2018-09-10 10:29:54 · 2384 阅读 · 0 评论 -
译:UE4是如何渲染一帧的(1)
转载于https://zhuanlan.zhihu.com/p/33865743原文链接:How Unreal Renders a Frame作者:Kostas Anagnostou, Lead Graphics Programmer at Radiant Worlds这几天我在翻阅UE4的源码。受到一些分析著名游戏如何渲染一帧的文章启发,我考虑对UE4也做些类似的工作,分析...转载 2019-04-23 10:11:17 · 3774 阅读 · 0 评论 -
译:UE4是如何渲染一帧的(2)
转载于:https://zhuanlan.zhihu.com/p/33868831原文链接:How Unreal Renders a Frame part 2作者:Kostas Anagnostou, Lead Graphics Programmer at Radiant Worlds我们继续探索UE4是如何渲染一帧的,重点研究光源网格(light grid)的生成,G-prep...转载 2019-04-23 10:13:46 · 1452 阅读 · 0 评论 -
译:UE4是如何渲染一帧的(3)
之前转载了前两篇,可能因为没有时间,上一个译者并没有翻译第三篇的内容,因此我这里补充翻译一下,如果哪里有问题,欢迎指出来。原文链接:How Unreal Renders a Frame part 3作者:Kostas Anagnostou, Lead Graphics Programmer at Radiant Worlds这篇文章,我们继续探索虚幻引擎的渲染流程,包括图像空间光...翻译 2019-04-24 18:54:50 · 3608 阅读 · 0 评论 -
UE4+vs2017 GenerateProjectFiles error MSB3644: 未找到框架“.NETFramework,Version= v4.6.2”的引用程序集
打开vs2017的安装器,如下,选中安装 .net桌面开发,并且选中右边4.6.2的开发工具,安装即可如果还是不行,可以先移除桌面开发的模块,然后再安装一次参考:https://answers.unrealengine.com/questions/571690/installcompile-engine-from-source-with-vs-2017.html...原创 2019-05-30 15:37:25 · 6938 阅读 · 0 评论 -
UE4_地图程序化随机生成
整理总结一下最近看到的关于程序化随机生成的东西目前主要有四种方式:随机迷宫生成算法 War3的地形拼接和随机算法,可以和其他噪声算法结合生成 perlin噪声等随机生成算法 wave function collapse,波函数塌缩的随机生成算法 基于Houdini的美术资产程序化解决方案1.随机迷宫生成算法一般的迷宫或者地牢地形的生成可以使用这些算法,这些算法网上也有很多文章...原创 2019-08-24 14:04:42 · 5581 阅读 · 0 评论 -
UE4 Inappropriate '*' on variable of type 'F..truct', cannot have an exposed pointer to this type'问题
Struct只能传引用,不能传指针'Pointers to classes work, pointers to structs won't.一般要将 UFUNCTION() void ServerUpdatePotential(FYagPotentialStruct* InStruct);改为 UFUNCTION() void ServerUp原创 2016-05-20 17:51:32 · 8330 阅读 · 1 评论