零基础学虚幻4(UE4)全系列 扫二维码继续学习 二维码时效为半小时

(1评价)
价格: 6666.00元

FString、FName、FText

UE4中的所有字符串都作为FStrings或TCHAR数组以UTF-16 格式存储在内存中

wchar_t 表示宽字符,占用两个字节,UFT16每一个字符都需要一个两个字节,用wchar_t表示。

TEXT("hahha") 将c字符串转换成的宽字符串

 

 

[展开全文]
Nico · 2020-11-12 · 0

不知道该调用哪个函数,怎么办?

 

蓝图

google

源码??? 

[展开全文]
Nico · 2020-11-11 · 0

传递类对象

 

 

[展开全文]
Nico · 2020-11-11 · 0

循环引用问题

 

从Output从找错误,不要冲Error list中去找

从Output的第一个错误开始解决,可能其他的错误都是第一个错误引起的。

 

不要显示Error list

Tools --> options --> error list --> Always show error

[展开全文]
Nico · 2020-11-11 · 0

成员函数指针

 

不知道该用什么函数?

先用蓝图试下函数,因为蓝图可以过滤掉不能用的函数。

 

 

二、指向类成员函数的函数指针

定义:类成员函数指针(member function pointer),是 C++ 语言的一类指针数据类型,用于存储一个指定类具有给定的形参列表与返回值类型的成员函数的访问信息。

基本上要注意的有两点:

  • 1、函数指针赋值要使用 &
  • 2、使用 .* (实例对象)或者 ->*(实例对象指针)调用类成员函数指针所指向的函数
[展开全文]
Nico · 2020-11-11 · 0

UnrealHeaderTool

 

UBT 把代码生成可以解释的文件

 

UHT 是干嘛的?

UObjects 拥有的某些超能力,需要UPROPERTY,比如反射,因为C++不支持某些属性,需要自己魔改

UPROPERTY UCLASS 下一行的代码,特殊处理

 

 

[展开全文]
Nico · 2020-11-11 · 0

UnrealBuildTool

 

有哪些常见的构建工具?

make linux开发

ant 安卓开发

UnrealBuildTool UE4构建工具

 

构建工具有什么用?

- 依赖问题

- 调用各种程序:配置文件调用

- 跨平台

各个平台不同的配置,统一管理

 

 

 

[展开全文]
Nico · 2020-11-11 · 0

detail面板不显示,怎么办?

 

1. Camera Component 的作用?

让摄像头可以跟着玩家旋转移动,避免默认摄像头会穿模的问题。

 

2. EditAnyWhere 可以在蓝图中被赋值,没有详情

 

3. VisibleAnyWhere 可以在蓝图中更改详情信息,不能赋值

 

EditDefaultOnly 只能在类中修改

EditInstanceOnly 只能在实例中修改,只影响一个实例

EditAnyWhere 实例和类中都可以修改

 

 

[展开全文]
Nico · 2020-11-11 · 0

05-创建组件

 

对于Class 的默认访问权限是Private

对于Struct 的默认访问权限是Public

 

UPROPERTY 

只有变量声明了UPROPERTY才能使用UE4中UObject的特别操作,比如被蓝图访问

 

组件需要在构造函数中创建,才能在蓝图的编辑页面看到

 

 

[展开全文]
Nico · 2020-11-10 · 0

寻找include头文件的路径

 

UEBuildModuleCPP.cs 默认路径的设置位置 

加载模块,然后把模块下面的几个文件夹设置到寻址路径

没有模块,就把模块加入build.cs中

#include <studio.h> 只搜索系统路径 

#iinclude "studio.h" 搜索当前路径,也搜索系统路径

UE4中变量名首字母大写

[展开全文]
Nico · 2020-11-10 · 0

工程1秒build完成

 

1. UnrealHeaderTool.target 文件里面加个空格

2. SSD

3. 前向声明 (只需要一个指针类型的变量)

引入某个类,不在头文件中引入该类的头文件,只先申请

class AWeapon;

然后使用 AWeapon *Weapon;

4. Visual Assist Options设置 不要一开始解析全部文件

Performace --> Parse all files when opening a project

[展开全文]
Nico · 2020-11-10 · 0

手工创建C++类

 

generated.h 是UE4自动生成的

类名和文件名不用相同

[展开全文]
Nico · 2020-11-10 · 0

任务45:UI

 

1, 加入准星UI

User Interface --> Widget BluePrint

 

2. 把UI显示在界面上

GameMode的 BeginPlay方法中,创建UI界面,然后添加到视图上。

[展开全文]
Nico · 2020-11-05 · 0

任务44:GameMode

1. GameMode 是什么?有什么用?

GameMode 用来记录游戏的规则,积分这些信息

比如跑酷,玩家的积分,角色可以有多个,积分只属于玩家,而不是和角色绑定。

 

2. 怎么设置GameMode生效?

World Setting 可以设置 GameMode Override选中自定义的GameMode

GameMode 中可以设置 Default Pawn Class 也就是 主角蓝图的类

 

 

[展开全文]
Nico · 2020-11-05 · 0

任务43:动画事件

 

1. 机器人死亡了,就不在跟着移动

机器人死了,就让他不受控制器控制

DetachFromControllerPendingDestory

 

2. 隔一段时间让机器人消失

方案1:

SetTimerByFunctionName设置一个时间,调用DestoryActor让机器人消失

方案2:

因为上个方案,时间是写死的,如果动画时间变了就得改。更好的方案,动画播放完就给个通知,然后收到通知就让机器人消失。

在动画页面 AnimationSequence 动画片段中加入Add Notify 自定义一个通知

 

在动画蓝图中 接受这个通知 。然后调用销毁机器人的方法。

 

问题:

动画的通知,只能在动画蓝图里面才收的到吗?

是的

[展开全文]
Nico · 2020-11-05 · 0

任务42:状态转换

 

机器人血量为0,函数范围死亡

 

死亡动画循环播放

死亡动画设置Loop Animation为否

[展开全文]
Nico · 2020-11-05 · 0

任务41:纯函数

1. 什么是纯函数?

纯函数不需要执行线驱动

非纯函数需要执行性驱动

纯函数不修改任何数值

 

2. 什么是执行线?

执行线代表执行的顺序。因为纯函数不改变任何数值,只是展示数值,所以执行顺序不重要,可以不要执行线。只在被需要的时候调用。

 

3. 怎么创造纯函数?

函数设置里面Pure打上勾

 

4. 什么时候用纯函数?

没有执行点的时候,必须要用纯函数。

有限状态机里面没有执行点,只能用纯函数。

 

[展开全文]
Nico · 2020-11-05 · 0

任务40:动画状态机

 

1. 动画蓝图增加有限动画状态机

Add New State Machine

 

 

[展开全文]
Nico · 2020-11-05 · 0

任务39:有限状态机

 

1. 什么是有限状态机?

FSM:有限状态,状态切换,切换有条件

灯泡机制就是个有限状态机

 

 

[展开全文]
Nico · 2020-11-05 · 0

任务38:类型判断

1. 怎么让机器人掉血?

射线检测击中会返回一个结果,将该结果中的Hit Actor字段转换成机器人。

CastToRobotShooter

调用机器人的 TakeDamage方法就可以实现机器人掉血的操作。

 

GetClass可以获得对象的类,类和类可以比较

[展开全文]
Nico · 2020-11-05 · 0