首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    ue4安装插件_ue4 软引用

    本文介绍 两个知识点Plugin/Module 插件和模块的联系区别,同时介绍插件和我们的Source中创建多模块。 ** 一、Plugin/Module 插件和模块的联系区别 ** 1> 一个插件至少有一个模块 2>一般插件都是做底层做通用设计的,而模块做的负责的我理解为逻辑 ProjectName.Build.cs public PrivateDependencyModuleNames 与上面相反了,按private理解 二、在Plugin中创建多模块以及在我们的Source中创建多模块 1>我的SelectDialog插件 如下图 2>在你的Plugin中加上你的模块引用,如下图 3>加上模块中的 StartupModule和ShutdownModule可以在模块初始化和模块卸载时增加你的业务逻辑

    85310编辑于 2022-11-09
  • 来自专栏全栈程序员必看

    ue4 插件开发(ue4性能优化)

    UE4插件研发 UE4插件扫盲 UE4插件是什么 UE4插件的作用 UE4引擎、项目、插件的区别 引擎自带的插件浏览器 插件目录结构 插件配置文件说明 UE4插件的创建方法 插件代码的执行过程 四种常用模式的插件模板 第三方库的引入 牛刀小试 创建Actor到视图插件 插件打包 插件发布 常见的问题 插件项目案例 UE4插件扫盲 UE4插件是什么 UE4引擎和UE4项目是由各个模块组成的,其主要编程语言是C++。 使用C#语法 插件配置文件说明 1. uplugin文件 { "FileVersion": 3, "Version": 1, "VersionName": "1.0", "FriendlyName 3.写一个插件生成插件 创建一个插件,并在插件中设置自定义的插件模板文件,在插件功能中复制对应的自定义插件模板文件到项目插件目录中,并动态修改文件夹名和文档关键字即可实现自定义插件生成器。 插件编译版本 用户使用插件时的UE4版本需要与插件编译时的UE4版本一致,不然会警告提示版本不一致而丢失插件。 所以发布插件时要注明插件所支持的UE4版本号。

    4.3K21编辑于 2022-07-29
  • 来自专栏全栈程序员必看

    UE4->Plugin 认识UE4插件 1「建议收藏」

    本文带大家认识UE4的插件, Plugin UE4 Engine中插件代码占很大一部分,可参考下图,里面的Editor, Developer, Runtime, Slate举例都是大家比较熟悉的几个 1>看下图的中Json,其实就是我们的.plugin文件 { "FileVersion": 3, //文件版本 "Version": 1, //Plugin版本 "VersionName": "1.0", //版本名称 "FriendlyName": "Taskp", //插件名称 "Description": "tianhuajian created", //插件描述 "Category ": "Other", //插件所属组 "CreatedBy": "tianhuajian", //插件创建者 "CreatedByURL": "", //创建者网站 "DocsURL": Max //如果新加枚举的话 别忘了把这个Namespace中的tostring方法完善一下 }; 3>Modules->LoadingPhase(加载阶段)介绍 代码中搜索 ELoadingPhase

    93510编辑于 2022-11-09
  • 来自专栏LET

    UE(3):延迟渲染管线

    如果你在前方回头 而我亦回头 我们就错过 --- 《艳火》 前两篇分别介绍了UE(1):材质系统和UE(2):材质着色器,主要侧重如何生成材质,本篇的主题是延迟渲染管线(Deferred Shading 调试UE中,Pass之间紧密连接又互不干涉,那么近又那么远,所以有了这句歌词,莫名的一种失落。 DrawCommand2RHICommand FMeshDrawCommand本身是跟平台无关的,最后一步就是针对当前设备的硬件情况完成最终的渲染过程,如上图所示,因为是Windows平台,所以此处是D3D11 (基色)+ AO(遮盖) PrecomputedShadowFactors(阴影) Lights UE Lights 上帝说,要有光,就有了光。 当然,UE的渲染流程细节很多,比如多线程机制,一些辅助的Pass,比如DiffuseIndirectAndAO(SSAO),后处理中的TAA等等,我了解有限。

    2.2K40编辑于 2022-12-22
  • 来自专栏计算机图形学 前端可视化 WebGL

    UE4 WebUI插件使用指南

    使用UE4的UMG开发图表显得比较笨拙。 基于这种插件技术,普通的前端开发人员也可以开发UE4界面上丰富的2d页面效果。 下面分享我们UE4做的数字孪生的几个案例,其中的2d页面是通过Vue结合html5技术和echart图表插件进行开发的: 下面我们介绍WebUI插件的使用 下载插件 插件的下载地址是: 如果你发现这个地址打开是 安装到引擎 若要安装WebUI插件到引擎,请将下载的文件解压到以下引擎文件中: 需要注意已下载的插件版本要与引擎版本对应。 PS:安装之后,需要重启UE编辑器。 启用插件 开启UE4 打开或者新开一个项目之后,打开菜单编辑->插件,然后在插件窗口右上角的搜索栏中搜索 Web UI。确保WebUI插件的已启用复选框已勾选。启用插件后,重新启动虚幻引擎。

    3.8K10编辑于 2023-01-08
  • 来自专栏HelloWorld杰少

    UE4 开发之如何创建 iOS 平台插件

    UE4 开发之如何创建 iOS 平台插件 UE4 为我们广大开发者提供了众多的插件供我们使用,正是有了这些插件的存在,才让游戏开发变得更快更简单,今天我跟大家分享一下如何开发 UE4 插件。 创建 UE4 插件 •在 UE 编辑器中,打开菜单栏中的编辑下拉菜单,选择插件选项 •选择右下角的新插件 •选择截图上的 "第三方库", 并填写插件名称,例如我起的为 "JJLoginNail",以及填写作者以及描述 Source 下,打开 UE 为我们自动创建的 Hydroger.Build.cs 文件,并在里面配置我们的插件名称 "JJLoginNail", 代码如下: // Copyright 1998-2019 2.include 插件头文件,例如:#include "JJLoginNail.h"3.逻辑用 PLATFORM_IOS 包裹 最后,插上真机设备,在工程中设置好相应的签名证书,CMD+R 将工程跑在真机设备上 : •触发按钮事件,调用 SDK 里面的接口 •获取回调信息,并打印 结尾 这就是 UE4 引擎创建 iOS 插件的步骤,其实并不是很难,就是配置的环节比较多,如果中间某一个环节掉了链子,那我们创建的插件就无法被工程所引用

    1.5K10编辑于 2022-08-04
  • 来自专栏实时云渲染

    UE5 像素流插件迁移及传输数据受限问题

    很多开发者在UE程序像素流推流的过程中,会遇到插件1和2版本不兼容、依托WebRTC传输数据字节有限,以及推流并发数受限等问题,以下逐一分析解答。 像素流1和2插件版本迁移问题UE像素流插件支持完成基础的三维程序推流到网页的过程,可以实现单机单并发的演示效果。 但是在二次开发、业务集成上具有局限性,并且版本2与1有差异,像素流2没有直接使用WebRTC,迁移新插件需要对蓝图节点、C++公共API和功能进行更改,UE程序无法实现平滑升级。 实时云渲染技术从底层架构完全兼容各类2D/3D开发引擎,对UE程序无要求,同时支持像素流送1和2,也可无需集成像素流插件,即可实现一键推流,采用松耦合的方式降低风险和开发变更的工作量,UE开发者专注于3D 像素流运行多个实例数量受限根据UE官方文档显示,针对不同系列的NVIDIA显卡,UE像素流推流数量有所不同。

    26410编辑于 2025-11-28
  • 来自专栏Web行业观察

    干货 | UE4编辑器如何生成和共享插件

    UE4如何生成插件以及插件如何在其他工程共享 UE4编辑器插件 和其他大型IDE(集成开发环境)和编辑器一样,UE4的编辑器也支持插件开发,从而扩展编辑器的功能,提升开发的效率。 /topics/plugin.html 分类 按照作用域和存放的位置,插件可分为2种: ·属于引擎的插件:引擎下所有项目可共享的公共插件,在引擎根目录的Plugins文件夹 ·属于项目的插件:只有本项目可使用的插件 ,在项目根目录的Plugins文件夹 按照使用的开发语言可分为: ·蓝图插件:以uasset格式存放的插件,需要在UE中编辑 ·C++插件:用C++开发的插件,通常在Source目录下 ·混合插件:用蓝图和 字段名 作用 类型 FileVersion 文件版本,当前最新版是3 Number Version 版本 Number VersionName 版本名 String FriendlyName 插件名 String 卸载插件 卸载插件可以直接在Plugins目录下删除插件所在的文件夹,删除前最好先在插件面板中反选(禁用)该插件。 对于引擎的插件,推荐通过Epic Launcher来卸载,避免直接操作文件。

    3.9K20发布于 2020-09-17
  • 来自专栏Dissecting Unreal

    UE4UE5的TaskGraph

    UE提供的锁,主要有FScopeLock,FScopeUnlock,FScopeTryLock,FWriteLock,FReadLock,FRWLock等,前面3个是互斥锁,后面3个是读写锁。 但是会在主线程上执行 ThreadPool,通过线程池来执行Task,也可以使用AsyncPool函数 LargeThreadPool,通过编辑器专用的线程池来执行Task 其实这就是一个大入口,当然更便捷的还有3个函数 上图也看到了,其实UE的多线程,也就是由这些线程组成的,大致分为3类: 其中TaskGraph中分为NamedThread和WorkerThread,我们平常说的游戏线程,渲染线程,RHI线程,就都是 Stall) 必须主动调用RequestQuit才会退出循环 NamedThread的模式 对于WorkerThread的Task,也会按照优先级会丢到不同的线程上,分为NP,HP,BP3种级别 ,其实就是这3个的缩写 这里的优先级,在业务上其实没区别,并不是说高优先级的就一定会先执行,这里只是为了人为的错开不同的线程,让不同的Task可以在不同的线程上执行。

    6.9K32发布于 2021-11-04
  • 来自专栏Dissecting Unreal

    UE4UE5的LockFreeList

    基础知识 在开始之前,先来说说UE提供的另一个队列TQueue,为什么UE要另搞一套LockFree容器来作为TaskGraph的底层容器而不是直接使用TQueue。 网上找了张CPU的芯片图,Shared L3 Cache连着4个Core,也证实了这点。当然也不是绝对L3就都共享,比如下面这个CPU,连L3都分成了4个。 (比如上面AMD的CPU有4个L3)的操作,造成了性能低下,就好像是加了锁一样,这就是伪共享问题。 看下面这个例子 链表原始为1->2->3。 线程1:想将链表改为1->4->2->3 线程2:想将链表改为1->3 经过上面这样的流程后,链表反而变成了1->4->2,导致3被脱离链表,这显然都破坏掉了整个链表,出现了BUG。

    3.4K20发布于 2021-11-04
  • 来自专栏太阳影的学习记录

    UE5中 uDraper 插件无法编译 C++ 工程的修复

    UE5中 uDraper 插件无法编译 C++ 工程的修复 uDraper是用来做布料模拟的插件。现在出现的问题是安装了 uDraper 之后无法编译 C++ 工程。 经典报错就是: Expecting to find a type to be declared in a module rules named 'Vitrum' in UE5Rules, Version 解决方案 第一步 更新引擎的插件 首先找到 uDraper 的安装目录,在安装目录下找到插件目录: 然后找到对应引擎编号的插件。 [UE5 Root]\Engine\Binaries\DotNET\UnrealBuildTool: 复制好之后,编辑 [UE5 Root]\Engine\Build\BatchFiles\Build.bat ,并将文件中的 UnrealBuildTool.dll 替换成 UnrealBuildTool.DraperHook.dll: 然后修改 [UE5 Root]\Engine\Config\BaseEngine.ini

    2.2K10编辑于 2022-09-23
  • 来自专栏实时云渲染

    如何使用UE Cesium插件实现网页端无算力负担访问?

    那么,在日常使用中,我们需要通过一些有效的方法,既保障应用程序的流畅运行,又能呈现出令人满意的演示效果——借助 UE 引擎的内部插件以及外部的实用程序来实现这一目标。 UE引擎本身有自带的像素流送 插件,基于云端渲染架构,将应用程序的客户端渲染进程迁移至服务器执行,通过网络将渲染后的像素流实时传输至客户端。 在UE引擎的工作流程中,Cesium插件的介入有效避免了传统方式下将大量地图资源预先下载并存储于本地项目中的繁琐过程,显著减轻了UE引擎在地图资源存储管理和实时渲染处理方面的负担。 私有化实现方案问题描述: cesium是提供在线地图的一款ue插件,使用该插件后打包的一些程序包在开发环境本地运行正常,更换环境出现无法显示内容问题原因: 通常这是因为新环境缺少Starfield Services known-issue-tilesets-not-loading-in-packaged-unreal-apps/36043/23问题验证:1,按windows键+r键打开run对话框2,输入certmgr.msc回车3

    56410编辑于 2025-06-04
  • 来自专栏Dissecting Unreal

    UE4UE5的TSet和TMap

    TSet和TMap是UE里面最常用的容器之一,和数组不同的是,元素本身并不连续存储,而是通过hash映射存储,因此相对于数组,查询元素是非常快速的。 下面来具体讲解: TSet的实现 可以看到TSet一共有3个成员变量,Elements就是存储元素的结构,类型是TScriptSparseArray,这个实际就是不需要指定元素类型的TSparseArray 这就是UE4这两个容器最有特色的地方。 所以,UE的这两个容器,即可以排序,又可以快速查找,游戏业务用起来就真的非常爽了。 因为UE的容器,都实现了begin(),end(),所以支持C++的range-for语法,可以放心使用:

    4.3K11发布于 2021-11-04
  • 来自专栏sofu456

    UE4

    GENERATED_BODY()——UE4将这个标记替换为将为该类型生成的所有必要的样板代码。 UPROPERTY()——支持将UCLASS的成员变量或USTRUCT用作UPROPERTY。 客户端(Client) 如果您使用UE4联网功能处理多人项目,该目标将指定项目用作面向多玩家游戏的UE4客户端-服务器模型中的客户端。 服务器(Server) 如果您使用UE4联网功能处理多人项目,该目标将指定项目用作面向多玩家游戏的UE4客户端-服务器模型中的服务器。 Also used for a game-agnostic engine executable (UE4Game.exe or RocketGame.exe) /// Game , ///

    /// Uncooked modular editor executable and DLLs (UE4Editor.exe, UE4Editor*.dll, GameName

    4K62发布于 2019-07-09
  • 来自专栏Dissecting Unreal

    UE4UE5的RHI(Vulkan为例)

    对比DX12,Metal,Vulkan这3种API,其中我自己感觉Vulkan在接口上应该算是包装的最全也最复杂的,虽然用起来很麻烦,但基本能覆盖Metal和DX12这两个的功能,而且跨平台能力很强(除了苹果不支持 尤其是手机上,一般都是分Tile绘制的,比如3个pass,如果不用Subpass绘制,可能就要先画每个Tile的pass1,再画每个Tile的pass2,再画每个Tile的pass3。 而如果使用Subpass,会先把第一个tile的pass1~pass3执行完,再执行第二个tile的pass1~pass3,直到所有tile执行完,如果pass2要复用pass1的结果,不需要拷回内存, 而DynamicRHI是各种图形API提供的功能的封装,UE中有不同实现,通过继承实现对应的子类,放在不同的module里,如下图所示: 比如DX12,对应的Module就是D3D12RHI: 就会找到这个 再比如创建vs和ps,最终调用的是UE自己实现的ShaderFactory,内部维护了一个ShaderCache,如果没有对应缓存UE就会创建TVulkanBaseShader对应的对象,调用Setup

    7.8K40发布于 2021-11-04
  • 来自专栏杂谈

    UE5入门 01 安装UE5

    2.5 选择UE5版本:点击“库”,点击“加号”(目前我的电脑已经安装了5.1.1,故已有5.1.1相关图标按钮),在虚幻引擎库中,你可以看到不同版本的Unreal Engine。 找到你想要安装的UE5版本(如5.x版本),点击它旁边的“安装”按钮。 2.7 选择安装位置:选择你希望安装UE5的文件夹位置。建议选择一个有足够空间且便于管理的位置。 勾选相应选项,点击“应用”,然后点击“安装”,等待安装完成即可。

    1.4K11编辑于 2024-09-06
  • 来自专栏LET

    UE(6):LightMap

    我对如何生成LM的UV算法,并没有研究,刚才说的都是看UE的文档了解的,假设我们现在已经创建了UV。 Lightmap UV UE中还可以选择显示LM的密度,可以查看LM的分辨率设置是否合理。 UE中采用三阶,最终对应9个参数。 Shader 生成的LM在Shader中的调用也很直接: // LightmapCommon.ush void GetLightMapColorHQ() { // 获取光照颜色 half3 float4(WorldNormal.yzx, 1) ) ); half Luma = L * Directionality; // 计算radiance对应的color half3 Color = Luma * UVW; // 获取Diffuse光贡献 OutDiffuseLighting = Color; } // 环境光贴图中的SH float3 GetSkySHDiffuse

    1.8K30编辑于 2022-12-22
  • 来自专栏LET

    UE(4):PBR材质

    通常,一个基本的PBR材质核心属性是Base Color(RGB或RGBA),Metallic(float)+ Rougheness(float),Normal Texture(float3),其他属性 PBR Introduction 基于PBR材质模型[3],材质的贡献主要有漫反射和镜面反射两种: 图片 vec3 sphericalHarmonics(vec3 normal, vec3 coefficients 需要函数的实现,而又包括,,三项,BRDF.ush文件中可以找到这些方法,UE提供了不同的函数实现,如上图,粗体对应UE的默认方法(个人感觉UE没有提供接口来设置使用不同的方法,这部分需要自己来改动)。 最后,UE在性能优化上也提供了不同的函数实现,方便用户的扩展,以及不同平台的宏定义实现。 总结完UE的PBR实现后,我愿称UE才是真正的缝合怪Orz。 (3):延迟渲染管线: https://mp.weixin.qq.com/s?

    2.9K30编辑于 2022-12-22
  • 来自专栏杂谈

    UE5入门 00 什么是UE5

    1.介绍UE5 UE,英文全称Unreal Engineer,中文全称虚幻引擎,5是UE的最新版本。它是由Epic Games开发的一款全面的游戏开发平台。 2024年热度最高的3A游戏“黑神话悟空”就是由UE5制作。 2.什么是游戏引擎 游戏引擎是一套用于创建电子游戏的软件开发工具。 声音引擎:管理游戏中的音效和音乐,包括播放、混合、3D定位音频等功能。 动画系统:处理角色和物体的动画,可能包括骨骼动画、唇形同步、动画混合等。 3.介绍UE和Unity Unreal Engine(UE)和Unity都是当今游戏开发中最受欢迎的两个游戏引擎,它们各自具有独特的优势,适用于不同类型的游戏开发和其他应用领域。 擅长领域: 3A级游戏开发 电影预可视化和虚拟制片 ... 4.总结 个人观点认为,想要快速上手、快速开发、开发移动端产品首选Unity,想制作高画质产品首选UE

    3.7K10编辑于 2024-09-06
  • 来自专栏全栈程序员必看

    ue4动态加载模型_U3D动态页面

    2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log: Saved/Logs/filename/log 3.资源路径的代码书写格式 map : “Game/Maps/Main.map 就比如 FString sPath = "/Game/Blueprints/Actor/RuntimeActor/RuntimeCameraBP.RuntimeCameraBP_C"; 2>使用UE4 SPPivotMeshActor = GWorld->SpawnActor<ASPPivotMeshActor>(PivotActorBP, FTransform(CenterPosition)); 3> FStringAssetReference ref = AssetPath; UObject* uoTmp = ref.ResolveObject(); if (uoTmp == nullptr) { UE_LOG = LoadObject<UMaterialInstance>(NULL, TEXT("/Game/Material/ColorMatreial_Inst_3.ColorMatreial_Inst_3"

    1.1K30编辑于 2022-11-09
领券