UE 术语
项目 虚幻引擎项目(Project) 保存着构成游戏所需的所有内容和代码。项目在你的电脑硬盘上由许多目录构成,例如 蓝图 和 材质。你可以随时修改项目目录的名称和层级关系。 虚幻编辑器 中的 内容浏览器 所展示的目录结构和你在硬盘上看到的 项目 目录结构相同。 _内容浏览器面板会镜像显示磁盘上的项目目录结构。点击图片查看大图。 每个项目都有一个与之对应的 .uproject 文件。.uproject 文件是你创建、打开或保存项目必须用到的文件。你可以创建任何数量的不同项目,并同时操作它们。 蓝图 蓝图可视化脚本(Blueprint Visual Scripting) 系统(或缩写 蓝图(Blueprints))是一种功能齐全的游戏脚本系统,它允许你在虚幻编辑器(Unreal Editor)中通过基于节点的界面来创建游戏元素。和许多常见脚本语言一样,你可以用它在引擎中定义面向对象的类或object。在使用UE4时,你会发现使用蓝图定义的类一般也统称蓝图。 ...
UEC++ 接口
...
UEC++ 事件
事件本身和多播代理一样,为了操作的安全性,事件提供了额外的操作限定。即禁止在声明事件对象的外部调用事件传播,清理,检查等函数。通过操作隔离,最大程度的增加了事件的安全性。派生类允许调用事件的广播。 在虚幻C++中事件和多播几乎相同。只是构建方式略不同 构建宏 事件类型构建宏由于需要限定事件对象调用约束关系,需要提供声明所在类型,并且需要在类内部进行声明。事件没有返回值。 声明宏 描述 DECLARE_EVENT( OwningType, EventName ) 创建一个事件。 DECLARE_EVENT_OneParam( OwningType, EventName, Param1Type ) 创建带一个参数的事件。 DECLARE_EVENT_TwoParams( OwningType, EventName, Param1Type, Param2Type ) 创建带两个参数的事件。 DECLARE_EVENT_<Num>Params( OwningType, EventName, Param1Type, Param2Type,...
在Win7上安装VS2017的问题
在Win7上安装VS2017的问题 win7安装2017需要授信任证书 certificates,找到这个目录,里面应该有三个文件需要双击操作一下,具体如下: 需要安装certifiates目录下的3个证书 选择【将所有证书放入下列存储】 证书存储:【受信任的根证书颁发机构】
UEC++ 代理/委托
代理: 代理可以帮助我们解决一对一或是一对多的任务分配工作。主要可以帮助我们解决通知问题。我们可以通过代理完成调用某一个对象的一个函数,而不直接持有该对象的任何指针。 代理就是为你跑腿送信的,你可以不用关心给送信的目标人具体是谁,只要按照约定好的信件格式进行送信即可 更简单理解,想去调用某个函数,但并不是直接去调用,而是通过另一个入口去调用(代理) 分类: 单播代理 只能进行通知一个人 多播代理 可以进行多人通知 动态代理 可以被序列化(这体现在于蓝图进行交互,C++中可以将通知事件进行蓝图广播) 单播代理: 通过宏进行构建,单播代理只能绑定一个通知对象,无法进行多个对象通知、 单播代理分为有返回值与无返回值两种 代理可使用声明宏 函数签名 声明宏 void Function() DECLARE_DELEGATE(DelegateName) void Function(Param1) DECLARE_DELEGATE_OneParam(DelegateName, Param1Type) void Function(Param1,...
UEC++ 打开资源管理器并返回选中文件路径
声明一个函数,我们利用这个函数来进行打开资源管理器操作 12UFUNCTION(BlueprintCallable, Category = "OpenWindowsFile")TArray<FString> OpenWindowsFiles(); 函数实现: 12345678910TArray<FString> AActor1::OpenWindowsFiles(){ TArray<FString> AbsoluteOpenFileNames;//获取的文件绝对路径 FString ExtensionStr = TEXT("*.*");//文件类型 IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get(); DesktopPlatform->OpenFileDialog(nullptr, TEXT("文件管理器"),...
UEC++ 资源加载(四)模板资源拾取类
TSoftObjectPtr和TSoftClassPtr 模板类帮助我们在进行资源操作时增加了类型安全检查,我们可以在细节面板中根据给定的模版类型拾取对应的资源,以获得更加高效的操作! 同样的,TSoftObjectPtr和TSoftClassPtr也分为同步加载与异步加载!针对资源拾取类别不同,使用需要注意! 1234UPROPERTY(EditAnywhere)TSoftObjectPtr<class UStaticMesh> SoftMesh;UPROPERTY(EditAnywhere)TSoftClassPtr<class ATestActor> SoftTestActor; TSoftObjectPtr: 同步加载 头文件: 12345UPROPERTY(EditAnywhere)TSoftObjectPtr<class UStaticMesh> SoftMesh;// 构建为栈对象,需要引入头文件,不要构建为堆对象// #include...
UEC++ 资源加载(三)异步加载
异步加载 FStreamableManager FSreamableManager可以帮助我们构建异步处理逻辑,用来将加载逻辑与游戏主逻辑进行,以达到高效加载资源的目的。建议FSreamableManager创建在全局游戏的单例对象中,结合FSoftObjectPath进行加载。 FSreamableManager支持异步加载的同时也支持同步加载。 FSreamableManager创建: 123// 构建为栈对象,需要引入头文件,不要构建为堆对象// #include "Engine/StreamableManager.h"FStreamableManager m_treamable; FSoftObjectPath同步加载: 同步加载与之前使用的TryLoad基本一致 头文件: 12345UPROPERTY(EditAnywhere)FSoftObjectPath SourcePath;// 构建为栈对象,需要引入头文件,不要构建为堆对象// #include...







