分享
通用运动系统
输入“/”快速插入内容
通用运动系统
用户8137
用户8137
2025年4月21日修改
文档已经移动至新地址:
https://www.yuewu.dev/zh/wiki/TkZXzO49pXDjg13_EN9Jk
系统概述
通用运动系统
,
简称GMS。
该系统由“运动控制系统”和“动画系统”两大部分组成:
运动控制系统:以组件形式封装对角色的运动控制逻辑,包含灵活的移动/旋转控制功能。你不需要修改你的角色父级或者当前的角色移动组件即可使用。
动画系统:一套以动画蓝图模板(ABPT)+动画层接口(ALI)技术构建的动画蓝图框架,大多数动画资产以数据驱动的方式(DataAsset)进行配置,你不需要去关键复杂的动画蓝图设置;对于高级用户,你依然可以遵循此框架的原则,不断扩充你日益复杂的动画系统。
视频展示:
B站
可玩Demo:
GoogleDrive
百度网盘
文档:
English
中文
支持:
Discord
QQ群:64842100
Videos:
Demo walkthrough
Video Tutorials:
Youtube
哔哩哔哩
请注意
:
这是一个代码插件,
只有代码
通过市场发布。
购买后,您需要加入 Discord 并通过验证(在本产品的问题选项卡上留下您的 Discord ID),然后您将被添加到私人频道,以获得所提供项目的访问权限,其中包括核心资产(动画蓝图)、预制示例设置以及来自 Epic Games 的免费资产作为示例(受 Epic 许可条款的限制,例如只能在 UE 项目中使用这些内容)。
您可以轻松地将核心资产迁移到不同的项目中。(
迁移文档
迁移视频教学
)
----------------------------------------------------------------------------------
更新
(2024-11-11)
•
完整更新日志
体验版运动匹配支持
已经在本次更新可用. Check
this
and
this
video.
开发计划
整合:
GMS 包含
space.bar.anim
的动画包的完整整合,如果你已经拥有这些动画包,直接导入并进行少量调整即可使用。这些动画的运动定义已经配置好。
----------------------------------------------------------------------------------
特性:
•
易于集成:一个组件,一个动画蓝图即可完成整合。非侵入式集成使得无需修改你已经存在的角色父类或者移动组件。
•
易于使用:所有的运动控制和动画设置都以数据资产的方式进行中心化配置,通过简单的API调用,可在游戏运行时完成“运动控制逻辑和动画资产”的动态更替。
•
易拓展:GMS使用动画层接口,你完全可以通过蓝图/C++自定义动画层以及动画层设置,并在运行时无缝替换。
•
高适配度:GMS使用动画蓝图模板,它兼容任意骨架,甚至是四足动物,同时拥有灵活的数据配置结构,大多数商城中的动画包都可以直接使用,也可以使用叠层系统创建一些不存在的动画。每一套新的角色动画包都只是一个新的数据资产。
•
灵活的控制:GMS带有丰富的移动/旋转控制系统,在不同的运动状态和旋转模式中,可以有不同的速度/加速度/减速度,和朝向方式(朝向速率,朝向输入,朝向视角,或者TurningCircle)等。
•
简洁的API:基于你的游戏逻辑,你通过切换运动定义,运动集,运动状态以及旋转模式和叠层模式来完成控制/动画切换。它的组合可以很多样。
•
多人支持:此系统的所有功能都支持网络同步,并会不断地优化和改进对这一块的支持。(是的,困难与挑战从来不会停止。)
•
堆叠式(分层)动画覆盖系统:允许你同时在多个不同的身体部分播放不同的动画,且可以根据动画节点的激活状态和针对Actor进行GameplayTags查询选择性进行播放。用它来创建动态、多变的动画效果。在GMS中,它只是OverlayLayer的实现之一。
•
基于姿势的动画覆盖系统:类似ALS的Layering系统,但更独立,直观,且易用。在GMS中,它只是OverlayLayer的实现之一。
•
严谨的框架设计:对于同样一个功能,我经过了许多的思考,实验,以及反复推倒重来,我认为GMS现在拥有一个稳健的框架设计,且可以轻松地支持我的后续开发计划。
•
高性能的代码,以及平衡的蓝图与C++:GMS充分利用了C++和动画多线程,尽可能降低了CPU消耗,你不需要掌握C++来使用该系统。对于开发者,它同时支持通过蓝图和C++进行拓展。