虚幻4蓝图
文章平均质量分 56
wjysg8408982
开摆
展开
-
虚幻C++限定蓝图类选项里的可选类型
通过继承C++的蓝图类里需要限定,可选的类的时候只需要在声明时加上TSubclassOf,就能使得蓝图类里选择类的时候只能选择<>里的类型或者它的子类只能选择这种类型,或者是它的子类原创 2021-01-21 15:34:50 · 160 阅读 · 0 评论 -
蓝图本地事件
蓝图可实现事件,是在C++中写函数声明,然后在蓝图脚本里面写具体逻辑实现的(什么是蓝图可实现事件),而蓝图本地事件,就是在C++中声明,然后在C++中也有默认实现,也能在蓝图中重写的函数。在UFUNCTION的宏内加入参数,BlueprintNativeEvent,那么它就是一个蓝图本地函数现在可以在C++中为它写默认实现虽然函数声明的时候函数名写的是:TestNativeEvent,但是我们为它做C++默认实现的时候,不能直接写TestNativeEvent,而是写TestNativeEven原创 2021-01-19 16:09:09 · 293 阅读 · 1 评论 -
虚幻4C++调用蓝图中的事件(蓝图可实现事件)
如果想用蓝图调用C++里面的函数只需要,创建继承C++类里面的蓝图类即可,反过来用C++调用蓝图中实现的事件需要在UFUNTION的括号中添加上BlueprintImplementableEvent这个参数虽然有绿色波浪线表示着C++中没实现,但是编译代码后并不是报错,而且打开对应这个C++类的蓝图类,可以呼出这个Test事件,可以看到它并没有像Test2一样,被标识为蓝图中的自定义事件,这就是蓝图可实现事件,在C++中定义,转而在蓝图中提供实现事件触发后的逻辑这么做之后,蓝图中自定义事件将不允许原创 2021-01-16 20:14:59 · 1874 阅读 · 0 评论 -
UE4中HUD、UMG、Slate之间的区别
这是目录SlateUMGHUDSlateSlate是为编辑器专门制作的窗口UI框架(以前的UE编辑器使用了Window的库),但它也可以用在游戏中。 但是Slate类不在UObject环境之外而在反射系统之外,这就是为什么它需要UMG包装来使其与蓝图一起工作。UMGUMG是Slate的蓝图延伸 ,上面可以直接在画布上添加文件按钮等等,方便快捷制作出UI界面同时可以在蓝图图表处添加点击事件等等的逻辑HUDHUD Canvas是来自UE3(甚至可能更老)的东西,在UMG被引入之前处于UE4中,原创 2021-01-10 15:25:51 · 6203 阅读 · 0 评论 -
UE4的GamePlay框架概述
GameInstance(游戏实例)贯穿一个游戏始终的东西,不关关卡是否在进行,是否在等待界面,是否已经结束了,都是可以访问到GameInstance的,适合放置一些独立于关卡的信息,以及一些功能,例如,显示UI登录,UI独立于任何关卡,比如刚打开一个游戏进入主界面/登录界面,就可以把显示它的逻辑放在GameInstance里。GameMode (游戏模式)指的是游戏玩法规则,里面通常会写明游戏玩法,游戏进行的规则,胜负条件等等,游戏模式是和关卡绑定的,一个关卡只能有一个游戏模式,但是一整个游戏可以有原创 2021-01-10 14:44:30 · 2883 阅读 · 2 评论 -
虚幻4蓝图如果使用EventDispatcher事件分发器
EventDispatcher事件分发器:字面意思,就是在事件触发时,会通知给所有订阅过相关事件的对象。这篇博客,将实现在GameMode创建分发器,场景中的Pawn发送事件触发通知给自己和Actor1. 创建Event Dispatcher在GameMode蓝图中创建Event Dispatcher,并更名为"EventDispatcher",添加一个输入参数,更名为"event",并将参数类型设置为String。2.给pawn创建回调函数在pawn蓝图中定义一个事件触发时的回调函数,传入发射原创 2020-12-24 21:44:01 · 1202 阅读 · 0 评论 -
虚幻4蓝图脚本中,函数,事件,宏的区别
函数,事件,宏的区别语法上的区别执行引脚:返回值延迟节点允许访问范围逻辑区别总结语法上的区别执行引脚:调用函数和发射事件只能有一个执行引脚,而宏在调用的时候可以有很多执行引脚进入或者输出。返回值事件被触发了在执行触发事件的逻辑之后,没有返回值,函数和宏有返回值(所以当我们需要返回值的时候,我们应该使用函数。关于这个返回值还有几个有趣的地方,在UE4里函数的图标为一个小写的f,而事件的图标为一个箭头,如果我们在事件中去调用函数,若这个函数没有返回值,你会发现此时它的图标会是箭头,也就是说系统是把它原创 2020-12-22 22:30:11 · 3507 阅读 · 1 评论 -
虚幻4蓝图通信:蓝图通信的方法,什么是蓝图通信,蓝图怎么访问获取另一个蓝图里的数据
虚幻4蓝图通信的方法获取场景中具体的某一个Actor实例获取到指定类里在场景里的首个Actor实例获取类在场景中的全部Actor实例什么是蓝图通信:在虚幻的蓝图模式下如果一个蓝图需要访问或者引用到另一个蓝图里的数据或者是函数时,要让他们之间建立关系,这就是蓝图通信获取场景中具体的某一个Actor实例创建一个类型为我们需要通信的蓝图类的名称的对象引用,并点击眼睛设置为外部可编辑,然后在具体对象的细节面板我们可以通过一个选取吸管,然后,在场景中点击具体的相关对象实例,就能当前蓝图脚本访问被取到的具体对原创 2020-12-14 16:21:46 · 1841 阅读 · 0 评论 -
虚幻4蓝图类,蓝图脚本,实例化对象,和C++类的关系和区别
标题什么是蓝图类什么是蓝图脚本蓝图和C++的抉择刚开始学习的时候把C++类和蓝图类,蓝图脚本的概念混淆了什么是蓝图类蓝图类又叫蓝图系统是包裹一个游戏对象数据逻辑和各种内容及可编辑属性为一体的容器,通常命名以BP_开头,图标下带有蓝色条纹可以展开独立编辑页面,通常由视口和事件图表等组成什么是蓝图脚本在蓝图类的事件图表分栏,以很多小格子划分的背景,可以和C++代码一样可以添加数据类型,通过节点之间的连线实现代码,函数调用的逻辑的功能的就是蓝图脚本蓝图和C++的抉择虽然蓝图脚本的逻辑通过C+原创 2020-12-11 21:48:01 · 3082 阅读 · 0 评论 -
虚幻4 C++常用UPROPERTY,UFUNCTION宏内的参数
标题在蓝图脚本里面访问权限修饰在蓝图类细节面板中访问权限修饰在实例化对象细节面板中访问权限修饰在蓝图类和实例化对象中都可以编辑在虚幻4定义的C++类中,可以定义一些数据和函数,这些数据和函数通常不仅仅是在C++类中访问,也要给蓝图类或者在场景中具体的对象实例中通过编辑细节面板修改,这时候往往需要在相关的UPROPERTY宏内添加上控制访问权限的参数准备知识什么是蓝图类,什么是实例化对象:把准备好的蓝图类拖拽到场景当中时,表示实例化了一个对象在蓝图脚本里面访问权限修饰UCLASS(Blueprinta原创 2020-12-12 22:51:36 · 1690 阅读 · 0 评论 -
虚幻4蓝图实现简单开关门
什么是蓝图蓝图又称为可视化编程,通过模块与模块之间的连线操作在视觉效果上更简单明了的实现需求逻辑新建蓝图类需要实现的是开关门的操作,因此需要添加一个门的对象,所以先添加一个蓝图类取名位为door,选取父类为Actor(演员,在视口中能见到的具体对象都继承自Actor)。创造一个门的模型添加组件先添加一个静态网格组件在细节面板添加一个SM_Door的静态网格体(系统内置的门模型),这样一个门的模型就制作完成了添加碰撞检测接下来添加一个盒形碰撞检测,在门上的黄色边框就是盒形碰撞检测编原创 2020-11-14 19:57:42 · 448 阅读 · 0 评论