How would I create a radial loading bar between 2 defined angles (not 0)?

By the end of this thread/if I receive a solution, I want the end result to achieve something similar to this:

400x400

To be completely honest, I have not tried to achieve this yet because the places where I did look for help were only between angles 0 and t1 (up to 360). I want to achieve something a bit more like between 45 and 90 then between 50 and 105. I want it to look non-linear aesthetically, not only programmatically so it’s angle will vary over time in sections. Any ideas?

1 Like

After looking into it, I got to work with someone’s WebApp module for creating radial images. After there, it was only a matter of how to get the animations I wanted, before I came up with this:
https://i.gyazo.com/b0c871edb9ffaa01a798ba6be902b208.mp4

The module I’m referring to is Radial Sprite Sheet Generator for Circular Progress Indicators. It’s a self-explanatory and easy-to-learn module.

The code used to create this effect:

local config = [[{"version":1,"size":120,"count":60,"columns":8,"rows":8,"images":["http://www.roblox.com/asset/?id=5194701797"]}]]
local radialModule = require(script.RadialModule)
local radialImage = radialModule.new(config, script.Parent.ImageLabel)
local radialImage2 = radialModule.new(config, script.Parent.ImageLabel2)

local t = 0
local r = 0
local decreasing = false

game:GetService("RunService").RenderStepped:Connect(function()
	radialImage:UpdateLabel(t)
	script.Parent.ImageLabel.Rotation = r * 360
	radialImage2:UpdateLabel(1 - t)
	script.Parent.ImageLabel2.Rotation = 360 - r * 360
	if t >= 1 and not decreasing then
		decreasing = true
		t -= 0.01
	elseif t < 0 and decreasing then
		decreasing = false
		t += 0.01
	elseif decreasing then
		t -= 0.01
	else
		t += 0.01
	end
	r += 0.005
end)