You can do this by checking the “Massless” property which is found in parts.
This should remove mass from the part.
You can check if a model has a humanoid then enable “Massless” on all parts by doing the following:
local model = workspace.Shadow
local foundhumanoid = false
for _, v in pairs(model:GetDescendants()) do
if v.ClassName == "Humanoid" then
foundhumanoid = true
end
end
if foundhumanoid == true then
for _, v in pairs(model:GetDescendants()) do
if v.ClassName == "Part" then
v.Massless = true
end
end
end
Note there are better ways to do this, but this is just an example. The script will search the model for humanoids. If it finds a humanoid, it will set all of the parts that have the model as an ancestor to Massless.
This seems more like a roblox-related issue you may have to get around. Is having a humanoid an absolute must? Maybe you could remove the humanoid while they are attached to the player? I understand this may not be feasible if you are wanting to animate the characters.
I wanted to copy the characters accessories and clothes onto the model so I would need a humanoid but if it acts like this I could get by with just a shadow
Edit: I just found out that if you turn on platformstand in the humanoid of the shadow it fixes all of the mass issues