I simply run a loop binded to renderstep to update the Transform property of motor6d’s of the character, call it a custom animation system, like so:
local function TransformChar(dt)
i = i + dt
local alpha = i/frames
if alpha < 1 then
for k = 1, #welds do
if welds[k] and p2[k] then
--welds[k].C1 = p1[k]:lerp(p2[k],alpha)
welds[k].Transform = p1[k]:lerp(p2[k],alpha)
end
end
end
end
rservice:BindToRenderStep(rendbind,Enum.RenderPriority.Character.Value+1,TransformChar)`
However, as long as an Animator Object is present under the Humanoid, these changes are just completely ignored.
In this video, when the player enters the batter’s box, it stops all playing animations on the player, it then proceeds with the code written above. However, the updating of Transform properties does nothing to effect the player. Although, other players CAN see the transform property being changed and CAN see the animation play out, as setting the Transform property of other Player’s seems to work fine. It is just the local player that CANNOT see the changes. Also in the video I delete and re add the Animator object multiple times via dev console, and you can see, when the Animator is removed, it works as intended. But when put back, it overwrites the Transform property again.
Video:
Commands used in the dev console:
workspace.["PlayerName"].Humanoid.Animator:Destroy()
local a = Instance.new("Animator") a.Parent = workspace.["PlayerName"].Humanoid
This started happening I believe about 2 days ago (June 26th or 25thish)
Expected behavior
If working correctly, the Animator Object should not be updating the Transform property when it is not playing any animations, Or the changes made manually to the Motor6D instances should overwrite anything the Animator does. For example, if the running animation is playing, a change to the UpperTorso Motor6D’s Transform property should overwrite the running animation changes to the UpperTorso Motor6D.
A private message is associated with this bug report