介绍由 Adi 制作的插件“Instance Damage System v2.0”,它可为静态网格实例添加“受损表现”等功能!可以轻松引入将受损实例替换为物理行为并重新生成等机制。
Instance Damage System
Instance Damage System 可以与以开放世界方式实例化的静态网格进行交互!
这是适合 GTA 风格破坏、与会重新生成的道具交互,或资源收集游戏的理想解决方案。
- 将任意 Static Mesh Component 注册为代理:主要面向 ISMC,但通过普通 SMC 或 C++ 扩展也可支持其他对象类。
- 按资产单位指定伤害设置:为作为代理使用的每个 Static Mesh 定义受损行为。
- 生成破坏网格:可将受损的实例替换为用于破坏的网格(Destructible)。
- 实例显示/隐藏切换:可以隐藏/重新显示代理实例。
- 基于距离的重新生成:根据与玩家的距离,在经过一段时间后自动恢复实例。
- 对象池:重复利用一次生成的破坏网格(提升性能)。
- 支持 World Partition:即使代理不在关卡中存在,也可以切换实例的显示状态。
- 自定义数据设置:可为每个伤害资产附加“经验值”“金钱”等独立数据。
- 网络支持(3 种模式)
Client Authoritative:客户端生成破坏网格,服务器检测后发送给其他客户端。
Client Replicated:通过复制在客户端生成破坏网格。
Server:由服务器管理并复制破坏 Actor。 - 可保存/加载代理的可见状态
- 可从数据表轻松设置
- 支持 Blueprint:可在整个项目中轻松使用脚本。
- 可通过 C++ 扩展:可利用子系统和虚函数添加功能或覆盖默认行为。
- 附带示例项目
Chaos 小游戏:类似 Saints Row 的“Mayhem”风格玩法。
Destruction 小游戏:破坏随机选中的网格。
通缉等级示例:根据破坏数量提升“通缉度(星级)”。
看起来很适合在广阔场景中进行物体破坏或交互的插件。
“Instance Damage System” 现已在 Fab 上发售,个人版为 $54.99,专业版为 $74.99。
请务必看看!
链接
Instance Damage System | Fab