RootJoint not tweening properly

Hi, i would like to start off with what im trying to accomplish is a procedural animation system that i have been able to implement, though im running into an unexpected result, if there is anyone out there that could explain why this happening? Please check the link below to see what im talking about.

https://gyazo.com/49bec88020ba3c69f1ed113164145899

I want it to transition into that pose without the RootJoint doing that circular rotation into the pose.

Im not providing much code here but here is the angles im using for the root joint

rootjoint[1] = CFrame.Angles(math.rad(0),math.rad(0), math.rad(25))

It uses the usual original * newangle.
Also would like to add my tweening info

local info = TweenInfo.new(.3,Enum.EasingStyle.Linear,Enum.EasingDirection.In,0,false)

Maybe you should change the angle in increments instead of using a tween.

What do exactly mean by that? Sorry i’m very new this aspect of programming, if you could provide more detail, it would be nice.

Do something like this.

local frames = 10

for i = 1, frames do
   rootjoint[1] = CFrame.Angles(math.rad(0),math.rad(0), math.rad(25 * (i / frames)))
end
1 Like

I’ve done something similar before, it caused my game to be unstable due to the other assets i had in the game. Let me give you more information… So what I’ve made is a server sided script that registers all R6 joints of a player and stores these in a table. What I then have gone on to do is make another script that has created a storage system for CFrameValue instances and once any of these values change, that specific joint gets updated with the CFrameValue. So with this i tried to make a simple animation where the player looks in a certain angle once the player clicks Left Mouse Button. The script that had all the joint information gets that angle that i mentioned and multiplies it by the original joint angle. But as you saw in the video im running into unexpected result.

local goal = {}
goal.Value = joints[plr.Name][i] * cframemath
local tween = tweenservice:Create(ss.Animation[jointOrder[i]][plr.Name], info, goal)
tween:Play()

cframemath is just the joint angle that wanted the rootjoint to transition into

Just to shed an update, this seems to only occur at my first tween, since i tween the joints almost all the time, it happens for split second, for a smoother experience I tween the character where the player won’t see this happen. This is workaround for me but will keep this thread open for people who know or have found a solid fix.