蓝图通信和自定义事件
tags: [Unreal Engine, 蓝图通信, 自定义事件, Event Dispatcher, 蓝图接口]蓝图通信与自定义事件1. 概述在 UE 项目中,不同的蓝图之间往往需要互相通信: 角色吃到了金币 -> 通知 UI 更新分数 玩家按下开关 -> 告诉门打开 敌人死亡 -> 通知关卡管理器检查是否全部击败 电梯到达楼层 -> 通知电梯门打开 蓝图通信的核心问题就是:A 蓝图如何找到 B 蓝图,并调用 B 蓝图的方法或修改变量? UE 提供了多种通信方式,各有适用场景: 通信方式 耦合度 适用范围 推荐场景 直接引用 + Cast To 高耦合 一对一 已知类型的特定对象 自定义事件 低/中 同一蓝图内部 / 外部调用 复用逻辑、传参触发 事件分发器(Event Dispatcher) 低耦合 一对多 一个事件触发多个蓝图响应 蓝图接口(Blueprint Interface) 低耦合 接口协议 不同类之间统一行为 Get All Actors Of Class/Tag 动态 一对...
蓝图编程
1.蓝图类型以及继承链Object:万物之父(GC、基本类型),不能放场景里。 Actor:能放到关卡里的 “实体”,可加组件(模型、碰撞、灯光等)。 场景道具、门、箱子、陷阱、摄像机、粒子特效 → 选 Actor。 Pawn(棋子):可被控制的 Actor(玩家 / AI 都能 “占据”)。 车、飞船、无人机、非人形怪物 → 选 Pawn。 Character(角色):人形专用 Pawn,自带 CharacterMovement(走 / 跑 / 跳 / 游泳)、胶囊碰撞、骨骼网格体插槽。 玩家主角、人形 NPC、敌人 → 选 Character。 PlayerController 管玩家输入、鼠标 / 键盘 / 手柄、视角控制。 不渲染、不在场景里显示,只负责 “操控” Pawn/Character。 GameMode 全局规则:出生点、谁是玩家、游戏胜利 / 失败条件、计分。 一个关卡通常一个 GameMode。 GameInstance 全局唯一,跨关卡不销毁,存全局数据...
自动门蓝图
tags: [Unreal Engine, 蓝图, 自动门]自动门蓝图制作教程1. 创建 Actor 与组件层级 新建一个 蓝图类(Blueprint Class),父类选择 Actor,命名为 BP_AutoDoor。 打开蓝图编辑器 → 视口(Viewport)。 添加组件并建立如下层级结构: 1234BP_AutoDoor (自建 Actor)├── DoorFrame (StaticMesh) ← 门框,静态,不参与运动├── Door (StaticMesh) ← 门扇,绕着 Z 轴旋转└── BoxCollision (BoxCollider) ← 触发开门/关门检测的碰撞体 核心思路: 门框(DoorFrame)是静态部分,门扇(Door)作为子物体相对门框旋转,碰撞体(BoxCollision)检测玩家的进入和离开。 关键点:碰撞体要调整到合适的大小,覆盖门前人物站立区域,但不要穿墙或延伸到不合理的范围。 2. 组件详细设置2.1 静态网格体(StaticMesh) 为 DoorFrame 和 Door 分别指定对应的静态网格体资源...
电梯门蓝图
tags: [Unreal Engine, 蓝图, 电梯门, 位移]电梯门蓝图制作教程1. 概述电梯门的实现原理与自动门类似,核心区别在于 运动方式: 门类型 运动方式 触发方式 复杂度 自动门 旋转(绕 Z 轴) 碰撞体自动触发 低 电梯门 平移(沿 X/Y 轴滑动) 按键交互触发 中 电梯门通常包含 两扇门板,向左右两侧滑动打开,并且需要按键(如 E 键)来触发开关门。 2. 创建 Actor 与组件层级 新建一个 蓝图类(Blueprint Class),父类选择 Actor,命名为 BP_ElevatorDoor。 打开蓝图编辑器 → 视口(Viewport)。 添加组件并建立如下层级结构: 123456BP_ElevatorDoor (自建 Actor)├── LeftDoor (StaticMesh) ← 左侧门板,向左滑动├── RightDoor (StaticMesh) ← 右侧门板,向右滑动├── BoxCollision (BoxCollider) ← 碰撞体,检测玩家交互│ ...
死寂
FirstWeek角色基础移动和摄像机控制角色移动 在UE4.26中,存在两种输入检查分别是轴映射和操作映射。轴映射则是输入长按检查,一直检查按键。操作映射则是检查按键是否按下,只检测一次。对于角色 移动只需要使用轴映射即可。 创建一个character蓝图类,这个蓝图类是专门用作人形的角色,里面封装(自带)了很多角色人物的属性,比如:跳跃、飞行、蹲伏、游泳、重力、加速度等。 组件:不同的组件可以给这个蓝图类增添许多功能,比如charactermovement这个组件就给蓝图类增加了人物的属性,蓝图类可以比作一辆汽车,组件就好比 汽车增加音箱、增加内饰,增加的组件都有各自的功能。 动画蓝图和混合空间的使用、行走和奔跑的切换
Ue
1. 创建地形 打开UE5项目 启动UE5,新建或打开现有项目。 添加地形 在主菜单点击窗口(Window) -> 地形(Landscape),打开地形工具面板。 点击新建地形(Create New Landscape),在弹出窗口中设置地形参数(如大小、分辨率等),点击创建(Create)。 调整地形形状 在地形工具面板中选择雕刻(Sculpt)工具,通过鼠标拖拽调整地形高度。 使用平滑(Smooth)工具可以让地形更加自然。 2. 创建材质球 打开材质编辑器 在内容浏览器右键点击空白区域,选择材质(Material),命名为LandscapeMaterial。 双击打开材质编辑器。 设置材质节点 添加一个LandscapeLayerCoords节点。 添加一个或多个TextureSample节点,将其UV引脚连接到LandscapeLayerCoords的UV输出。 将TextureSample的输出连接到材质的基础颜色(Base Color)、法线(Normal)等引脚。 保存材质 完成后点击左上角应用(Apply),然后关闭材质编辑器。 ...
网络爬虫技术
Python框架123456789101112131415161718192021222324252627282930313233print("Hello World") //Python 可以直接输出 不需要头文件或者其他的名称空间"""的作用#1.多行字符串#借助 """ 能够定义多行字符串,也就是字符串内容可以跨越多行。示例如下:multiline_string = """这是一个多行字符串的示例。它可以包含多个段落。"""print(multiline_string)代码解释:在这个例子中,multiline_string 变量被赋予了一个多行字符串值。""" 起始和结束之间的所有文本,包含换行符,都被视为字符串的一部分。当你打印这个变量时,输出的字符串会保留所有的换行和格式。2.文档字符串#在函数、类或者模块的开头运用 """ 来编写文档字符串,用于对代码的功能、参数、返...