1、如果要在游戏的开始和结束执行某些操作,可以在UE4哪儿处理?
如果你是指的一个关卡的开始和结束位置执行某些操作的话,可以创建一个Actor专门用于执行
这些事件。开始的操作放在BeginPlay中,结束的操作是在EndPlay中。BeginPlay会在关卡开
始时调用,EndPlay会在关卡切换的时候调用。注意该Actor不能提前调用Actor的EndPlay。
如果是还要开始一些的话,就是LevelActor的Construct()函数。
如果是还要晚一些的话,就是LevelActor的BeginPlay()函数。
再开始一些的话,就是GameInstance中的Init()函数。
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格式。
4、插件中的LoadingPhase是什么?
LoadingPhase主要用于控制插件在引擎启动的何时被加载。
有三个选项如下:
Default为正常阶段加载该模块。
PreDefault为正常阶段前来加载模块。
PostConfigInit为在引擎开始加载核心的子系统前加载该模块。
5、如何切换不同的引擎版本?
1、直接在Epic商城里面找到虚幻引擎选项,进入后,点击启动旁边的那个下拉符号,即可切换版本。
2、先找到项目文件夹下的.uproject文件,然后鼠标右键->Switch Unreal Engine version,
切换好版本后,直接打开即可。
6、对于一个团队项目,如何处理DDC?
DDC为派生数据缓存。
如果是同一地点的团队或者是小团队,可以设置共享DDC。此为所有团队成员和构建计算机均可
读取/写入的网络驱动器。
如果是大型项目,并希望分发预构建DDC数据,则应该生成DDC pak。
7、UFUNCTION,UPROPERTY等宏的作用是什么?
UFUNCTION宏用于将C++函数设置为UE4反射系统可识别的C++函数。其函数说明符可以更改
UE4解释和使用函数的方式。
UPROPERTY宏则是可以通过定于属性元数据和变量说明符,来对属性实现一些UE的特定操作。
如显示到细节面板。
8、如何给AI增加playerstate?
默认情况下,AI并没有playerstate,如果需要,可以在构造函数中增加
bWantsPlayerState = true;
9、ProjectileComponent是否同步?若未同步,如何操作?
并不是同步的。需要通过RPC进行同步。
10、若要更改某个Actor中的组件为其派生的组件,如何操作?
不知道我是否理解错误,这个“其派生的组件”中的“其”是指的Actor中的组件。
在一开始将该父类组件申明为指针,当要更改时,直接指向其派生的组件对象即可。