Today I was making a morph but something I noticed is that animations for the morph itself don’t work, but work on npcs.
I tried using the “Animate” script but it still had the “I” pose. I also tried some other techniques but the one that worked was more so for npcs because it was for JUST idle anims.
Morphs has separate parts that contain motor6d not similar to a regular r6 or r15 rig except if the morph is just some mesh parts welded on the player that is set to invisible.
What you could do is make another animation or if you can’t, you could learn it or just pay someone to do it for you.
Just realized all of the motor6ds are located inside the torso, you can’t move the torso since there’s no motor6d to support it to make it move so i suggest making a motor6d inside the humanoid root part connecting it to the torso so the torso can move at all cost (unless if you disconnect it of course).
Edit: Also, it can’t move itself even though if there is a motor6d inside it that is connecting it from it.
1 thing I want to point out real quick, the torso is the main part, not the HumanoidRootPart if I see this correctly. As the Motor6D connected to HumanoidRootPart and Torso, but note that the HumanoidRootPart has to be Part0 of the Motor6D and the Torso Part1.
HumanoidRootPart IS Part0 and Torso is Part1, and all of this is not about the morph specifically, it’s about animations like walking, idle etc. don’t work.
local pad = script.Parent
local characterName = "Pandy"
local character = pad.Parent:WaitForChild(characterName)
local debounce = true
pad.Touched:Connect(function(obj)
local plr = game.Players:GetPlayerFromCharacter(obj.Parent)
if plr and debounce == true then
debounce = false
pad.BrickColor = BrickColor.new("Institutional white")
local charClone = character:Clone()
charClone.Name = plr.Name
plr.Character = charClone
local rootPart = charClone:FindFirstChild("HumanoidRootPart") or charClone:FindFirstChild("Torso")
local plrRoot = obj.Parent:FindFirstChild("HumanoidRootPart") or obj.Parent:FindFirstChild("Torso")
if rootPart and plrRoot then
rootPart.CFrame = plrRoot.CFrame
end
charClone.Parent = workspace
wait(.5)
pad.BrickColor = BrickColor.new("Institutional white")
debounce = true
end
end)
Wouldn’t it be smarter if the player started as that rig?
Meaning you’d put the model of the rig (call it “StarterCharacter”) and put it in StarterPlayer, then move the Humanoid out of StarterCharacter and inside StarterPlayer and call it “StarterHumanoid”.