ue4专题

UE4_材质_湿度着色器及Desaturation算法_ben材质教程

学习笔记,不喜勿喷!侵权立删,祝愿美好生活越来越好。 效果图: 原图: 1、使用初学者内容包的材质 我们这里使用虚幻自带的材质M_Brick_Clay_Old,复制一个更名为M_Brickclayoldwet材质。 2、添加去饱和度Desaturation节点 添加几个功能,让表面看起来是湿的,是什么能使表面看起来是湿的呢?东西的表面吸收水会使表面颜色变深,

UE4->Plugin 认识UE4插件 1

原创文章,转载请注明出处。 本文带大家认识UE4的插件, Plugin UE4 Engine中插件代码占很大一部分,可参考下图,里面的Editor, Developer, Runtime, Slate举例都是大家比较熟悉的几个 1>看下图的中Json,其实就是我们的.plugin文件 {"FileVersion": 3, //文件版本"Version": 1, //Plugin版本"Ve

UE4文件操作,持续更新中

注意:用到DesktopPlatform模块的东西,在Shipping下存在崩溃。 引擎版本: 4.25.0   个人的解决方案:将Develope下DesktopPlatform相关的几个模块拷贝出来,拿出到自己的Plugin下。列举出我的图。回头做一篇详细的流程,其实也简单,就是拷贝出来大部分都喜欢自己改成自己的名字,但是改了名字之后注意在FModuleManager:: load的等

UE4 随笔之打包失败 分配连续内存分配不出的原因

原创文章,转载请标注。 现象是这样的 看了下代码,是分配连续内存分配不出来,整个pak文件太大了。 注意几点: 1>MergeActor先去MergeInstanceActor, 后去按材质合并整体。如果超过100万三角面的(此时需要酌情处理,可能超100万也不用管, 但是你的资源都是100万面几十M上百M的那就有问题了);原则上不允许有100M以上的文件出现。 2>减面

UE4随笔 Landscape动态Attach之后没有碰撞怎么解决?

本帖纯属个人原创,如有转载请注明出处 很多时候需求是这样的,想达到场景中所有的Actor统一旋转的功能。纯代码无观赏性,大家有实际需求的自然能看懂。 接到这样的需求,大家就会想将所有的actor全部都attach到一个父节点上,编辑器中Landscape无法进行Attach, 并且InstancedFoliageActor场景中也没有。那么就需要我们在代码中动态的进行Attach。 下面

UE4随笔 获取UMG控件的实际大小/获取屏幕缩放比例

本帖纯属个人原创,如有转载请注明出处 很多时候, 我们要计算UMG控件占屏幕的实际大小, 自适应之后也会有相应的数值 通过如下代码即可: FVector2D vSize = UIObj->Image_Left->GetCachedWidget().Get()->GetCachedGeometry().GetAbsoluteSize(); 获取屏幕缩放比例, 当然通过原C++WinAPI

UE4随笔 通过MergeActor->MergeMaterial的模型没有复杂碰撞?怎么解

本帖纯属个人原创,如有转载请注明出处   本片主要记录针对MergeMaterial单个材质出来的模型没有复杂碰撞的解决方案,此处应该是引擎的Bug, 引擎版本4.25.0 通过上图的属性情况合并出来的StaticMesh如下图 我们发现上图中的StaticMesh并没有复杂碰撞,怎么破呢? 尝试过Auto Convex Collision, 但是发现不管用。用如下的方法就好了。

关于UE4动态资源加载(蓝图类)

本帖纯属个人原创,如有转载请注明出处 需要注意的几点: 1.调试环境下进行的资源加载方式到打包出来后不一定能够使用。 2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log: Saved/Logs/filename/log 3.资源路径的代码书写格式  map : "Game/Maps/Main.map" 蓝图类 :  "Game/Blueprint/Skil

UE4 Actor生命周期 SpawnActor DestroyActor剖析

原创文章,转载请注明出处。 AActor很重要,只要是我们世界大纲列表内的物体,全部都是AActor。 目录 第一部分,从编辑器点击Play开始分析World里面全部的Actor的Spawn流程,分析到调用BeginPlay结束 1>下面从点击场景中的Play/PlayInEditor/Play In Standalone开始,代码执行的顺序,只是大致的。后续引擎版本变化可能会不同(猜

UE4/UE5 Runtime下的Mesh合并

原创文章,转载请注明出处。 StaticMesh的合并 前言类图Editor下的实现Runtime下的实现难点1,StaticMesh的RenderData转FMeshDescription难点2,StaticMesh构建复杂碰撞难点3,多Section的StaticMesh合并之后材质出错 插件封装,现有功能介绍以及后续计划参考文章 前言 引擎版本:4.27.2 合并的前提:

UE4通过UCanvasRenderTarget2D导出图片+文字的组合图

原创文章,转载请注明出处。 UCanvasRenderTarget2D 导出图片 前言开始做创建1>CanvasRenderTarget2D, 对其实现创建2>材质球创建3>材质实例创建4>材质Actor,里面放了个Box,为了看效果,实际上这个可以不参与视觉交互。记得将这个Actor拖到世界中。创建5>RenderTarget 效果补充由于上述是演示,不完善,用到项目中还需要完善下面几个

UE4/UE5像素流送云推流|程序不稳定、弱网画面糊怎么办?

看到不少反馈说像素流送技术在实际的应用中,存在一些问题,比如程序崩溃、画面模糊等。本文将探讨这些问题,并介绍点量云流软件提供了哪些有效的解决方案。 常见的像素流送技术问题 画面质量问题: 当快速操作UE模型或初次启动像素流送功能时,特别是在外部网络条件不佳的环境下,用户经常遇到画面模糊不清的问题。这不仅损害了视觉体验,也影响了内容展示的专业效果。 多人访问导致的性能下降: 一旦访问用

UE4_后期_ben_模糊和锐化滤镜

学习笔记,不喜勿喷,侵权立删,祝愿生活越来越好! 本篇教程主要介绍后期处理的简单模糊和锐化滤镜效果,学习之前首先要回顾下上节课介绍的屏幕扭曲效果: 这是全屏效果,然后又介绍了几种蒙版,方形蒙版,圆形边缘蒙版,角滤镜三种蒙版效果。忘记的同学需要去复习下知识点。 让我们来介绍下模糊和锐化滤镜效果: 一、模糊滤镜效果制作 我们将从采样场景本身开始,我们会对场景进行多次采样,然后把它们结

【UE4从零开始 028】UMG的Timeline动画

在控件蓝图编辑器最下方,是动画编辑区域,我们可以为我们的UI制作一些简单的动画。 1、添加动画 在左侧 动画区域 点击 “+Animation” ,添加一个动画轨并命名,在游戏中我们可以直接通过名称来播放对应的动画。 2、添加控件 在右侧 时间轴 区域的左半部分,点击 “+Track”,选择我们需要添加动画的控件, 3、添加关键帧 右侧 时间轴 区域的右半部分,是我们动画的 时间

【UE4从零开始 027】插槽 Slot

UMG中的 插槽(Slot) 有点类似于 Transform 组件,我们在UMG中设计UI时,使用 插槽(Slot) 来设置控件的坐标、大小等。此外,插槽具有多种类型,UMG会根据父节点的不同自动使用正确类型的插槽。 控件所用的插槽类型以括号标识,如:上图表示插槽类型为:CanvasPanelSlot。 Anchors Anchors 有如上图16种默认锚定类型,当然我们也可以自定

【UE4从零开始 026】裁剪

裁剪 是使用边界框将渲染对象(图形和文本)限制在某个区域中,以使超出边界框的任何内容都不显示。 在本示例中,每个按钮都是显示的文本的父项。这些示例将展示是由按钮还是文本控制裁剪。 左图 - 按钮或文本上都未启用裁剪。中图 - 文本上启用裁剪。右图 - 按钮上启用裁剪。 画布(Canvas) 面板(又称裁剪区)的轮廓为蓝色,代表游戏屏幕,它将会裁剪(即不绘制)游戏超出该区域的任何内容。

【UE4从零开始 025】富文本

UE4中富文本的使用方式跟其他引擎有些区别。UE4中的富文本需要和一个数据表配套使用。在使用富文本之前,需要创建一个数据表资源。 1、创建数据表资源 创建数据表资源和创建其他资源一样,在 内容浏览器 中单击 新增(Add New),然后选择 其他(Miscellaneous) > 数据表(Data Table)。 当显示 选取结构(Pick Structure) 框时,您可以选择 富图像行(

(UE4.26)UE4的FArchive序列化入门

前言 序列化(Serialize)和反序列化(UnSerialize)是程序领域常见的概念。对于这两个词汇我理解的是 序列化(Serialize): 变量值(int, float, string等基本类型, 或者Array,Map,或者更复杂的复合体)存储为一个文件(二进制流, 二进制文件, json, xml等格式)。 反序列化(UnSerialize): 读取文件来复原变量值。 U

UE4深入学习

UE4 深入讲解,很多东西了解的都比较深,讲得也很详细。 想学习UE4的可以去看看。 因为博主禁止转载,所以就放个链接吧:InsideUE5 - 知乎 欢迎关注公众号可以查看更多完整文章

UE4动作游戏实例RPG Action解析-导语

UE实战篇(动作游戏) 概述 解析官方示例游戏《动作RPG》 动作角色扮演游戏示例项目(简称ARPG)是一个快节奏的第三人称砍杀类游戏 本篇作用是从零开始写 官方示例游戏 重要部分,学完这篇再去研究官方示例,会轻松很多 学完会获取以下知识: 1. Unreal 写一个C++项目 2. 学习Unreal GAS系统(技能系统),远程技能,近战技能 3. 学习主角移动旋转,动画导入使用

集成平行云 数据通道 C++ sdk 到UE4

1新建c++ 项目  (我用的是4.25.4版本的引擎) 2新建第三方库插件 3不着急 关掉UE4界面,在Browser窗口空白地方右键,创建c++类 4经过综合考虑,还是Component组件比较合适 5记得要选插件的Runtime 6如果出现报错不要怕,正常显现,此时关闭UE4工程,关闭VS 7打开D:\SVN_Local\MyProject\Plugins

UE4 c++ uint8_t* toFString-2

接1,同样的问题,还是uint8_t* toFString 只不过这次不是直接用,而是需要将数据保存到一个变量中。 PC端用下面的方法打印log,一切正常,Android端打印的时候,纯英文/纯中文都没问题,中英文结合就不行,会在正确的结果后面加上一堆别的结果,有时是乱码。 UE_LOG(LogTemp, Warning, TEXT("%-12d %-10.*s %-16.*s %-16.*

UE4 c++ uint8_t* toFString

今天写插件遇到一个格式转换的问题,困扰了好长时间,查了查资料解决了,现在记录一下   源数据是这样的 需要将数据  endpointArray[i].endpointUrl.data  打印出来。 直接上结果: UA_EndpointDescription* endpointArray ; // endpointArray 获取数据来源并赋值balabala。。。。。 end

UE4 保存RenderTarget 到桌面

最近武汉疫情严重,在家没事,做一个保存截图的功能。话不多说,直接上步骤和代码 1我这里是新建的一个character蓝图作为载体,也可以建立其他actor蓝图,添加SceneCapture Componenet2D 组件 2修改右侧属性CaptureSource-> Final color (LDR) in RGB,如下图 3 同时创建专用贴图并指定上去

UE4-打包安卓报错 /Android/APK\gradle\rungradle.bat :app:assembleDebug

新安装的win10系统,建立好 4.21.2 Android环境之后打包,报错如下: 网上很多人都关注红线部分 ERROR: cmd.exe failed with args /c "E:\UE4Project\ARandVRProject\HandledAR421\Intermediate/Android/APK\gradle\rungradle.bat" :app:assembleDe

UE4获取动画序列资产的动画时长

谢谢”朝闻道“大佬的指点~