1. 介绍
用UE虚幻引擎开发项目的时候,可以采用蓝图和C++两种方法,蓝图快捷方便,C++学习成本高。几乎所有的功能都可以用蓝图来实现(蓝图背后其实也是C++,只不过是封装成了蓝图节点),如果要实现复杂、大型功能,蓝图可能就不是很方便,简单项目用蓝图,复杂大型项目用蓝图和C++。所以,不管什么项目,蓝图肯定会用到,普通项目、普通开发者能用蓝图就别用C++。
但是在实际开发中难免会遇到UE自带的蓝图功能不满足需求、或者某些功能用蓝图实现起来需要非常多的节点,此时就可以考虑用C++来实现。比如在GIS空间查询中有这么一个功能,需要判断一个点是否在面内部,网上搜到的大部分是代码实现的功能,如果用蓝图来编写也是可以,但是需要大量的篇幅,费时费力。如果用C++来实现,直接Copy代码,50行不到就可以搞定,而且好维护、效率高。
如果有编程基础,了解任意一门编程语言(C++),且非常熟悉 UE 蓝图里的节点和功能,那么一周时间就可以上手 UE C++ 开发。
这个《一周入门 UE C++ 开发教程》共 7 篇文章,看完之后就可以在蓝图里调用自己实现的 C++ 节点了,就可以愉快的在网上 Copy 代码了。
后面会有一个进阶的系列《一月玩转 UE C++ 开发教程》,主要是结合UE自身的的各种API来实现功能。
1.1. 蓝图存在以下几个特点:
-
蓝图最大的特点就是简单、便捷、直观、上手快和见效快;
-
蓝图节点多了之后不好管理,不如代码的模块化管理高效,可读性也差;
-
版本控制不如代码文件方便,合并冲突不直观;
1.2. C++有以下几个特点:
-
UE里的C++非标准、自己用反射实现了很多特殊语法;
-
C++上手开发需要一定的编程基础,相对蓝图来说难度较大;
-
C++更容易调用一些操作系统基础的功能,如文件读取、网络请求等;
1.3. 二者比较:
-
复杂项目蓝图开发效率不如C++,熟练之后写代码的速度要比蓝图拖拽快很多;
-
蓝图的Debug能力不如C++,断点调试等还是在IDE里更直观高效;
-
蓝图扩展性差,网上有很多现成的开源库或者代码片段,蓝图无法直接引用,相比C++要灵活很多;
-
蓝图性能不如C++,蓝图每次都执行大量操作和复杂的数学运算都很耗性能,有测试等差数列求和发现二者存在将近1000倍的差距;
目前7篇文章都已发布,关注公众号可以获取持续的知识!