How would I put a spin on an unanchored part?

I have a script that makes a part and throws it, but the throw looks very weird since the part stays upright. How can I make it spin midair?

Here’s the few lines of code that spawn it:

		local clone = item1:Clone()
				clone.CanCollide = true
				for i, v in pairs(clone:GetDescendants()) do
					if v.Name == "Joint" then
						v:Destroy()
					end
					if v.Name == "ClickDetector" then
						v:Destroy()
					end
				end

				clone.Anchored = false
				clone.CFrame = CFrame.new(item1.CFrame.Position) * CFrame.Angles(math.rad(180), math.rad(0),math.rad(0))
				clone.CFrame = clone.CFrame * CFrame.new(0,-1.5,-2)
				clone.Parent = workspace
				local newimpulse = clone
				local direction = lv
				local forcemultiplier = (100 * newimpulse:GetMass())

				newimpulse:ApplyImpulse(direction * forcemultiplier)
			
				wait(.1)	
1 Like

You can set the Part Angular Velocity to make it spins.
Example:

local part = workspace.Part 
part.AssemblyAngularVelocity=Vector3.new(0,0,20)*part:GetMass()

or u can use BodyGyro to make it following the velocity direction.
Example:

local BodyGyro = Instance.new("BodyGyro",Part)
BodyGyro.MaxForce=Vector3.one*math.huge

task.spawn(function()
    while True do
        local LastPosition = part.Position
        task.wait()
        local Position = part.Position
        BodyGyro.CFrame=CFrame.new(LastPosition,Position)
    end
end)