basically, I'm trying to replace all the Motor6D's in a R6 character with BallSocketConstraints. the issue is that animations dont play because they use motor6d's. I'm wondering if theres a way to allow animations to play without Motor6D's, or if they are required and theres another solution.
the reason I'm doing this in the first place is because I want to be able to apply a MaxTorque to my character so i can make it ragdoll or just use less effort, to have more realism.
this is what I'm using right now, which isnt working that good:
local Players = game:GetService("Players")
local function upgradeJoints(character)
for _, motor in ipairs(character:GetDescendants()) do
if motor:IsA("Motor6D") then
local part0, part1 = motor.Part0, motor.Part1
if part0 and part1 then
motor.Enabled = false
local att0 = Instance.new("Attachment")
att0.CFrame = motor.C0
att0.Name = motor.Name .. "_A0"
att0.Parent = part0
local att1 = Instance.new("Attachment")
att1.CFrame = motor.C1
att1.Name = motor.Name .. "_A1"
att1.Parent = part1
local constraint = Instance.new("BallSocketConstraint")
constraint.Name = motor.Name .. "_Constraint"
constraint.Attachment0 = att0
constraint.Attachment1 = att1
constraint.LimitsEnabled = true
constraint.UpperAngle = 30
constraint.TwistLimitsEnabled = true
constraint.TwistLowerAngle = -15
constraint.TwistUpperAngle = 15
constraint.MaxFrictionTorque = 100000
constraint.Parent = character
end
end
end
end
Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function(char)
char:WaitForChild("HumanoidRootPart")
upgradeJoints(char)
end)
end)
since I'm not that good with animating or constraints, if anyone else has done this before or just thought of something off the top of their head, please let me know. I dont exactly need code, just an explanation of what to do, or a concept