是我小看虚幻引擎了

没想到开始使用虚幻引擎是如此痛苦的事,这段时间项目的进程非常不顺利

反人类的设计

  • 虚幻引擎的学习过程极度痛苦,就算你是一位经验丰富的游戏开发者,刚接触虚幻引擎,你会感觉一切都无从下手。甚至连熟悉的C++都不会写了,按传统的C++写法去做的话,随时 Crash 给你看。
  • Ctrl+w 复制物体或 widget,自动将新的对象位移一定的偏移,在需要多个对象对齐的时候非常麻烦
  • 视图操作有的是中键平移,有的视图又是右键平移
  • 用厘米做长度单位,搞得重力加速度都变成 980 了,非常容易出错,受力和冲量总是一大串数字,看着极其难受
  • 大部分 widget 不能有父子关系
  • 修改C++类之后,蓝图中所有该类变量全部变成 Object,无法编译,必须重新连接所有相关节点,太可怕了!(貌似是项目的问题,原因未知)
  • 奇怪的宏定义,让你的代码很难多个项目共用,对于咱们这种需要几个项目同时开发的需求来说,实在是种折磨
  • 代码转移到另一个项目,做点修改还是能编译的,但蓝图类就根本无法转移到别的项目,如果蓝图类中使用到C++类的话,后果是灾难级的

不算特别恶心的问题

  • 蓝图文件是二进制保存,对于版本管理和修改、查看都非常的不友好。要看个蓝图就得打开整个工程~
  • 蓝图看起来方便,其实用起来开发效率非常低下,只要程序稍微复杂一点,就常常要在添加节点后花时间去重新排列之前的节点,否则就是一团乱麻
  • 时间轴上的事件帧没有名称显示,要查看对应的事件相当不便
  • 从内容管理器中直接将图片拖放到 widget 编辑窗口中创建的 Image 设置自动尺寸功能无效

不如 unity3d 好用的部分

  • Actor 没有类似 u3d 中的 Active 属性(组件有),不能方便的将物体及其子物体隐藏和停止更新
  • 不能直接使用 mp3 音频
  • 蓝图与 prefab 的差别还是比较大的,特别是蓝图不能包含子级 Actor,必须都以组件的形式处理
  • 如果蓝图的父类不存在了,这个蓝图类就不能打开了,里面的内容全部丢失。u3d中如果一个组件的脚本丢失,prefab 仍然可以打开编辑
  • 摄像机没有 Viewport 属性,无法方便的做切分屏效果
  • 运行时,ui widget 在大纲视图中不显示,无法直观的看到各个元素的显示状态和数据
  • Hot Reload 经常出问题,不是崩溃,就是蓝图不显示更新后的接口
  • Visual Studio 的语法提示功能在做虚幻项目时,就是个灾难

  • 出现大量 LogUObjectHash: Warning: Ambiguous path search, could be WidgetBlueprintGeneratedClass ... 错误提示 在内容管理器修改一下蓝图类 MainMenu 的名字就好了,坑

比 Unity3D 强的部分

  • 渲染效果爽,没有烦人的 URP、HDRP
  • 开源,有些问题搞不清楚时,看一下相关的源代码基本能明白。U3D就没办法了
  • 资源没有烦人的 meta 文件
  • 没有烦人的证书更新问题,Unity Hub 三天两头要你激活证书,不厌其烦。宽松的商业授权条件也是虚幻引擎的一大优势
  • 不用担心代码被反编译
游戏引擎
2021-3-29
  • {{comment.name}}{{comment.time | fDateTime}}

    • {{reply.name}}{{reply.time | fDateTime}}

Recent Articles

Recent Comments