Spinning Top Effect without Script

  1. What do you want to achieve? A spinning top effect without a script

  2. What is the issue? I have this local script that works fine, however, placing ~20 starts to lag the game. I would like to be able to use a Hinge or something similar to achieve the same effect without using tons of memory

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub? I have tried messing with Hinge Constraints (I’m not the best at them), also didn’t find anything on the forum.

Below is the current code I have alongside a demonstration

local cs = game:GetService("CollectionService")

while true do
	for _, can in cs:GetTagged("SprayCan") do
		can.CFrame *= CFrame.fromEulerAnglesXYZ(0,0.25,0.025)
	end
	task.wait(1/30)	
end

2 Likes

You could use AngularVelocity, which needs a attachment. If you’re going to use this method, then the part has to be unanchored.

You could use tweenservice to loop and tween the part

Try switching over to runservice, that may help.