How would I create this?

Hello everyone!

I’m trying to make a training area as I want to make something like in the video below to be a spinning circle (The lines that are spinning in the video) as when a player would step on it, it would put a sword in there hand. But I want to know how can I create the circle effect you see in the video??

If anything is not clear or need a better understand please ask.

Sorry if this doesn’t belong here.

Thank you!

1 Like

Here’s an idea of mine.

image

Those two levitating blocks should have a trail effect in them. Weld those two blocks to the big plate. Make the blocks and the big plate invisible. Make some changes to the trail if needed.

I’m not sure if there’s a way to spin something without scripting, so I’ll just go with scripting. You’ll have to script the big plate to rotate it. The two blocks should rotate along with the big plate.

1 Like

If you mean the rotating part like this v


Then the script I used is this: insert this script in the part!

local speed = 0.1 --rotation speed
a = speed

while true do
	script.Parent.CFrame = script.Parent.CFrame*CFrame.fromEulerAnglesXYZ(0.0,a,0.0)*CFrame.new(0,0,0) --The 'a' between the numbers is the direction of the rotation, if you want to change the direction of rotation part then replace the 'a' with the numbers.
	wait(0.002)
end
3 Likes

trail effect is sick, particle emitter is sick as well.

I think changing it to game:GetService(“RunService”). Heartbeat would be more better. Using while true do is kinda not good.

I have a question, I haven’t done much rotation stuff so idk if I’m asking a dumb one. But here cant you just use the orientation or rotation of the part?

Something like this

while true do
	wait()
	local XYZ = script.Parent.Orientation.Y
	script.Parent.Orientation = Vector3.new(script.Parent.Orientation.X, XYZ+1, script.Parent.Orientation.Z)
end

Yeah that’s also an option, yeah I am not that good at scripting but Ik the basics lol
. But thanks, will use the advice :slight_smile:

like this right?

do


inside the script:

while true do
	local Tween = game.TweenService:Create(
		script.Parent,
		TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
		{CFrame = script.Parent.CFrame * CFrame.fromEulerAnglesXYZ(math.pi, 0, 0)}
	)
	Tween:Play()
	Tween.Completed:Wait()
end
3 Likes