ue5蓝图

蓝图开发

获取场景对象

2024921-170634

了解您的需求,以下是一个整理成表格的UE5中常用蓝图节点和功能的示例:

类别 常用蓝图节点/功能 描述
事件处理 Event BeginPlay 游戏开始时执行的事件,常用于初始化设置
Event Tick 每帧执行的事件,可用于实现持续更新的逻辑
按键事件(如KeyPress, KeyRelease) 处理玩家的按键输入
变量与函数 变量 存储数据,可以在蓝图中添加、设置和获取
函数 将一系列节点封装成一个可复用的函数
流程控制 Sequence 按顺序执行多个节点
Delay 延迟执行节点后的逻辑
Branch 根据条件执行不同的逻辑(类似if语句)
Loop(如ForLoop, WhileLoop) 重复执行某段逻辑
信息获取 Get Actor Location 获取当前对象的位置信息
Get Actor Rotation 获取当前对象的旋转信息
Get Player Pawn 获取指定索引的玩家信息
Get Display Name 获取对象的名称
物理与交互 GetMass 获取物体的质量(物体需要设置为可移动)
Add Impulse 给物体添加一个力,使其移动或旋转
Apply Damage 对目标应用伤害,并触发相应的伤害事件
数组与字符串操作 数组操作(如Add to Array, Remove from Array, Loop Body for Each Element) 处理数组类型的数据
字符串操作(如Concat Strings, String Length, String to Int) 处理文本数据
场景与关卡 Spawn Actor from Class 根据蓝图类创建对象,并将其放入场景中
Open Level 加载新的关卡
调试与可视化 DrawDebug(如DrawDebugLine, DrawDebugSphere) 在游戏中绘制调试信息,帮助开发者理解游戏状态
其他常用节点 Set Actor Hidden In Game 设置对象在游戏中隐藏,但在编辑器中可见
Move Actor To Location 将对象移动到指定位置
Rotate Actor To Rotation 将对象旋转到指定角度

请注意,这个表格只是一个示例,UE5中的蓝图功能非常丰富,这里只列出了其中的一部分常用节点和功能。在实际开发中,您可能会根据项目的需求使用到更多的蓝图节点和功能。

接口

  • 创建接口蓝图,并命名
  • 添加函数,添加属性
  • 在A蓝图通过接口名添加接口调用接口事件
  • 在B直接通过函数执行接口

曲线弹

  • 需要发射器蓝图和子弹蓝图

游戏系统

玩家

  • 玩家动作系统
  • 属性系统
  • 背包
  • UI系统
  • 装备
  • 技能

怪物

  • AI
  • 属性
  • UI
  • 掉落

其他

  • 任务

三渲二

兰伯特光照模型

贴图

  • 颜色贴图
  • 阴影贴图
  • 本村线贴图 二次UV
  • 反光贴图
    • R 收到反光的强度,类似GODOT卡通渲染的粗糙的?
    • G 颜色阴影
    • B 反光形状
    • A 内描边

碰撞

  • 检测响应会检测对应类型的检测标记,对像类型值会被检测区域感应到的区域

杂项

游戏开发架构的分层设计是游戏开发过程中的重要环节,它有助于开发人员更好地组织代码、提高开发效率,并确保游戏的稳定性和可扩展性。一般而言,游戏开发架构可以分为以下几个主要层次:

一、视图层(View)

视图层主要负责处理游戏的用户界面(UI)和图形渲染。它接收用户的输入,并显示游戏的战斗画面、业务界面和特效等。视图层通常包括以下几个部分:

  • 游戏输入:处理用户的键盘、鼠标、触摸屏等输入设备的信息。
  • 战斗View:显示游戏的战斗画面,包括角色、怪物、技能特效等。
  • 业务UI:显示游戏的业务界面,如登录界面、设置界面、商店界面等。
  • 特效:处理游戏中的各种特效,如技能特效、爆炸特效等。

二、业务层(Model、Control)

业务层是游戏开发架构中的核心部分,它负责处理游戏的核心玩法和业务逻辑。业务层通常分为模型(Model)和控制(Control)两个部分:

  • 模型(Model):负责游戏中的数据存储和状态管理。它定义了游戏的规则、角色、怪物、道具等对象的属性和行为。模型层还负责处理游戏的状态转换,如角色的移动、攻击、死亡等。
  • 控制(Control):负责处理用户的输入和游戏事件的响应。它接收视图层传来的用户输入信息,并根据业务逻辑进行处理,然后更新模型层的状态,并通知视图层进行渲染。

三、服务层

服务层是游戏开发架构中的支撑部分,它提供了一系列的基础服务,以支持游戏的核心玩法和业务逻辑。服务层通常包括以下几个部分:

  • 配置管理:管理游戏的配置文件,如角色属性、怪物掉落等。
  • 模块管理:管理游戏的不同模块,如登录模块、战斗模块等。
  • 数据管理:处理游戏中的数据存储和查询,如角色数据、道具数据等。
  • 资源管理:管理游戏中的资源文件,如图片、音频、视频等。
  • 对象池:用于管理游戏中的对象实例,以提高性能和减少内存占用。
  • 有限状态机:用于管理游戏中的角色、怪物等对象的状态转换。
  • 本地化:支持游戏的多语言版本,如中文、英文等。
  • 消息管理:处理游戏中的消息传递和事件通知。
  • 网络:处理游戏的网络通信,如玩家之间的交互、服务器与客户端的通信等。
  • 界面:提供游戏界面的布局和样式管理。
  • 声音:处理游戏中的声音效果,如背景音乐、角色配音等。
  • 镜头控制:管理游戏中的镜头视角和移动。
  • 场景管理:管理游戏中的不同场景和地图。
  • Native:提供与原生平台的交互接口,如调用设备的摄像头、麦克风等。
  • 日志:记录游戏的运行日志和错误信息,以便于开发和调试。
  • 数据打点:用于收集和分析游戏数据,以优化游戏的性能和用户体验。
  • 热更:支持游戏的在线更新,以便于及时修复漏洞和添加新功能。
  • 支付:处理游戏中的支付功能,如购买道具、皮肤等。
  • 广告:在游戏中展示广告,以获取收入。

四、基础类库

基础类库是游戏开发架构中的底层部分,它提供了一系列的基础功能和工具,以支持上层架构的开发和运行。基础类库通常包括以下几个部分:

  • 储存:提供数据存储和访问的接口,如文件存储、数据库存储等。
  • 数学:提供数学运算和几何计算的接口,如向量运算、矩阵运算等。
  • 字符串:提供字符串处理和格式化的接口。
  • 网络:提供网络通信的接口,如TCP/IP、UDP等。
  • 声音:提供声音处理和播放的接口。

五、确定依赖关系

在游戏开发架构中,各层之间需要明确依赖关系,以确保代码的模块化和可维护性。通常,上层可以调用下层的功能,但下层不能调用上层的功能。这种依赖关系可以通过接口或抽象类来实现,以便于在需要时进行替换和扩展。同时,为了实现各层之间的通信和协作,可以使用消息机制来传递信息和事件通知。

综上所述,游戏开发架构的分层设计有助于开发人员更好地组织代码、提高开发效率,并确保游戏的稳定性和可扩展性。在实际开发中,可以根据游戏的具体需求和特点进行适当的调整和优化。

折叠

vscode代码折叠#

vscode的支持性非常好,以上折叠写法都支持,附上vscode官网不同编程语言的折叠代码写法:Basic Editing in Visual Studio Code

Language Start region End region
Bat ::#region or REM #region ::#endregion or REM #endregion
C# #region #endregion
C/C++ #pragma region #pragma endregion
CSS/Less/SCSS /#region/ /#endregion/
Coffeescript #region #endregion
F# //#region or (#_region) //#endregion or (#_endregion)
Java //#region or // // #endregion or //
Markdown
Perl5 #region or =pod #endregion or =cut
PHP #region #endregion
PowerShell #region #endregion
Python #region or # region #endregion or # endregion
TypeScript/JavaScript //#region //#endregion
Visual Basic #Region #End Region

骨骼命名

  • Root 根
  • Pelvis 盆骨
  • spine 脊柱*3…

分左右

  • clavivle_l 锁骨左
  • clavivle_r 锁骨右

手:

  • upperarm 上肩膀
  • lowerarm 下肩膀
  • hand 手
  • index_metacarpal 指数_掌骨
  • index_01
  • index_02
  • index_03
  • middle_metacarpal 1 2 3 中指
  • pinky_metacarpal 小指
  • ring_metacarpal 无名
  • thumb_01 拇子
  • lowerarm_twist_01_l 手捩1
  • lowerarm_twist_02_l 手捩2
  • upperarm_twist_01_l 上臂
  • upperarm_twist_02_l 上臂

头:

neck_01 脖颈
neck_02
head 头

退

thigh_l 大腿

calf_l 小腿

calf_twist_01_l 小腿下旋1

calf_twist_02_l 小腿下旋2

thigh_twist_01_l

thigh_twist_02_l

foot_l 脚

ball_l 脚指