Bootstrap

一周入门 UE C++ 开发教程

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篇文章都已发布,关注公众号可以获取持续的知识!

一周入门 UE C++ 开发教程(七)UFUNCTION虚幻引擎通过反射系统(可以自行搜索这个知识点,是一种编程的设计模式,有点类似Java、C#中的注解)将你的类封装在各种宏中,这些宏扩展了引擎和编辑器功能,打通了UE和标准C++之间的功能交流。icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzIxMTc4OTM3OA==&mid=2247484352&idx=1&sn=7418130316bceafefcbec3cd5e3253fc&chksm=974eb0eda03939fbb7cc213a08eea64c58abde46e19e453994b096550f04d3ceafa4af9e6a5c&scene=178&cur_album_id=3122528301417250819#rd

;