草庐IT

UE4材质(七):世界场景位置偏移——会动的材质

摘自并整理自虚幻官方教程:https://learn.unrealengine.com/course/2449699课程中的工程项目文件下载:链接:https://pan.baidu.com/s/1o7m3pR7BvaCYAmlx57B9HQ提取码:uenb一、世界位置偏移官方解释:世界位置偏移(WorldPositionOffset)输入允许网格体的顶点在世界空间中由材质操纵。这有助于实现使对象移动、改变形状、旋转和各种其他效果。这适用于环境动画之类的内容。也就是说可以在材质蓝图里去控制材质所着色的那个网格体位置。但需要注意:当使用世界位置偏移(WorldPositionOffset)将对象

UE4 C++:事件绑定(输入、碰撞检测、定时器)

 目录Input输入事件绑定轴映射与动作映射:SetupPlayerInputComponent编辑器设置对应名称、代码设置响应事件,实现具体动作C++设置添加轴和动作映射碰撞检测事件绑定碰撞对象通道与预设碰撞响应设置:是否模拟物理碰撞以及触发Overlap事件碰撞响应类型:Blokc、Overlap、IgnoreC++实现定时器Timer与事件绑定设置定时器:SetTimer清空定时器:ClearTimer暂停和恢复:PauseTimer和UnPauseTimer判断是否活跃且未暂停:IsTimerActive获取定时器速率:GetTImerRate获取经过时间和剩余时间:GetTimerE

ue4使用Niagara粒子实现下雨效果,使用蓝图调节雨量

一、使用Niagara粒子系统实现下雨效果1.首先创建一个雨水的材质新建—材质2.创建Niagara系统新建新建—FX—Niagara系统—来自所选发射器的新系统—下一步—选择Fountain—点击+号,点击完成删除下面的“AddVelocityinCone”添加“AddVelocity”点击加号然后添加这样使得粒子效果变为向下发射配置添加"boxlocation"设置的下雨的场景范围范围调整让粒子效果更像雨让雨滴方向向下,更换雨滴材质设置粒子数量,影响的是效果的大小,后面要改变雨量的效果,就是动态修改的这个参数另外,可设置使用GPU计算模拟,这个同时需要设置固定边界到这里,下雨的效果已经实现

【UE】富文本块(RichTextBlock) 增加超链接支持

首RichTextBlock使用方式参考官方文档:RichTextBlockUE文档中描述了不同样式文字以及图片的使用,但没有具体说明超链接的实现,但库中有hyperlink结构。因此照猫画虎实现,仿照RichImgDecorator实现。体首先在build.cs里增加Slate引用 PrivateDependencyModuleNames.AddRange( newstring[] { "UMG", "Slate", "SlateCore", });编写SRichTextHyperlink_Ex.h文件基于SRichTextHyperlink的拓展,增加点击回

【UE】制作可拖动的UI

效果 步骤1.新建一个控件蓝图并打开 这里我在画布面板中加了一个垂直框,垂直框内包含一个按钮和一个图像控件 我设置图像控件占垂直框的2/3,按钮占1/3 添加按钮按压事件、松开事件 在控件蓝图的事件图表中添加如下节点,其中“Close”、“Open”和“Location”是三个自定义事件。如下逻辑的意思是当“Open”执行时,就每0.01s执行“Location”,直到“Close”执行时就停止执行“Location” “Location”执行后获取鼠标的位置(一个2D向量)然后作为变量 变量命名为“MousePosition” 将垂直框设置为变量 将鼠标当前的位置设置给垂直框按压按钮执行“O

将ue4程序嵌入qt界面显示

windows窗口编程需求:将ue4程序嵌入qt界面显示思路:通过使用windowsAPI对ue4窗口进行设置跟随qt界面以及活动窗口时的位置层序设置结果:1.打开程序获取句柄设置样式函数:获取窗口句柄:HWNDFindWindow(L"classname",L"windowtitle")数据可通过“句柄精灵”软件获取设置窗口样式:SetWindowLong(HWND,GWL_STYLE,LONGdwNewLong)获取窗口样式:GetWindowLong(HWND,GWL_STYLE)窗口样式宏voidUnreal4::on_pushButton_clicked(){QStringunrea

UE4 面试题整理

1、new与malloc的区别new:new首先会去调用operatornew函数,申请足够的内存(大多数底层用malloc实现),然后调用类型的构造函数来初始化变量,最后返回自定义类型的指针,delete先调用析构函数,然后调用operatordelete函数释放内存(大多数底层用free实现)__cdecl是CDeclaration的缩写(declaration,声明)malloc:malloc是库函数,只能申请内存,没有初始化功能所以new与malloc最大的区别就是new能进行构造函数初始化2、strcpy、sprintf、memcpy的区别strcpy:用于将一个字符串复制到另一个字

UE4蓝图基础02-节点的基本知识

我们知道UE蓝图编程其实就是通过把各种类型的节点连接起来,程序的执行顺序就是节点的连接流顺序。节点在事件图表编辑器中,就像一块一块小板板一样。让我们来了解下节点的基本知识。1.节点的组成部分任何一种类型的节点,都由三部分组成。标题,输入部分,输出部分。01.标题节点的上方,显示着节点的标题。标题部分会根据节点的类型而显示不同的颜色。所以,看到颜色就知道该节点属于哪种类型了。02.输入部分显示在节点左侧的引脚,用于从其他节点接受数据。通过这些引脚与上游节点连接,获取必要的数值。03.输出部分显示在节点右侧的引脚,用于传递数值到其他节点。举个例子,将本节点计算后的结果值,传递给下游的节点。下游节点

UE要素控制显隐

实现效果:程序运行后椅子消失涉及的内容:EventBeginPlay(程序运行时触发)ToggleVisibility(切换可见性)具体操作如下:一、打开LevelBluePrint编辑窗口如下图二、如何获取worldoutline中的要素的引用首先在worldoutline中选择要素,在打开levelblueprint中graph编辑窗空白处右键选择createareferencetoxxx三、点击蓝色圆圈点向空白处拖动鼠标,出现关联列表,在关联列表搜索框中输入toggle,搜索togglevisibility,选中,编辑面板会多出两个节点以上已经完成物体显隐切换,下面添加事件调用四、在编辑

UE导入FBX、GLTF模型

楔子虽然做了很多年的三维可视化,不过都主要还是web端开发为主(webgl,threejs,有兴趣的读者也可以关注下我的相关专栏)。最近准备入手一下UE,顺便做一下知识梳理。 所以文章可能都是比较粗浅的,对于UE大佬可以忽略。目标主要是实现数字孪生可视化相关,会围绕此目标整理相关的知识点。有兴趣的读者可以关注本人的公众号。本文介绍一下UE导入FBX模型的一些方式。其实官方文档,已经说的比较详细了,本文会对重点关注点做些说明。UE导入FBX模型主要有两种方式。 由于测试主要用了一些园区地面模型和建筑模型,所以主要是静态网格体,没有骨骼动画。内容浏览器导入FBX在内容浏览器中,点击导入按钮,然后现