史上最全的Unreal Engine 4学习资料整理 (2)

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/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgjyy.html