草庐IT

UE4_VaREST

全部标签

【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在内容浏览器中,点击导入按钮,然后现

UE4移动残影

UE4移动残影之前做项目用到了一个移动残影的功能,核心组件为PoseableMesh组件。具体效果如下:接下来介绍实现逻辑。材质残影的材质需要特殊处理:创建一个材质后,具体的设置如下:编辑器的结点:主要使用的是菲涅尔函数,将exponenth设置为一个参数供外部调用。残影Actor残影本质上也是一个Actor,创建一个actor类,本文创建的是Ghost类为其添加PoseableMesh组件点击组件,组件的细节面板设置如图:主要是要填上残影的角色的骨骼网格体。因为组件是通过捕捉动画的方式获取姿势。主要逻辑如下:首先,创建材质之前创建的材质的材质实例,然后给PoseableMesh的骨骼网格体赋

UE4 碰撞(Collsion)

简介:在场景中,碰撞是无时无刻都存在的,有些时候我们需要碰撞,有些时候我们不需要碰撞,想要把碰撞关闭,虚幻就提供了碰撞机制。能够很好的解决碰撞问题。 一、查看碰撞二、删除和添加碰撞三、碰撞属性介绍四、碰撞事件和碰撞响应的工作原理五、自定义碰撞接下来就开始分析虚幻的碰撞机制:1.查看碰撞:点开模型点开collsion2.删除和添加碰撞一般不推荐使用自动生成碰撞(不太是我们想要的碰撞)3.碰撞属性介绍 4.碰撞事件在了解碰撞事件之前,我们需要了解阻挡和重叠的含义。阻挡:是指两个含有碰撞的物体只要接触就是阻挡,但是,需要启用 模拟生成命中事件(SimulationGeneratesHitEvents

【UE】简单实现屏幕UI定位

【UE】简单实现屏幕UI定位三维坐标方法实现效果屏幕空间定位场景空间定位一般实现兴趣点(POI)有两种实现方法,场景空间UI定位和屏幕空间UI定位。场景空间定位:UI类似实例模型,位置和尺寸是相对于场景不变。大多适用于第一人称第三人称小场景。屏幕空间定位:UI大小固定,不会随场景的变化而改变大小。大多适用于上帝视角的场景。实现方法创建UI控件蓝图创建用户界面控件蓝图命名为UI_POI(这里随便命名就可以)创建画布面板,建立一个按钮或图片锚点调整,Anchors(锚点)到中下位置,Aignment(对齐)也要调整到中下位置,及x=0.5,y=1兴趣点创建创建Actor蓝图类命名为BP_UIPoi

UE4 Sequence添加基础动画效果 (03-主序列的使用)

在上一篇的基础上添加一些摄像头的跟拍效果效果:步骤:1.鼠标右键新建Animation-》关卡序列   命名为主序列2.双击打开主序列3.点击窗口-》内容浏览器-》内容浏览器2找到入口序列 4.将入口序列拖入主序列中 5.让时间轴总长保持与入口序列长度一致 6.双击时间轴来进入入口序列 7.将Cam1_cine拖入时间轴现在我们要让摄像机动起来,让它追踪我们的角色8.选中Cam1_cine,在细节面板中勾选EnableLookatTracking 9.选中ActortoTrack的对象此时摄像头的镜头就能够跟踪角色了,下面还需设置焦点10.FocusMethod选为Tracking,Actor