草庐IT

UE4/UE5 照明构建失败 “Lightmass crashed”解决“数组索引越界”

在构建全局光照时,经常会出现“Lightmasscrashed”的错误,导致光照构建失败。本文将分析这一问题的原因,并给出解决建议。UE4版本4.26报错如下:===Lightmasscrashed:===Assertionfailed:(Index>=0)&(IndexArrayindexoutofbounds:60fromanarrayofsize360x00007ffdb619cf19KERNELBASE.dll!UnknownFunction[].......一、问题原因“Lightmasscrashed”在技术层面是由于Lightmass运算时数组越界造成的崩溃。简单来说,就是Lig

ue4绘制线的三种方式

第一种方式,是用样条线,简明扼要,但是打包后就消失了。 AActor*actor=world->SpawnActor(ActorClass); actor->AttachToActor(this,FAttachmentTransformRules::KeepRelativeTransform); USplineComponent*splineComponent=this->GenerateSplineComponent(info,radius,actor); splineComponent->AttachToComponent(actor->GetRootComponent(),FAttach

UE4样条线移动,玩家只需要控制旋转

第一步:创建需要的蓝图类1.创建Actor并命名为“A_Spline”2.创建Pawn并命名为“P1”3以上创建的蓝图类可以使用自己的命名!!!!!

UE4大场景解决方案 ——Pak的打包与加载

一、实现步骤1.cookContent烘焙uasset文件2.UnrealPak打包Pak文件3.FPakFile、FPakPlatformFile从Pak文件中遍历文件StaticLoadObject加载特定类型的UObject4.SpawActor在世界中创建物体二、打包过程先将我们要打包的资源放在一起,如下:需要打包pak的内容如果希望共享网格贴图等资源,也可以单独导出Test_01这个BP。但需要保证加载Test_01时,他的依赖资源路径正确。如下图:Test_01的Mesh引用路径Test_01的Mat引用路径这些路径信息可以通过鼠标悬浮等方法查看。保存后,选择界面的Cook按钮或者

ue4中使用c++实现自定义网格体

有两个类可以在ue4中实现自定义网格体,分别是UCustomMeshComponent和UProceduralMeshComponent,实现的方法都是构建三角形以实现不同的网格体。网上的教程以蓝图为主,但我想用c++实现。我找到了一篇用UProceduralMeshComponent实现的博客,链接如下:https://blog.csdn.net/yb0022/article/details/103034588本篇博客换一种方法,用UCustomMeshComponent实现自定义网格体。因为是例子,命名都挺不讲究的。一、整体流程步骤一:创建actor的c++类步骤二:引入CustomMes

UE4-编辑器脚本之资产批量重命名

话不多说,直接上图:创建脚本方法:右键-编辑器工具-编辑器工具蓝图,因为我们是对资产进行操作,所以创建AssetActionUtility类;  这种属于是一刀切,会把选中的所有资产全部依照给定的命名规则命名(不管是静态网格体、材质、纹理);如果想要对不同类型的资产添加不同的后缀呢,就需要筛选一下,比如只对StaticMesh进行重命名:同时对多种类型资产重命名: 当然,还有很多类型可以自己去添加。OK!!!第一次发帖,希望可以帮助到大家。    

UE4元数据关键字的应用与含义(一)

以下是UE4中用于定义蓝图变量的元数据(metadata)的所有关键字及其解释和作用:BlueprintReadOnly:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作。常用于定义只读变量。BlueprintReadWrite:表示该变量可以在蓝图编辑器中进行读写操作,包括在实例化蓝图时可以在Details面板中进行编辑,也可以在蓝图中进行读写操作。常用于定义可读写变量。EditAnywhere:表示该变量可以在蓝图编辑器中进行读写操作,包括在实例化蓝图时可以在Details面板中进行编辑,也可以在蓝图中进行读写操作。常用于定义可编辑变量。EditDefaultsOnly:表示该

【UE4】C++编程

一、工程目录.vs:VS的缓存文件夹;Binaries:存放UE的工程的可执行文件,以及编译的中间文件;Biuld:存放一些编辑器相关的日志;Config:存放游戏的默认配置文件;Content:存放项目资产;DerivedDataCache:主要存放DivXDescriptorFile文件,应该是UE为制作影视视频准备的;Plugins:存放项目中使用的插件;Intermediate:存放UBT生成的文件,如:.generated.h文件;Saved:缓存一些临时配置文件,在PIE模式下运行项目产生的日志以及Cook产生的数据文件;Script:用来存放脚本语言,如python脚本等;Sou

UE/C++简单功能实现笔记

本篇笔记主要用于记录如何利用C++在虚幻引擎5中实现一些基本的功能需求。目录实现功能与代码构造函数中添加物体运行时添加C++Actor运行时设置动态材质及参数蓝图调用C++函数蓝图访问C++成员C++调用用户控件蓝图函数播放wav格式音效实现功能与代码以下代码均来自我的跳棋小游戏,所以默认Pawn的类名为ATiaoQi构造函数中添加物体.hUCLASS()classUNREALTIAOQI_APIATiaoQi:publicAPawn{GENERATED_BODY()public:UStaticMeshComponent*selectCircle;ATiaoQi();}.cppATiaoQi:

UE开发使用Rider时缓存干爆C盘的解决方案

我们在使用Rider开发UE时,Ride会为每一个项目创建一个解决方案缓存,如果开几个新项目写测试demo,我们的C盘会逐渐捉急不知道官方怎么想的,默认在C盘就算了,还没法改目前没有找到这个路径相关的设置,只能另辟蹊径我们既然改不掉这个路径,那就将这个路径映射到其他路径上windows下,可以使用mklink指令,创建类似linux的软连接首先把C:\Users"用户名"\AppData\Local\JetBrains这个文件夹移动到你希望他出现的位置然后用管理员身份打开CMD使用下面的指令,把里面%引起来的内容替换成你的东西mklink/j"C:\Users\%你的用户名%\AppData\