UE4面试基础知识(三)

1、如果要在游戏的开始和结束执行某些操作,可以在UE4哪儿处理?

如果你是指的一个关卡的开始和结束位置执行某些操作的话,可以创建一个Actor专门用于执行
这些事件。开始的操作放在BeginPlay中,结束的操作是在EndPlay中。BeginPlay会在关卡开
始时调用,EndPlay会在关卡切换的时候调用。注意该Actor不能提前调用Actor的EndPlay。
如果是还要开始一些的话,就是LevelActor的Construct()函数。
如果是还要晚一些的话,就是LevelActor的BeginPlay()函数。
再开始一些的话,就是GameInstance中的Init()函数。

Actor生命周期
UE4 游戏模块初始化顺序

2、UE4中,各种字符编码如何转换?

可以通过以下的五个宏来完成字符编码转换。
    TCHAR_TO_ANSI(str)
    TCHAR_TO_OEM(str)
    ANSI_TO_TCHAR(str)
    TCHAR_TO_UTF8(str)//TCHAR转UTF8
    UTF8_TO_TCHAR(str) 

字符编码

3、C++源文件中的注释在蓝图中显示为乱码,为什么?

需要将C++源文件的文件编码格式改为UTF-8格式。

【UE4】C++蓝图节点中文注释乱码解决

4、插件中的LoadingPhase是什么?

LoadingPhase主要用于控制插件在引擎启动的何时被加载。
有三个选项如下:
Default为正常阶段加载该模块。
PreDefault为正常阶段前来加载模块。
PostConfigInit为在引擎开始加载核心的子系统前加载该模块。

插件
UE4 插件配置文件参数意义

5、如何切换不同的引擎版本?

1、直接在Epic商城里面找到虚幻引擎选项,进入后,点击启动旁边的那个下拉符号,即可切换版本。
2、先找到项目文件夹下的.uproject文件,然后鼠标右键->Switch Unreal Engine version,
切换好版本后,直接打开即可。

打开不同UE4版本的工程

6、对于一个团队项目,如何处理DDC?

DDC为派生数据缓存。
如果是同一地点的团队或者是小团队,可以设置共享DDC。此为所有团队成员和构建计算机均可
读取/写入的网络驱动器。
如果是大型项目,并希望分发预构建DDC数据,则应该生成DDC pak。

派生数据缓存

7、UFUNCTION,UPROPERTY等宏的作用是什么?

UFUNCTION宏用于将C++函数设置为UE4反射系统可识别的C++函数。其函数说明符可以更改
UE4解释和使用函数的方式。
UPROPERTY宏则是可以通过定于属性元数据和变量说明符,来对属性实现一些UE的特定操作。
如显示到细节面板。

UFUNCTION/UPROPERTY/UCLASS

8、如何给AI增加playerstate?

默认情况下,AI并没有playerstate,如果需要,可以在构造函数中增加  
bWantsPlayerState = true;

为AI增加playerstate

9、ProjectileComponent是否同步?若未同步,如何操作?

并不是同步的。需要通过RPC进行同步。

【UE4】网游开发中的RPC和OnRep(一)

10、若要更改某个Actor中的组件为其派生的组件,如何操作?

不知道我是否理解错误,这个“其派生的组件”中的“其”是指的Actor中的组件。
在一开始将该父类组件申明为指针,当要更改时,直接指向其派生的组件对象即可。

怎么理解C++多态的“父类指针或引用指向子类对象”?

  • 10
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值