Rig reassembles itself after being blown apart by an explosion

Problem

Description
When parenting a rig to an actor for use as an NPC, when the rig is killed/destroyed, the following errors in the physics simulation are observed:

  • Sometimes, a rig that was blown apart by an explosion centered in the head will reassemble itself after a short period, usually within 30-60 seconds or so. If the head is destroyed, the rig will reassemble itself without the head.
  • After the Neck joint has been destroyed with either head:BreakJoints() or head.Neck:Destroy(), after a few seconds, it’s recreated even when the humanoid health is zero.

These are block rigs which were created using the Rig Builder tool in Studio. I was also able to get this to happen with an R15 mesh rig that was also created using the Rig Builder tool in Studio. The rigs have no scripts. This happens in Studio for solo playtesting, local server, and on a live server.

Additional Information

This happens in Studio using solo playtest mode, local server mode, and on a live server. I’m not sure when this started happening. I first noticed it a few weeks ago when I started work on developing specific effects for headshots, but it was incidental at the time because I was working on other things and I really didn’t investigate it until today. Only today did I really start investigating the issue. The problem happens consistently. The primary impact is causing strange visualizations when a rig (NPC) dies due to a headshot.

Field Value
Area Engine
Component Physics
Sub-Component Rig
First Noticed About 4-6 Ago
Frequency Constant
Impact Moderate
CPU AMD FX-8350 8-Core AMD64 4.00GHz
RAM 16BG
Video AMD Radeon RX 6500 XT by Gigabyte
OS Windows 10 Professional RTM 22H2 64-bit

Visuals

The following videos are from the actual development server for the game. However, I was able to reproduce the issue with a baseplate template, a rig, and a very simple script.

Live Server

Client - Solo Playtesting

Client - Local Server Testing

Server - Local Server Testing

It’s worth mentioning that the local server testing videos were recorded simultaneously during the same testing session.

Reproduction

  1. Load the attached file into Studio.
  2. Start a playtest session.
  3. Wait and observe.

Files

Engine - Rig Physics Bug.rbxl (81.2 KB)

Expected behavior

What I expect to happen is that when the rig is blown apart by an explosion that it does not reassemble itself.

EDIT
Corrected video link.

1 Like

Thats quite odd… Are you sure its not something with your code?

That is quite strange. When the rig reassembles itself, is the player gaining or losing network ownership over the rig? That’s the only possible thing I can imagine.

1 Like

A workaround I found is instead of destroying the Motor6D’s, disable them and you (should) get the same result.

@NoxhazeI Did you check the attached reproduction file? It happens with a clean baseplate and a very simple script. Besides, my code doesn’t reassemble the rig.

@PiercedMissile To my knowledge, the server retains network ownership. It’s just a standard block rig that was created with the Rig Builder tool in Studio. There’s no scripts or anything on it.

@0Tenth I could try that and see what happens. But there is a problem. I’ve been blowing rigs apart for some time now. This is the first time that I’ve seen one reassemble itself.


There was another issue where the head is floating in mid-air (you can see it in the videos), but I figured that one out as being that the head is sitting on top of the `HumanoidRootPart` which is invisible. Pretty wild though after the head explosion that it's still there.

Thanks for the report! We’ll follow up when there’s any update on the issue.

1 Like