这款插件是一个轻量、高效、模块化且基于组件的框架。
性能方面,我在所有新系统中都将性能作为重中之重。与市面上一些主流插件不同,它们往往依赖蓝图、所有逻辑都跑在游戏线程上,并且几乎全部复制都使用多播方式。而我的插件采用了推送模型进行网络同步,在可行的场景下使用工作线程,并避免了蓝图带来的额外开销。
在网络同步方面,我有丰富的优化经验。这套系统核心上全面运用推送模型,相比虚幻默认的实现方式,能显著提升服务器性能。可能较大的数组使用了快速数组序列化,减少网络数据量。在合适的地方,变量会被压缩成字节后再发送,接收端再进行本地解压。每个类都提供了 bAutoCallForceNetUpdate 选项,启用后,一旦服务器标记变量为脏数据,就会强制进行网络更新并刷新网络休眠状态。这样即使你将 NetUpdateFrequency 设得很低,依然能获得响应及时的复制体验。
动画系统通常是性能消耗的大头。为了减少开销,这个系统把繁重的计算任务转移到了工作线程。这种方式允许多个角色同时并行处理各自的动画数据,而无需等待前一个角色完成。从截图的对比可以看到,默认第三人称模板的 45 个动画角色在游戏线程上占用了 13.11ms,而我的系统在运行全部程序化动画的情况下,游戏线程仅 14.34ms。这还是在你未对动画系统和角色进行额外优化(如动画预算分配器)时的表现,配合我的系统使用该分配器能带来巨大的性能提升(我为蓝图用户封装了辅助函数,让调用更方便)。
提供的程序化动画系统是目前市场上最深入的方案。它充分利用 IK 骨骼(例如 ik_hand_gun,但并不强制使用该骨骼),实现枪械操作的完全自由,比如用右手拉动栓动枪机、从右手切换为左手持枪等。程序化动画引入了一套新的姿态系统,支持无限姿态,如高位持枪、低位持枪、短缩持枪、盲射、换肩(类似 2023 年底《逃离塔科夫》的更新),你还可以通过曲线自由创建任何想要的姿态。同样由曲线驱动的还有后坐力(枪械后坐力和控制器反馈)、枪械碰撞以及移动晃动。其余程序化效果由数值和插槽驱动,包括瞄准、点射瞄准、同一瞄准具上的多点瞄准(例如 Elcan 瞄具顶部自带的铁瞄),以及辅助手 IK(左右手皆可)。数值驱动的程序化效果包括移动滞后、旋转滞后、死区、基础姿态偏移和第三人称瞄准偏移(左右手持枪模式均支持)。
在枪械系统方面,程序化动画配套了丰富的枪械功能和默认实现的附件。枪械组件充当附件的中介,并内置了附件管理器,可以直接访问每个附件及其父组件。
附件系统包含多个组件,支持制作几乎所有枪械附件,比如光学瞄具、倍率瞄具、手电、激光、前握把、枪口装置、枪管、支架等。示例中还提供了额外功能,如枪管温度系统,可实现类似《逃离塔科夫》的抑制器烟雾/热浪效果。
红外/夜视系统方面,内置的红外/夜视系统可以让手电、激光等设备仅在夜视开启时可见,并支持强光源导致的“灼屏”效果,该效果通过计算着色器采样场景亮度实现。示例内容中提供了后处理材质和夜视叠加层,可实现逼真的视觉效果,并附带丰富的设置项和材质函数,方便你制作自己的资源。
附件系统设计为通用系统,不仅限于枪械,也可以用于任何需要附加组件的对象,比如带有配件的枪械、带有服装/装备(背包、护甲等)的角色。系统高效快速,完全支持骨骼网格体和主导姿态组件。
关于体感摄像机风格,我经常被问到如何实现,因此额外添加了几个后处理材质,只需几步就能快速模拟出体感摄像机的视觉效果。
版本:UE5.3-5.6
技术详情

Features:
- Written Entirely in C++ with Components, No actor classes or interfaces
- Full Procedural Animation System
- Attachment system for all types of customization including characters
- Custom Physical Materials
- Magnified Scopes
- Simulated Scope Eye box
- Lights/Lasers
- Forward Grips
- Magnifiers
- Offset Mounts
- Range Finders
- Red Dots/Holograph Sights
- Changing Reticles
- Changing Reticle Brightness
- Night Vision
- Thermal Vision
- Muzzle Devices (such as suppressors and compensators)
- Firearm Collision Handling
- Much Much More that cannot even come close to fitting in this list!
Code Modules:
- SKGAnimGraphNodes
- SKGAttachment
- SKGLightLaser
- SKGMuzzle
- SKGOptic
- SKGOptional – Can be ignored
- SKGPhysicalMaterialModule
- SKGProceduralAnim
- SKGProjectile
- SKGRangeFinder
- SKGShooterFramework
- SKGShooterFrameworkCore
- SKGShooterFrameworkEditor
- SKGStats
- SKGStock
Number of Blueprints: In Example Project
Number of C++ Classes: 41
Network Replicated: Yes
Supported Development Platforms: Win64, MacOS, Linux, SteamVR, Oculus
Supported Target Build Platforms: Win64, MacOS, Linux, SteamVR,
1、VIP会员仅需30元全站资源免费下载!
2、资源默认为百度网盘链接,请用浏览器打开输入提取码不要有多余空格,如无法获取 请联系微信 yunqiaonet 补发。
3、分卷压缩包资源 需全部下载后解压第一个压缩包即可,下载过程不要强制中断 建议用winrar解压或360解压缩软件解压!
4、云桥网络平台所发布资源仅供用户自学自用,用户需以学习为目的,按需下载,严禁批量采集搬运共享资源等行为,望知悉!!!
5、云桥网络-CG数字艺术学习与资源分享平台,感谢您的赞赏与支持!平台所收取打赏费用仅作为平台服务器租赁及人员维护资金 费用不为素材本身费用,平台资源仅供用户学习观摩使用 请下载24小时内自行删除 如需商用请支持原版作者!请知悉并遵守!
6、For users outside China, If you do not have a Baidu Netdisk VIP account, please contact WeChat: yunqiaonet for assistance with logging into Baidu Netdisk to download resources..



评论(1)
下载素材