UE 1.蓝图入门

本文介绍UE4中的蓝图系统,包括蓝图的基本概念、创建方法、组件使用、图表编辑技巧及注意事项。蓝图作为UE4的重要功能,支持游戏逻辑的可视化编程,适用于不同需求的项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

蓝图示例工程

BLUEPRINT ESSENTIAL CONCEPTS

创建蓝图/组件

蓝图图表

蓝图扩展类型

使用蓝图的注意事项


蓝图示例工程

蝴蝶是基础交互蓝图,

有雾和微光配合自动适应场景,无须改变示例

范围内随机创建物体

摄像头,警报,门是单独的蓝图,通过接口信息交互,当摄像头检测到人,警报响,关门

BLUEPRINT ESSENTIAL CONCEPTS

有哪些类型的蓝图图表可供你编写脚本:Blueprint graphs

Project Files:(我下载不下来)
https://epicgames.box.com/s/zz9ydnf9bfgdhk771w6z1ss5ldit2dzp

将蓝图中的参数公开,则可以在不修改蓝图脚本直接调整效果

蓝图可以看作由各种组件组成(面向对象(可以创建类)的编译语言

可以使用现有类)

底层是C++,可以用C++打开蓝图修改代码,能互相转换兼容。能用C++编写函数,将特定参数公开给蓝图

UE4中现有的类及层级结构:

UE4所有类都派生自Object

新建蓝图时,选择父类,继承现有功能。一般继承Actor,下面展开有Actor的子类:

pawn-应用运行时,可操作的对象,其中的character代表操控的具体游戏对象

DefaultPawn-没有网架骨骼的类,可以在场景中漫游

蓝图所有的UI,音频等都集成在引擎中

多数时候用到的2种蓝图:Level/class

Level:为关卡中的对象编写某些功能。但功能会和关卡绑定,如果新建关卡,需要新建level

Class:模块化地编写

创建蓝图/组件

在文件夹面板新建蓝图文件,继承父类

左上角的组件栏可以创建各种组件(音效、相机、静态网格、骨骼等)

在蓝图编辑器播放按钮右侧选择某个示例调试

美术师窗口

构造脚本窗口:自定义参数或预设。用构造脚本中编写脚本,公开参数。在开始游戏时也会触发

事件图表:在运行时更新蓝图脚本。大部分需要执行的脚本可能都位于这里

事件调度器:event dispatchers允许不同蓝图进行通信

 

新建蓝图下有:蓝图类,蓝图函数库,蓝图接口(通信),蓝图宏库(类似函数库,是宏的集合,可以在不同函数中使用),枚举是一种参数列表(可用于流控制,可以将角色状态用枚举类表示,基于状态切换蓝图逻辑),结构体(不同类型变量的集合,拾取物品结构-可能包含拾取物品的名称等,UI音效)

创建蓝图的另一种方式:直接从左侧模式窗口拖入视口

完成后按住Ctrl全部选中,在蓝图按钮中,转换选择的组件为蓝图,保存

这样可以直接在视口中调整至满意的状态再保存

蓝图图表

熟悉不同类型的图表,

图表中的导航方式:熟悉如何在蓝图编辑器移动

两个聚光源,构造脚本和蓝图图表区别

框选结点后按C可以添加注释

图表:

图表中的导航方式:按住右键可以拖动图表,左键框选,滚轮缩放(ctrl+滚轮超过1:1缩放)

添加、连接节点:右键添加。在选中组件时,右键的弹出菜单中将额外出现该组件的调用函数(Call function on XXX)右上角复选框:开启/关闭情景关联(关闭后将显示所有,添加节点可能无效)

添加事件Add Event

白色引脚(委托)拖出可添加链接,取消连接:Alt+LMB

构造脚本:

设置变量,并在变量旁的眼睛图标允许公开编辑-能够自定义聚光源参数/关闭则限制修改

函数在变量改变时被触发(在编辑器中修改,和运行时都会触发)修改后编译

点光源:可将俯仰和偏转值应用到聚光源网格体,如果光源是关闭状态,隐藏,否则设置各种材质

动态添加栅栏:动态生成添加额外的静态网格体

使用事件图表:

检测玩家靠近聚光源,并持续追踪

事件图表会在运行时更新脚本,并提供更新脚本的信息

选中图表的一部分,右键点击创建组织图表

Collapse to function重叠到函数:将很多节点组织到一个结点中。它会被添加进左侧的函数段:重命名

Collapse to Macro:重叠成宏(函数有输入,宏没有输入)

Collapse to Node:重叠成一个图表(纯粹是压缩)

特点:

函数允许从外部蓝图调用,

宏类似实用工具,一般在当前蓝图调用,如果要在其他蓝图调用,需要设置蓝图宏库

可以获取函数和宏,并添加到不同的部分,反复调用;重叠图表不能

蓝图扩展类型

关卡蓝图Level

触发按钮后,相关齿轮转动

打开方式:在视口上方栏中-蓝图-打开关卡蓝图

主要编写关卡特有功能,如关卡初始化

不能添加组件,也没有视口选项卡,只有事件图表(与关卡绑定)

新建关卡时会有一个全新的关卡蓝图

Actor蓝图:

Actor类绑定,更加模块化

可以复用蓝图,快速复制对象

动画蓝图:

Anim Class框引用动画蓝图

专门用于为角色创建动画逻辑,根据Event Graph变量更新Anim Graph角色姿势

Event Graph类似Actor蓝图,运行时实时更新变量

Anim Graph定义各类角色姿势、状态机

控件蓝图widget

UMG UI

可用关卡蓝图设置UI逻辑,创建HUD控件

空间蓝图中没有组件和视口,但有设计师窗口

子类蓝图:

如拾取物,只要走进,他们就会飞来,并在左上角打印拾取物品名称

父类蓝图中定义拾取物品的时机,物品如何运动等;视口中有触发器,一个光源

子类继承父类Pickup中所有功能,编写子类特性,当重叠发生时,针对不同物体打印不同信息

创建时右击父类,Create Child class

使用蓝图的注意事项

1.蓝图相较于C++代码会产生额外开销,对游戏和应用程序的性能产生更多影响,因为蓝图在运行时会将蓝图结点转换成C++本地代码

如每帧都进行大量运算和操作,则最好把运算放到C++代码

2.C++更加快速和功能强大,因为不需要虚拟机转换代码,C++中有许多内容目前还未公开给蓝图

3.蓝图完全基于事件,需要通过事件触发

4.引用和循环依赖

引用:

蓝图通过引用访问其他蓝图的数据和函数,要小心无效引用引发右下角报错:Access None trying to read property ReferenceToXXX。点击日志末尾的函数链接,打开蓝图可以看到ReferenceToXXX引用变量,在主窗口的细节中可以看到这个引用没有被赋值

转换Cast:设置只有玩家碰到按钮能触发,其他物体不行。在按钮蓝图中-On Component Begin Overlap事件检查(Other Actor)是什么和按钮发生了重叠-检测某个对象类型是否是该类型-Cast To Fundamentals_Player/StaticMeshActor(在世界大纲视图中选中球体或在连出引脚后搜索

循环依赖:

A蓝图要转换成B访问变量或调用函数,B又要转换成A调用A的函数

运行时A会加载所有依赖项

 

### 关于UE4蓝图入门思维导图的学习教程 虚幻引擎(UE4)的蓝图系统是一种可视化的脚本语言,能够帮助开发者快速构建游戏逻辑。对于初学者而言,掌握蓝图系统的概念和基本操作至关重要。以下是一个关于UE4蓝图入门学习的思维导图框架[^1],以及一些关键知识点的详细说明。 #### 1. 蓝图基础概念 - **什么是蓝图**:蓝图UE4中的一种可视化脚本系统,允许用户通过拖拽节点的方式创建游戏逻辑。 - **蓝图类型**: - 蓝图类(Blueprint Class) - 蓝图宏库(Blueprint Macro Library) - 蓝图接口(Blueprint Interface) - 数据表(Data Table)等[^1]。 #### 2. 蓝图核心元素 - **变量**:蓝图中的变量用于存储数据,可以通过“暴露”选项让其在编辑器中可调[^1]。 - **函数**:函数是一组可以重复使用的逻辑块,支持参数传递和返回值[^1]。 - **事件**:事件是触发蓝图执行的起点,例如`BeginPlay`或`Tick`事件[^2]。 - **节点**:节点是蓝图的核心组成部分,包括输入输出端口,用于连接不同的逻辑块。 #### 3. Tick事件的应用 Tick事件在每帧刷新时执行一次,常用于控制动态行为,例如物体移动、旋转等[^2]。以下是使用Tick事件的一个简单示例: ```cpp // 在C++中启用Tick事件 void AMyActor::Tick(float DeltaTime) { Super::Tick(DeltaTime); // 更新位置逻辑 FVector NewLocation = GetActorLocation(); NewLocation.X += Speed * DeltaTime; SetActorLocation(NewLocation); } ``` #### 4. 学习资源推荐 - **官方文档**:虚幻引擎官方提供了详细的蓝图教程,涵盖从基础到高级的所有内容。 - **在线课程**:引用中的课程包含从零开始的蓝图入门教学,适合新手学习[^1]。 - **案例实践**:通过开发小游戏项目,例如生存游戏案例,巩固所学知识[^2]。 #### 5. 思维导图建议结构 - 核心概念:蓝图定义、蓝图类型。 - 基础操作:变量、函数、事件。 - 高级应用:Tick事件、粒子系统、材质编辑。 - 实践案例:小游戏开发、场景搭建。 ```plaintext 蓝图系统 ├── 核心概念 │ ├── 什么是蓝图 │ └── 蓝图类型 ├── 基础操作 │ ├── 变量 │ ├── 函数 │ └── 事件 ├── 高级应用 │ ├── Tick事件 │ ├── 粒子系统 │ └── 材质编辑 └── 实践案例 ├── 小游戏开发 └── 场景搭建 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值