- 博客(41)
- 收藏
- 关注
原创 UE4和C++ 开发-C++绑定widget的方式和初始化UI
C++绑定widget的方式有两种,一种是使用meta = (BindWidget),一种是使用GetWidgetFromName(TEXT("")),两种方式都可以。一、meta = BindWidget方式注意这种绑定的方式UMG里面的空间名称需要与C++里面声明的变量名称相同 Btn_StartU.h文件.cpp文件,第一是virtual void NativeConstruct() override;第二种是bool Initialize() override;
2023-10-11 22:59:28
1789
原创 UE4和C++ 开发-常用的宏(一)UCLASS(例:标注为UCLASS(Blueprintable)以后,就可以被蓝图类继承了)
1、概要UE4有一个管理游戏对象的强大系统。UCLASS的宏参数可以更加具体地指定该类型的各种行为。强调一下:UCLASS宏只能修饰UObject的子类。
2023-10-11 22:08:00
512
原创 UE4和C++ 开发-常用的宏(二)UPROPERTY(类似于Unity中C#的特性[SerializeField])
属性说明符(Property Specifiers)通过反射把属性暴露在蓝图或实例的细节面板。Unity中C#的特性。
2023-10-11 22:02:32
605
原创 UE4和C++ 开发-头文件(.h) 和实现文件(.cpp)区别
的,类中函数的声明和调用是在.h中的,.h文件主要是把函数进行封装,在写很多代码的时候,用上.h有很好的作用,这时候我们只要给对方公司*.h文件就行了,这样既提供了必要的信息,又保护了我们的核心代码。在.cpp中对.h文件进行调用时,要用#include.xxxh。1、简单讲,一个Package就是由同名的.h和.cpp文件组成。只有.cpp文件的Package可以是一个程序的入口。2、.cpp是C++文件的扩展名,.cpp主要是进行。(1)函数实现(包括全局函数(默认)、静态函数)。
2023-10-11 21:12:34
779
原创 UE4和C++ 开发-UE4怎么删除C++类
5 双击.uproiect文件,忽略警告打开就看到已经删除了想要删除的C++类。1 关闭visual stdio,关闭UE4引擎。2 打开你的项目文件夹。.h,.cpp文件删除。
2023-10-11 20:36:12
711
原创 UE4和C++ 开发-C++与UMG交互3
8:修改命名:将开始游戏按钮的命名改为StartGameBtn,即Button_241改为StartGameBtn,剩下的依次改为SettingBtn,QuitGameBtn。编写类,还记得第8步说的命名吗,这个类的成员要跟那个命名一样。1:新建一个level,选择empty level,即空的关卡,该关卡用来显示菜单。打开一个游戏,最先进入眼帘的便是加载页面,然后便是ui界面,如开始游戏等等按钮。2:在Content目录下的ThridPersonCpp下新建一个UI文件夹,在UI文件夹下新建Res目录。
2023-10-10 22:45:59
662
原创 UE4和C++ 开发-UMG基础与实例1
• 这些控件在专门的控件蓝图中进行编辑,编辑时将用到两。个选项卡进行构建:设计器选项卡实现界面的视觉布局,功能(比如按钮、复选框、滑块、进度条等)。而图形选项卡则实现使用控件时提供的功能。可用于创作想要呈现给用户的UI元素。,即用于构成界面的一系列预先制作的。是一款视觉UI创作工具。
2023-10-10 21:53:54
166
原创 UE4和C++ 开发--HUD类
HUD是在屏幕上2D显示图片的一个类,可以实现例如提示之类的东西。使一个物体在中心位置上首先需要知道容器的大小然后各取一半再除以物体本身大小的一半。
2023-10-09 23:08:30
535
原创 UE4和C++ 开发-编程基础记录(UE4+代码基础知识)
这些都是UE4使用其自身的反射实现,来启动动态功能,比如,垃圾回收,序列化,网络复制和蓝图/C++通信。这些功能你可以根据需求选择的加入,只要为相应的类型添加正确的标记就可生成反射数据。所以可以放在关卡场景中的对象都可延展自这个类,比如:AStaticMeshActor、ACameraActor 和 APointLight 等等 actor。我们又见面了Actor,Actor是在一个关卡中持续存在的,通常他包含几个Actor组件。先查找关卡中所以的派生自UObject的 类的实例。并且可以对数值进行调节。
2023-10-09 22:05:57
604
原创 关于 UObject、资源、蓝图、蓝图所创建的类这几个概念顺便梳理一下
UObject类类UObject类类类UBlueprint类UMG这个蓝图资源的类是。其继承关系如下:而每个UMG的蓝图资源所创建的类继承自。
2023-10-09 21:22:39
195
原创 UE4和C++ 开发-C++项目中怎么添加灯光?-第一篇:方法一
1、如果在插件列表搜不到cesium插件,需要去。定向光源和天空光照需要将坐标初始化。在商城搜索Cesium for。引入下载好的Cesium。3.2,添加太阳光。
2023-09-13 23:07:05
219
原创 UE4和C++ 开发-FPlatformMisc::MessageBoxExt是什么?
如果用户单击了对话框上的“确定”按钮,则 FPlatformMisc::MessageBoxExt 函数返回 true。否则,它将返回 false。你可以使用这个返回值来处理用户的选择。在这个示例中,我们使用了 FPlatformMisc::MessageBoxExt 函数来打开一个简单的消息对话框。
2023-09-11 21:07:27
164
原创 UE4和C++ 开发-blueprintcallable是什么
在UE5中,我们还可以看到一个新的类称为C类(C class),C类是用于存放蓝图的头文件和cpp文件的。通过双击打开C类,我们可以在Visual Studio中看到它的头文件和cpp文件,这样我们就可以在代码层面对蓝图进行编辑和扩展。综上所述,UE5中的BlueprintCallable允许我们在蓝图中创建可调用的函数,以扩展游戏逻辑。举例来说,当你创建自己的蓝图时,你可以在箭头上方添加其他函数,这些函数可以在蓝图中被调用。在蓝图中,我们可以通过创建自己的蓝图并使用它们来扩展游戏逻辑。
2023-09-11 20:17:38
360
原创 UE4和C++ 开发-的UFUNCTION()是什么?
在事件形式重写中,使用UFUNCTION宏声明的成员函数可以被蓝图对象重写实现,这样可以在蓝图中直接处理该事件。例如,在蓝图中重写函数BlueprintImplementableEventTest(),可以在C++代码中声明该函数,并在蓝图中实现这个函数。在直接重写函数中,使用UFUNCTION宏声明的成员函数可以被蓝图对象直接重写。根据引用,UFUNCTION可以用于两种方式的重写:事件形式重写和直接重写函数。用于将成员函数暴露给蓝图对象,以便在蓝图中调用或重写该函数。
2023-09-11 20:15:20
273
原创 UE4和C++ 开发-GENERATED_BODY()是什么?
在实现中,GENERATED_BODY()宏定义中使用了一些其他的宏定义,比如BODY_MACRO_COMBINE()和BODY_MACRO_COMBINE_INNER()。GENERATED_BODY()是一个宏定义,它在代码中的作用是帮助实现其他宏定义,比如GENERATED_BODY_LEGACY()和GENERATED_USTRUCT_BODY()。总之,GENERATED_BODY()是一个用于代码生成的宏定义,它可以帮助实现其他宏定义,并在代码中生成一些必要的功能。
2023-09-11 20:09:27
770
原创 UE4和C++ 开发+UI面板按钮在关卡蓝图+调用C++方法
一、新建UI面板1、新建 C++工程,命名为2、新建一个C++类,3、在 控件蓝图 面板中选中 “类设置”,在左侧的父类下拉列表中选择我们刚才创建的 C++ 类 “
2023-09-10 23:21:36
867
1
原创 PR或者AE启动不了,桌面弹出Crash文件解决办法
3、找到该目录下有 ZXPSignLib-minimal.dll 文件。2、右击 PR/AE 快捷方式,打开文件所在目录。4、将下载好的文件复制进来替换掉该文件。
2023-08-19 11:41:17
1342
1
原创 计算机中丢失api-ms-win-core-path-l1-1-0.dll的三种解决方法
检测好了之后软件会提示需要安装什么,提示:必要系统组件几个等等,然后点击进去安装就是了。键入“cmd”, Windows 会找到“命令行提示符”。右键点击“命令提示符”,选择“以管理员权限运行”。把下载好的文件(api-ms-win-core-path-l1-1-0.dll)放到你的系统路径。具体操作是点击“开始”,点击“所有程序”,点击“附件”,右键点击“命令提示符”,然后点击“以管理员权限运行”。在 64位 Windows 上,32位 DLL 文件的默认路径是。打开一个提升权限运行的命令行窗口。
2023-07-29 15:37:33
48745
原创 UE4和C++使用UE_LOG打印日志与在蓝图中实例化继承于Object的类(实例化对象并且调用方法)
2.2.1.2.4.1、例如输出一个MyFuntion,如下图1,输入myFloat,可以看到在咱们自定义的。,例如输出一个MyFuntion,如下图,可以根据实例化出来的一个对象调用某一个方法。编译完成后,怎么去在蓝图中去调用它?2.2.1.1关卡蓝图更多使用技巧。2.2.1.2.4,做完这一切,2.2.1.2.3,输出的话,4、可以做成一个变量将它保存。2.2.1.2.1、如下图,,可以直接将这个值进行调用,5、每个关卡蓝图只有一张。,然后给这个变量命名。
2023-07-27 23:46:20
564
1
原创 UE4和C++创建UObject的蓝图类与基础宏参数(蓝图中可以调用C++方法或者变量)
3、因为蓝图是基于MyObject类的,所以不能放在场景中,所以没有可视化的东西。4、如下定义,外加上 UPROPERTY() 、UFUNCTION()蓝图宏。6.2、MyFunction就是可以。6.1读就是get,写就是Set。2、点击创建,即可创建一个蓝图。1、右键新建一个蓝图。
2023-07-27 22:31:54
817
1
原创 UE4和C++创建自己的第一个UObject子类,以及如何在蓝图中去使用这个C++类
2.2、选择Object创造一个基于Object的类。.cpp文件是写逻辑用的,.h文件是写声明用的。3.2.2,然后就可以看到选项变亮了。2、基础训练,基础学习,所以勾选上。蓝图中使用这个类,使之变成一个蓝图类。New C++ Class类。2.4、回到引擎,可以看到。2.5、可以看到2个文件,3.2.1给宏加上一个。
2023-07-27 21:59:10
617
1
原创 UE44如何使用Geometry(BSP)笔刷,快速创建游戏原型?
一、好处1:防止同时也放大了对应的网格,如果像unity里面一样,R放大缩小以后,网格也会对应拉伸,失真。选择Geometry,在BrushSetting里面。二、好处2,如果类似在地面上打一个洞,怎么弄?如图,可以在模型固定好后,设置为一个静态网格。2.3这种方式不好处之一便是耗费网格,可以选择某一个面,为其设置材质。3.3、当然也可以对某一个面进行。拖一个小球,放下去,洞就打好了。笔刷也可以调整精度,球的大小等。游戏原型搭建,如何快速搭建场景。,将X,Y,Z对应放大缩小,Subtract剪的模式,
2023-07-26 23:33:43
633
1
原创 UE4项目文件夹结构?
2.3、Content文件夹和项目中是一 一对应,众多资源在里面。2.4、Intermediate文件夹:引擎使用过程中生成的,2.7、Binaris:用于编辑器热加载C++类所使用的。2.1工程_uProject打开,如下。2.5、Saved:log日志,一大堆。2.6、Source:C++的源文件。2.2、Config:配置文件。
2023-07-26 22:27:14
598
1
原创 C++写一段程序模板
213-类的public和private访问修饰符。206-指针的使用(取地址和取地址指向的数据)22-关于auto关键字和函数的提前声明。17-循环语句(for循环和循环中断)211-类的实现、对象的定义和成员调用。16-循环语句(while循环)18-函数的定义和函数的主要作用。201-数组的声明、初始化和使用。203-关于数组和字符的注意事项。19-函数的参数和返回值的作用。212-类的构造(构造函数)205-指针的声明和赋值。20-关于字符串的使用。207-指针的注意事项。209-为什么使用类。
2023-07-25 06:34:56
53
原创 C++的using namespace std;
namespace在C++中被提出来,用来解决C语言不能重定义的问题namespace被称为命名空间,使用时可以将其认为是一块单独开辟出的空间。这块空间内,可以随意定义 变量、函数等。2、命名空间内的变量是不会与命名空间外的其他同名变量冲突的。3、其实简单来看,namespace命名空间作用就是将变量 或 函数等 规划到了不同的作用域,这样就起到了 将变量隔离的效果,就不用再担心会有重定义的现象发生了。4、命名空间怎么定义已经知道了,定义之后,怎么使用命名空间内的变量呢?命名空间变量名。
2023-07-24 22:23:11
129
原创 C++的#include <iostream>详解
命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。包含了iostream也自动包含了ios、streambuf、istream、ostream和iosfwd。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。,在这个函数中用于提取iostream文件中的代码,并编译使用其输出功能。在 cout (输出)中每一个不同类型的数据之间都要用。同时在 cin(输入)中每一个不同类型的数据之间都要用。源文件带来的功能,用于输出“指定数据”到窗口中。
2023-07-24 22:11:30
9873
2
原创 UE4和C++的第一个预编译#include“stdafx.h”详解
(3),由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件,不需要的时候可以删除。右击stdafx.cpp文件,选择【属性】-【C/C++】-【预编译头】-【创建/使用预编译头】3,对于preh.c,在【属性】里面设置【创建预编译头】,对于其他.c文件,设置【使用预编译头】再右击Test.cpp文件,选择【属性】-【C/C++】-【预编译头】-【创建/使用预编译头】可以看到有3个选项:【创建预编译头】、【使用预编译头】和【不使用预编译头】。stdafx.cpp肯定选择的是。
2023-07-24 21:57:20
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人