绅士的招聘程序员UE4,第1部分



很长时间以来,我想列出一些技能和工具,我认为这些技能和工具应该包含在虚幻引擎4下任何程序员的“绅士风度”中。 就在前几天,在UE4聊天中,我看到了以下内容:

>蓝图,动画开发,技术美术,人工智能,多人游戏,编辑器扩展。 我想到的第一件事

>想法:蓝图,动画,AI,材质编辑器,小部件,面板,编辑器扩展,ue4插件,物理,照明,渲染,c ++
+与引擎和国家/地区一起工作了多少时间,就是这样:)

在这样的表述中,所说的一切只是词语的集合。 因此,我聚在一起为那些想成为UE4程序员的人草拟了一份问卷 ,并且可以向那些已经认为自己是UE4的高级程序员的人评估他们的水平。

不要使用常用词


引号中列出的所有术语都是技能,原理和技术的整体。 一言以蔽之,您绝不会传达需要确切应用的内容以及需要“深入”研究的内容。

我将遍历主要类别,并提出一些您应该知道答案的问题:“我理解这一点”。

引擎架构基础


  • UObjectAActor之间有什么区别? 根本区别是什么? 是否可以强制UObject执行相同的功能? 为什么使用AGameStateAPlayerState ? 关于AGameModeAHUD类似问题。
  • AGameModeUGameInstance有何不同? 它们都用来干什么? 为什么需要APlayerController ?为什么需要一个扇区?
  • UPROPERTY用途UPROPERTY什么? 我可以用SharedRef替换它吗? 如何解决部门中的循环依赖 (父母有一个指向孩子的指针,孩子有指向父母的指针)? 什么时候删除UObject ? 如何保护实体不被垃圾收集器删除? 如何删除演员
  • 什么是CDO ? 我如何才能彼此断开 Reference'ov类链,为什么?
  • 引擎主要实体的初始化顺序是什么(至少在控制器/ pavna /状态级别上)? AActor的生成顺序是什么?
  • 组件中的组件-好还是坏?
  • 什么是WorldContextObject ? 是否可以将其带到UObject
  • Slate和UMG之间的根本区别是什么?

蓝图


  • 宏与函数有何不同?
  • 使用什么会导致类之间形成Referenc? 资产? 如何避免这种情况?
  • 什么是钝器本土化,其用途是什么? 包含本地化的缺点是什么?

联播网


  • 在游戏过程中,用户的游戏玩法数据(例如库存或积分)存储在哪里? APlayerController正确?
  • PlayerState如何复制到客户端? 重新连接播放器时, PlayerControllerPlayerState的生命周期是多少?
  • 如何按角色区分数据复制? 网络角色是什么? 他们由谁任命,遵循什么规则?
  • 我可以RPC哪些类上调用RPC ?为什么? 是否可以将此功能扩展到另一个类/实体? RPC调用的开销是多少?
  • 扇区组件如何复制? 如何理解该扇区是“完全”复制的? 如果要在一个扇区中复制3 MB数据 ,会发生什么:该扇区的行为如何? 游戏一般?
  • 数组如何复制? 以及如何复制附加属性(复制的字段是一个结构)?
  • 存在哪些网络限制? ( 图! )如何分析网络上的负载? 使用哪些网络优化方法? 什么是ForceNetUpdate

物理与基本算法


  • 阻尼如何工作? 什么是分步骤 ? 它有什么用? 物理如何通过网络同步?
  • 什么是四元数, 它们的应用程序可以解决什么问题
  • 什么是特征通道和轨迹? 是否可以在同一物理资产中配置不同的行为? 如果没有,那么为什么,以及如何解决呢?
  • 追踪的费用是多少? 它取决于什么?


  • UE4中的主要线程是什么? 哪些任务是并行执行的,哪些不是并行执行的? 刻度组如何安排?
  • 可以在自己的并行流中执行哪些动作? (或者肯定不能执行什么动作?)如何将结果与主线程同步?

代号


我没有涉及使用UE4的许多方面,但是我提出了一些关键问题的建议,这些问题在我看来是使用引擎的基础

对于大三学生来说,对引擎了解不多是很正常的事,但是头脑聪明,懂得一些细节。 至少“普通”程序员只是必须了解有关该体系结构的问题的答案(或至少有他自己的合理见解)。 特别是关于Gameplay Framework文档第一页描述的主题。

如果社区有兴趣,则可以编制有关动画,调试,着色器和材质,照明,项目包装,创建AI以及与Pawn'ami等人合作的类似问卷。 写:)我总是只进行积极的讨论。

Source: https://habr.com/ru/post/zh-CN427319/


All Articles