草庐IT

UE4 C++ 浅析InterFace接口以及简单实现一个开关

我们先来看看什么是接口?官方的定义是:接口类有助于确保一组(可能)不相关的类实现一组通用函数。在某些游戏功能可能被大量复杂而不同的类共享的情况下,这非常有用。例如,某个游戏可能有这样一个系统,依靠该系统输入一个触发器体可以激活陷阱、警告敌人或向玩家奖励点数,这可以通过针对陷阱、敌人和点数奖励器执行"ReactToTrigger"函数来实现。然而,陷阱可能派生自"AActor",敌人可能派生自专门的"APawn"或"ACharacter"子类,点数奖励可能派生自"UDataAsset"。所有这些类都需要共享功能,但它们没有除"UObject"之外的共同上级。在这种情况下,推荐使用接口。 其实要理

UE4 C++ 浅析InterFace接口以及简单实现一个开关

我们先来看看什么是接口?官方的定义是:接口类有助于确保一组(可能)不相关的类实现一组通用函数。在某些游戏功能可能被大量复杂而不同的类共享的情况下,这非常有用。例如,某个游戏可能有这样一个系统,依靠该系统输入一个触发器体可以激活陷阱、警告敌人或向玩家奖励点数,这可以通过针对陷阱、敌人和点数奖励器执行"ReactToTrigger"函数来实现。然而,陷阱可能派生自"AActor",敌人可能派生自专门的"APawn"或"ACharacter"子类,点数奖励可能派生自"UDataAsset"。所有这些类都需要共享功能,但它们没有除"UObject"之外的共同上级。在这种情况下,推荐使用接口。 其实要理

UE4 C++学习 UFunction函数说明符

本文就什么是UFunction?UFunction怎么用?做一个简单的总结UFUNCTION和UPROPERTY一样都为UE4的反射系统服务,要知道什么是反射系统可以看上一个博客:UE4C++学习浅析UProperty属性说明符-CatSevenMillion-博客园(cnblogs.com)什么是UFunction?一样的,先来看下官方解释:   如果你看过上一篇博客,那你应该就知道,UProperty(属性说明符)其实就是对UE4中的一些你可以设置的属性功能有哪些,比如这个属性是否是可读,可编辑,或者是蓝图上能否看见等等。同理,UFunction就是对UE4中的函数的功能做一些限制。 怎么

UE4 C++学习 UFunction函数说明符

本文就什么是UFunction?UFunction怎么用?做一个简单的总结UFUNCTION和UPROPERTY一样都为UE4的反射系统服务,要知道什么是反射系统可以看上一个博客:UE4C++学习浅析UProperty属性说明符-CatSevenMillion-博客园(cnblogs.com)什么是UFunction?一样的,先来看下官方解释:   如果你看过上一篇博客,那你应该就知道,UProperty(属性说明符)其实就是对UE4中的一些你可以设置的属性功能有哪些,比如这个属性是否是可读,可编辑,或者是蓝图上能否看见等等。同理,UFunction就是对UE4中的函数的功能做一些限制。 怎么

UE4 C++ 浅析委托并实现一个简单的例子

什么是委托?我们先来看看官方的解释:委托 是一种泛型但类型安全的方式,可在C++对象上调用成员函数。可使用委托动态绑定到任意对象的成员函数,之后在该对象上调用函数,即使调用程序不知对象类型也可进行操作。复制委托对象很安全。你也可以利用值传递委托,但这样操作需要在堆上分配内存,因此通常并不推荐。请尽量通过引用传递委托。虚幻引擎共支持三种类型的委托:单播委托,多播委托,和动态委托。 光是看定义可能不是很好理解,我们知道在计网中,单播和多播的意思是主机之间的一对一或者多对多通讯,在UE4中我们没有主机,所以并不是计网中的意思单播委托的意思就是可以使用一个Actor事件绑定到另外一个Actor某个函数

UE4 C++ 浅析委托并实现一个简单的例子

什么是委托?我们先来看看官方的解释:委托 是一种泛型但类型安全的方式,可在C++对象上调用成员函数。可使用委托动态绑定到任意对象的成员函数,之后在该对象上调用函数,即使调用程序不知对象类型也可进行操作。复制委托对象很安全。你也可以利用值传递委托,但这样操作需要在堆上分配内存,因此通常并不推荐。请尽量通过引用传递委托。虚幻引擎共支持三种类型的委托:单播委托,多播委托,和动态委托。 光是看定义可能不是很好理解,我们知道在计网中,单播和多播的意思是主机之间的一对一或者多对多通讯,在UE4中我们没有主机,所以并不是计网中的意思单播委托的意思就是可以使用一个Actor事件绑定到另外一个Actor某个函数

UE4游戏上架Steam全流程

目录添加Steam插件和成就设置测试Steam插件能否启用打包发行版还需要的操作游戏上传!桌面图标SteamDRM反盗版告知EPIC、编写EULA、添加Credits更新游戏卖点私货添加Steam插件和成就设置官网的参考资料很重要:OnlineSubsystemSteam|虚幻引擎文档本人使用的是UE4.27.2,Windows11操作系统。首先,在ue4项目的插件设置中,勾选OnlineSubsystem 和 OnlineSubsystemSteam,然后重启编辑器。然后在项目文件夹下的Config/DefaultEngine.ini添加以下内容:[/Script/Engine.GameEn

UE4游戏上架Steam全流程

目录添加Steam插件和成就设置测试Steam插件能否启用打包发行版还需要的操作游戏上传!桌面图标SteamDRM反盗版告知EPIC、编写EULA、添加Credits更新游戏卖点私货添加Steam插件和成就设置官网的参考资料很重要:OnlineSubsystemSteam|虚幻引擎文档本人使用的是UE4.27.2,Windows11操作系统。首先,在ue4项目的插件设置中,勾选OnlineSubsystem 和 OnlineSubsystemSteam,然后重启编辑器。然后在项目文件夹下的Config/DefaultEngine.ini添加以下内容:[/Script/Engine.GameEn

浅析UE4 Actor&Actor生命周期

首先说明一下关于UE4中一些对象的名字前缀吧,虽然这个不是这一关于Actor的内容,但是后续都要用到,所以就先说明白。关于Class类前缀:派生自 Actor 的类前缀为A,比如AController。派生自 Object 的类前缀为U,比如UComponent。派生自 SWidget(SlateUI)的类前缀为S,比如SButton Enums 的前缀为E,比如EFortificationType。Interface 类的前缀通常为I,比如IAbilitySystemInterface。Template 类的前缀为T,比如TArray。其余类的前缀均为字母F,比如FVector。--好了,现

浅析UE4 Actor&Actor生命周期

首先说明一下关于UE4中一些对象的名字前缀吧,虽然这个不是这一关于Actor的内容,但是后续都要用到,所以就先说明白。关于Class类前缀:派生自 Actor 的类前缀为A,比如AController。派生自 Object 的类前缀为U,比如UComponent。派生自 SWidget(SlateUI)的类前缀为S,比如SButton Enums 的前缀为E,比如EFortificationType。Interface 类的前缀通常为I,比如IAbilitySystemInterface。Template 类的前缀为T,比如TArray。其余类的前缀均为字母F,比如FVector。--好了,现