Accessories on new rig behave weirdly

Hey guys! I’m having issues with accessories on the new dynamic faces rig!

How it should be:

image

How it is:

Attachments are all good, they’re lined up via script

The issue is, is that it’s doing some weird scaling thing to the meshes and making them appear like that, does anyone know how to get rid of that behaviour. It would be greatly appreciated, thank you!

Can you show us the code?
Make sure you didn’t set your character size to 0.9 or something too


local Retarget_Table = {
	["UpperChest"] = "UpperTorso",
	["LowerChest"] = "LowerTorso",
	["UpperLeftArm"] = "LeftUpperArm",
	["LowerLeftArm"] = "LeftLowerArm",
	["UpperRightArm"] = "RightUpperArm",
	["LowerRightArm"] = "RightLowerArm"
}


local Rig = game.Workspace.Autorig.Rig:GetChildren()
Rig = Rig[1]

local Armour = game.Workspace.Autorig.Armour:GetChildren()

local Already_Attachment = true


Change_Service:SetWaypoint("Starting Autorigger..")

for Index, Value in Armour do
	
	local Name = Value.Name:split("_")[2]
	local Complementary = Rig:FindFirstChild(Retarget_Table[Name])
	
	if Complementary then
		if Already_Attachment then
			
			local Attachment
			
			for Index2, Value2 in Value:GetDescendants() do
				if Value2:IsA("Attachment") then
					Attachment = Value2
					break
				end
			end
			
			if Attachment then
				local Complementary_Attachment = Complementary:FindFirstChild(Attachment.Name)
				
				if Complementary_Attachment then
					Attachment.WorldPosition = Complementary_Attachment.WorldPosition
					
					print("Completed ".. Value.Name)
				else
					warn("Complementary attachment of ".. Attachment.Name .." belonging to ".. Value.Name .." not found!")
				end
			else
				warn("Attachment of ".. Value.Name .." not found!")
			end
		end
		
	else
		warn("Complementary of ".. Value.Name .. " not found!")
	end
	
end

print("-- Finished --")

All it does is just change attachment positions

Have a look at the meshdata in viewport and then in testmode. Maybe that’ll give some information. Specifically, see how much the size changes

They do seem to change, not massively, but enough to I think give that off looking scale

LowerChest: 2.114, 0.468, 1.424 → 2.084, 0.575, 1.541
UpperChest: 2.114, 1.614, 1.424 → 2.084, 1.983, 1.541
UpperRightArm: 1.29, 1.122, 1.354 → 1.151, 1.647, 1.399
LowerRightArm: 1.29, 0.652, 1.354 → 1.151, 0.958, 1.399
UpperLeftArm: 1.29, 1.122, 1.354 → 1.151, 1.647, 1.399
LowerLeftArm: 1.29, 0.652, 1.354 → 1.151, 0.958, 1.399

The name is the armour component, 1st number is the original size , 2nd number is the size after it’s been put onto the character
The autocreated originalsize within each armour component is the same as the 1st number

Do you have any clue what’s causing it to change scale?

Hard to say without looking at it myself. Are you using a meshpart? Or a part, with a SpecialMesh instance in it?

Also, you don’t really have any welding logic in the script you sent. Just positioning.

Yeah, I rely upon roblox’s accessory system which on the previous rig worked great

image

It’s an accessory with a meshpart in it, and then an attachment to make it go onto the correct place

Yea but this isn’t being welded, is it?

Roblox autocreates the welds, as it is an accessory. It’s the same way any catalog item works

Also the script, I run within studio itself just once to generate the correct attachment position. Then ingame, i can just parent the accessory to a rig

Can you send me the file? You can get rid of your meshes etc

Yeah sure, let me just prepare the file, I’ll reply with a new message once i am done

This should be it, and allows you to see the same issue:

Example.rbxl (74.6 KB)

The autorig is in there, aswell as 2 example armour components. Within starterplayer i’ve also put a starter character where you can put the armour components after you’ve finished with them to test them ingame.

Also thanks!

OK, think I found the issue. 1 sec, fixing it for you

image

Yep, it’s working.

Great! Hopefully it works, it would really help out! Could you explain what the issue was? It’d help me learn

	if Complementary_Attachment then
					Attachment.WorldPosition = Complementary_Attachment.WorldPosition
					Value.Parent = Rig
					print("Completed ".. Value.Name)
				else

Well, I actually didn’t have that scaling issue. For me it was just not welding. I fixed that. You just forgot to parent it.

1 Like

Oh, i do parent it, i just drag it into my startercharacter

Can you see here also how it didn’t position it properly
image

Oh right hold on then I probably didn’t fix it

Here’s a video of what I do:

Hopefully it provides more insight

In the video, it’s parenting an older version instead of using the starter character one, i’ve now disabled that script and the result is even worse
image