UE4引擎的蓝图编程中有很多基础的数学表达式节点(如四则运算),且根据不同的操作变量适配有不同的节点,其中更允许开发者自定义一个数学表达式,灵活性非常强
【官方文档】
蓝图的面向对象 构建脚本(蓝图相对于C++的构造函数)https://mp.weixin.qq.com/s/PXx0L2CRMc7kb8DRRfWNMw
面向对象特性 继承【大神博客】继承操作示例 https://blog.csdn.net/zach_here/article/details/70145300
多态重写父类函数:在MyBlueprint栏的Function组上方,有一个Override菜单,下拉并选择要重写的函数,派生类中重写的函数会覆盖基类的函数
调用重写后的父类函数:右键重写后的函数节点,选择“Add call to parent function”选项
抽象如果了解面向对象思想中的抽象概念,自主按照需求定制蓝图类即可
封装蓝图类中的变量的细节面板中的“Instance Editable”如果打对号(或者MyBlueprint栏中让变量对应的眼睛睁开,即暴露蓝图变量),则当蓝图在关卡中被实例化后,可以通过实例的细节面板进行修改相应变量的值
蓝图类中的变量和函数在细节面板中都有Private选项,如果Private打钩,则该变量或函数无法被蓝图类的派生类继承
蓝图通信 注:蓝图通信可以理解为不同蓝图间的信息传递和共享 【官方文档】 蓝图通信方法(没有提GetAllActorOfClass) 【大神博客】 https://www.cnblogs.com/songiveideas/p/learnmore2.html 1、直接蓝图通信(蓝图引用)最直接的方式,但只有需要通信的类都在关卡中有实例时才可以使用【官方文档】
2、事件调度器参考上方“事件节点”
3、蓝图投射(CastTo节点)很常用的蓝图通信实现节点之一,正如官方文档所说,先询问对象“你是否是该对象的特殊版本”,然后再进行通信【官方文档】
4、蓝图接口这种实现方式相对有些复杂,但是某种程度上最不受限制,公众号【猎梦虚幻研究社】针对蓝图接口有几篇不错的文章,可以看看【官方文档】蓝图接口概述
实现蓝图接口 使用蓝图接口 蓝图接口迁移 5、GetAllActorOfClass这种方式并不能算是严格意义上的蓝图通信,其作用是通过该节点直接操作某一个类在关卡中所有的实例对象
视频教程 B站虚幻引擎官方 https://space.bilibili.com/138827797/
灰太狼不吃羊肉 https://space.bilibili.com/298289600/
陶仁贤TRX https://space.bilibili.com/22866318/
杨一鸣 https://space.bilibili.com/19045234/
UE4-谌嘉诚 https://space.bilibili.com/31898841/
暂无名讳 https://space.bilibili.com/76555104/
来自程序员的暴击 https://space.bilibili.com/128373173/
人人素材https://www.rrcg.cn/
ABOUTCG在线课堂https://www.aboutcg.org/