当前位置: 首页 > news >正文

泰兴做网站/厦门网络营销推广

泰兴做网站,厦门网络营销推广,为什么选用美食做网站主页,仿牌网站安全UE4 | C | 实用知识汇总 文章目录UE4 | C | 实用知识汇总0. 想要实现某个功能但是不清楚具体的实现方法1. 非静态成员引用必须与特定对象相对2.不允许使用的类类型3.不允许使用不完整的类4. 在指定文件夹中获取指定类型的uasset5.获取World Outline中的各类Actorelse插件管理与…

UE4 | C++ | 实用知识汇总

文章目录

  • UE4 | C++ | 实用知识汇总
    • 0. 想要实现某个功能但是不清楚具体的实现方法
    • 1. 非静态成员引用必须与特定对象相对
    • 2.不允许使用的类类型
    • 3.不允许使用不完整的类
    • 4. 在指定文件夹中获取指定类型的uasset
    • 5.获取World Outline中的各类Actor
    • else
      • 插件管理与使用

持续更新中…



0. 想要实现某个功能但是不清楚具体的实现方法

一般去这个网站
IsaraTech:https://isaratech.com/all-articles/



1. 非静态成员引用必须与特定对象相对

一般蓝图中的函数使用都有Target,对应的就是成员函数所在的实例化对象。

如果不清楚成员函数所在的类,可以使用ctrl+shift+F来查找你需要的函数所在的类,然后实例化该类的对象,然后就可以使用 对象.函数的形式调用非静态成员函数了。
p.s. 我们都懂static成员不能直接使用,问题其实主要是我们不知道这个函数所在的类类型和如何正确的调用它。



2.不允许使用的类类型

这种情况一般是使用类名::函数()形式遇到的,解决方法同1,查找函数所在的类,实例化对象然后再去调用函数。



3.不允许使用不完整的类

去Bing搜索 UE4+类,找到官方文档,把头文件包含进来。



4. 在指定文件夹中获取指定类型的uasset

使用资源注册表:

FAssetRegistryModule& AssetRegistryModule =FModuleManager::GetModuleChecked<FAssetRegistryModule>("AssetRegistry");
FARFilter filter;
TArray<FAsset> assets_list;
filter.PackagePaths.Add("/Game");
filter.ClassNames.Add(UMaterial::StaticClass()->GetFName());	//可以添加多种类型
filter.ClassNames.Add(UStaticMesh::StaticClass()->GetFName());	
filter.ClassNames.Add(USkeletalMesh::StaticClass()->GetFName());	
filter.bRecursivePaths=true;	//true的话会递归目录;false的话只查找当前单一文件夹。
filter.bRecursiveClassed=true;
AssetRegistryModule.Get().GetAssets(filter,assets_list);

一般获取到的资源(assets_list里的资源类型还是UAsset类型)需要转换为对应的类型,这个时候可以使用for循环+auto指针来遍历,并且使用以下形式获取指定类型的单个uasset到变量中:

需要的类型名 *变量=Cast<需要的类型名>assets_list[下标].GetAsset();

示例如下:

UMaterial *material_Asset;
for(auto asset:assets_list){if(Cast<UMaterial>(asset.GetAsset())){		//Cast之前最好有一个if判断material_Asset=Cast<UMaterial>(asset.GetAsset());}}


5.获取World Outline中的各类Actor

需要引入UGameplayStatics对应的头文件,使用的是蓝图和C++中均可以调用的函数GetAllActorsOfClass(世界指针,Actor类型,输出的TArray数组), 函数有三个参数:
第一个参数为World *类型,一般我使用的是GWorld变量;
第二个参数一般使用Actor类名::StaticClass();
第三个参数是你自己创建的TArray容器;

示例如下:

#include "Kismet/GameplayStatics.h"
TArray<AActor*> actors_List
UGameplayStatics::GetAllActorsOfClass(GWorld,AStaticMeshActor::StaticClass(),actors_List);

需要注意的是之后遍历actors_List的时候如果使用actor的名称来匹配的话绝对不要直接用变量的名字,而是需要使用变量的ID,你把鼠标移到变量上就能看见对应显示的ID,这个才能用来进行匹配。

else

插件管理与使用

最近做的项目中使用了别人提供的开源插件,并且自己也写了三个插件,这里记录一下所学到的小知识。

  1. 自己编写的插件可以很方便的移植到别的项目,只需要把对应的文件夹复制过去,然后在 uproject的启动过程中就能够自动识别 plugins文件夹中的插件。
  2. 需要注意的是在 VS 中编译插件的时候使用 develop模式,这样改动才能编译进 binary 文件夹。
  3. 编译文件的时候 include 头文件有时候会报错,其中有一些 private 文件夹内的文件是不能 include 进来的,只能 inlude Public 文件夹内的文件。
http://www.jmfq.cn/news/4854565.html

相关文章:

  • 专注做动漫的门户网站/如何seo推广
  • wordpress 后台进不去_如何替换主题/合肥百度推广排名优化
  • 外贸独立网站做仿品/整站优化和关键词优化的区别
  • 企业信息管理系统案例/台州seo排名优化
  • 如何自己办网站/域名注册多少钱
  • 杭州招标信息网/电脑网络优化软件
  • 网站搭建团队/淘宝指数在线查询
  • 网站托管服务适合/微信推广怎么弄
  • 图解asp.net网站开发实战/今天新闻头条新闻
  • 在线看网站建设/湖南平台网站建设制作
  • 怎样做购物网站/游戏加盟
  • 小程序做网站/天津优化公司
  • 品牌型网站建设哪里好/网站百度不收录的原因
  • 团购做的好的网站/线上营销平台
  • 手机网站跟pc网站有什么不同/百度怎么注册自己的网站
  • 记事本网站开发/建站模板网站
  • 织梦做音乐网站/合肥网站快速排名提升
  • 怎么看网站做没做备案/网络营销的主要内容有哪些
  • 建设一个网站的需求分析/外链工具
  • 网站开发项目可行性分析/曲靖seo
  • 重庆微信网站开发公司/免费的自助建站
  • 网站建设软件排行/汉中网站seo
  • 闵行网站搭建哪里有/深圳网站建设推广
  • 免费诶网站建设/百度推广seo是什么意思
  • 二级网站模板/打广告
  • 网站建设在哪里发布/株洲网站设计外包首选
  • 专业做网文的网站有哪些/网络推广文案有哪些
  • 冷库建设网站/什么平台可以发广告引流
  • 国内知名网站建设/新闻最近新闻10条
  • 如何设计网站制作方案/企点