
很长时间以来,我想列出一些技能和工具,我认为这些技能和工具应该包含在
虚幻引擎4下任何程序员的“绅士风度”中。 就
在前几天,在
UE4聊天中,我看到了以下内容:
>蓝图,动画开发,技术美术,人工智能,多人游戏,编辑器扩展。 我想到的第一件事
>想法:蓝图,动画,AI,材质编辑器,小部件,面板,编辑器扩展,ue4插件,物理,照明,渲染,c ++
+与引擎和国家/地区一起工作了多少时间,就是这样:)
在这样的表述中,所说的一切只是词语的集合。 因此,我聚在一起为那些想成为UE4程序员的人草拟了一份
问卷 ,并且可以向那些已经认为自己是UE4的高级程序员的人评估他们的水平。
不要使用常用词
引号中列出的所有术语都是技能,原理和技术的整体。 一言以蔽之,您绝不会传达需要确切应用的内容以及需要“深入”研究的内容。
我将遍历主要类别,并提出一些您应该知道答案的问题:“我理解这一点”。
引擎架构基础
UObject
和AActor
之间有什么区别? 根本区别是什么? 是否可以强制UObject
执行相同的功能? 为什么使用AGameState
和APlayerState
? 关于AGameMode
和AHUD
类似问题。AGameMode
与UGameInstance
有何不同? 它们都用来干什么? 为什么需要APlayerController
?为什么需要一个扇区?UPROPERTY
用途UPROPERTY
什么? 我可以用SharedRef替换它吗? 如何解决部门中的循环依赖 (父母有一个指向孩子的指针,孩子有指向父母的指针)? 什么时候删除UObject
? 如何保护实体不被垃圾收集器删除? 如何删除演员 ?- 什么是CDO ? 我如何才能彼此断开 Reference'ov类的链,为什么?
- 引擎主要实体的初始化顺序是什么(至少在控制器/ pavna /状态级别上)? AActor的生成顺序是什么?
- 组件中的组件-好还是坏?
- 什么是
WorldContextObject
? 是否可以将其带到UObject
? - Slate和UMG之间的根本区别是什么?
蓝图
- 宏与函数有何不同?
- 使用什么会导致类之间形成Referenc? 资产? 如何避免这种情况?
- 什么是钝器本土化,其用途是什么? 包含本地化的缺点是什么?
联播网
- 在游戏过程中,用户的游戏玩法数据(例如库存或积分)存储在哪里?
APlayerController
正确? PlayerState
如何复制到客户端? 重新连接播放器时, PlayerController
和PlayerState
的生命周期是多少?- 如何按角色区分数据复制? 网络角色是什么? 他们由谁任命,遵循什么规则?
- 我可以
RPC
哪些类上调用RPC
?为什么? 是否可以将此功能扩展到另一个类/实体? RPC调用的开销是多少? - 扇区组件如何复制? 如何理解该扇区是“完全”复制的? 如果要在一个扇区中复制3 MB数据 ,会发生什么:该扇区的行为如何? 游戏一般?
- 数组如何复制? 以及如何复制附加属性(复制的字段是一个结构)?
- 存在哪些网络限制? ( 图! )如何分析网络上的负载? 使用哪些网络优化方法? 什么是
ForceNetUpdate
?
物理与基本算法
- 阻尼如何工作? 什么是分步骤 ? 它有什么用? 物理如何通过网络同步?
- 什么是四元数, 它们的应用程序可以解决什么问题 ?
- 什么是特征通道和轨迹? 是否可以在同一物理资产中配置不同的行为? 如果没有,那么为什么,以及如何解决呢?
- 追踪的费用是多少? 它取决于什么?
流
- UE4中的主要线程是什么? 哪些任务是并行执行的,哪些不是并行执行的? 刻度组如何安排?
- 可以在自己的并行流中执行哪些动作? (或者肯定不能执行什么动作?)如何将结果与主线程同步?
代号
我没有涉及使用UE4的许多方面,但是我提出了一些关键问题的建议,这些问题在我看来是
使用引擎的基础 。
对于大三学生来说,对引擎了解不多是很正常的事,但是头脑聪明,懂得一些细节。 至少“普通”程序员只是必须了解有关该体系结构的问题的答案(或至少有他自己的合理见解)。 特别是关于
Gameplay Framework文档第一页中
描述的主题。
如果社区有兴趣,则可以编制有关动画,调试,着色器和材质,照明,项目包装,创建AI以及与Pawn'ami等人合作的类似问卷。 写:)我总是只
进行积极的讨论。