随笔分类 - UE4
摘要:项目中经常需要对texture进行读写操作,所以做个总结。 方法1: 注意需要添加RHI和RenderCore模块,在4.17以后可以直接使用UTexture2D::UpdateTextureRegions。 方法2: 这种方法每次调用都会Lock/UnLock,和updateResource,每次
阅读全文
摘要:多线程+WASAPI获取系统音频: 音频数据存储在m_AudioData,因为是实时获取,这里得到相应长度的数据后就会把它删除,如果要实现录音功能,改为不删除取出的数据即可。
阅读全文
摘要:UE4中使用多线程的有两种方式,一种方式就是使用FRunnable和FRunnableThread,另一种方式是Task Graph System。Task Graph System有时会占用游戏线程的时间,适合用在简单的计算或者需要开多个线程的情况。FRunnable适用于复杂运算。但是当创建太多
阅读全文
摘要:使用AsnycTask可以将制定代码放在指定线程中执行,例如更新文理必须放在游戏线程。 AsyncTask(ENamedThreads::GameThread, [=](){ updateTeacherMaterialTexture();}); 使用上述代码即可在游戏线程执行,也可以将一些操作放在其
阅读全文
摘要:创建Fstring: FString TestHUDString = FString(TEXT("This is my test FString.")); FString,FName,FText: 设置字符串变量文字时应使用 TEXT() 宏。如未指定 TEXT() 宏,将使用 ANSI 对文字进行
阅读全文
摘要:今天测试发现一个bug记录一下,如果把某一个子关卡的加载方式设置为Always Loaded时,调用UnloadStreamLevel时不会执行Completed后面的节点,也就是一直没有完成。
阅读全文
摘要:UE4自带一个XmlParser,可以很方便的实现Xml的读写。 1,在PublicDependencyModuleNames.AddRange中添加XmlParser。 2,include XmlParser.h 读写操作封装在了xmlobject 需要根据需求增加 修改 xmlobject.h
阅读全文
摘要:TArray<FColor> colorData; colorData.Init(FColor(0, 0, 255, 255), 1920 * 1080); for (int y = 0; y < 1920; y++) { for (int x = 0; x < 1080; x++) { int i
阅读全文
摘要:今天遇到了一个诡异的问题,经过几个小时的煎熬终于找到了原因。mmmp 如果有一个类AActorChild,这个AActorChild继承自AActor,再有一个蓝图类BPAActorChild。 蓝图类BPAActorChild: C++类AActorChild的BeginPlay函数: 按照一般的
阅读全文
摘要:蓝图里的Pure函数跟正常函数的区别是:Pure函数在它连接到的正常函数执行的时候才执行,正常函数按照连接的顺序执行。 Pure函数不会改变游戏中其他的变量,所以getter和其他一些纯计算的函数一般设置为pure。这个特点跟C++的const函数很类似,所以在UE4的c++中,将一个const的函
阅读全文
摘要:今天发现了一个问题,标记为unreliable的函数从来不执行,但是官方文档上的说明是只有在网络负载重时才不执行此类函数,哎哎哎。
阅读全文
摘要:多人游戏的关卡切换分为无缝和非无缝。非无缝切换时,客户端将跟服务器断开连接,然后重新连接到同一个服务器,服务器则加载一个新地图。无缝切换不会发生这样的情况。 有三个函数供我们使用:UEngine::Browse、UWorld::ServerTravel 和 APlayerController::Cl
阅读全文
摘要:今天看到文档中游戏性指南->远程调用函数->在蓝图中使用远程调用函数的 Run On Owning Client 在所有权的客户端上运行部分,发现把Add Item和Remove Item设置为Not Replicated时,跟示例的效果并没有区别,下面将分析这种情况的原因和其中的原理。 1,首先解
阅读全文
摘要:最近看到了TSubclassOf ,所以想要弄清楚跟一般指针的区别~ NativePointer VS UClass* VS TSubclassOf AActor* pointerActor; VS UClass* classActor; VS TSubclassOf<AActor> subclas
阅读全文
摘要:一, 1.1 Actor的复制 Actor中的Replicates ,为true时,服务器会把该Actor同步,显示在客户端中。 1.2 Switch Has Authority判断是客户端还是服务器。 1.3 1.4变量复制: 一般的单机项目相当于服务器端,总控版本。 变量的replication
阅读全文
摘要:1, 2,服务器游戏流程 服务器负责驱动游戏流程。服务器的职责是在游戏开始/结束以及 actor 复制更新等情况下通知客户端转移到新地图。 主要架构部分 大多在本文的讨论范围之外,但我们可以在遇到特定类型时讨论当时出现的一些关于多人游戏的额外细节。 游戏状态和流程一般是通过 GameMode 这一
阅读全文
摘要:在UE4中最正规的材质制作流程就像: 建立新材质,并将其调整为达至完美。 在内容浏览器中,建立新材质函数,并将所有材质函数节点复制/粘贴到其中。 将网络连接到新的 Make Material Attributes(建立材质属性)节点,并将其连接到“函数”(Function)输出。 保存该函数。 将该
阅读全文
摘要:用途1: 半透明材质中实现遮挡Mesh自己其他部分的效果。 不遮挡效果如下: 遮挡后效果如下: 实现方法: 深度信息是越远值越大,使用两个Mesh,一个正常渲染,另一个渲染到custom depth buffer 即勾选Render Custom Depth Buffer,注意这个用来渲染到cust
阅读全文

浙公网安备 33010602011771号