How can I make a BodyGyro do this?

Hello, I have been working on a pet and I want it to be animated, I used tweenService for that and here is how it looks:


I am using orientation to make the part rotate but I have a problem, when I change the orientation I want it to still have that rotating effect but like face another way and that’s why I want to use BodyGyros instead for the the rotating effect (I don’t need the jumping effect) But I don’t know how to do it, here is my other script that uses tween service:


local tweenService = game:GetService('TweenService')
local info = TweenInfo.new(
	.8,
	Enum.EasingStyle.Quint,
	Enum.EasingDirection.Out,
	0,
	false,
	0
)
local infoJump = TweenInfo.new(
	3,
	Enum.EasingStyle.Linear,
	Enum.EasingDirection.Out,
	0,
	false,
	0
)

local tween1 = tweenService:Create(script.Parent, info, {Orientation = Vector3.new(script.Parent.Orientation.X,script.Parent.Orientation.Y,5)})
local tween2 = tweenService:Create(script.Parent, info, {Orientation = Vector3.new(script.Parent.Orientation.X,script.Parent.Orientation.Y,-5)})
tween1:Play()
tween1.Completed:Connect(function()
	tween2:Play()
	tween2.Completed:Connect(function()
		tween1:Play()
	end)
end)

I tried fixing it but I couldn’t (fixing it would be better than using bodygyros for me). How can I get te same effect with a Bodygyro?
Thank you!

1 Like

EDIT: I did this but It gives some weird results:

while true do
	wait()
	script.Parent.BodyGyro.CFrame = script.Parent.BodyGyro.CFrame * CFrame.Angles(0,0,math.rad(45))
end
1 Like