I wanna be able to create an indicator circle like this one:
im sorry for the lag, obs couldnt record with all the apps i had open
(the game is volleyball legends, i didnt really have a better example)
I’ve tried creating a surface gui on a part and the surface gui should position itself below the ball but i frankly dont know how i would be able to transfer a world position to a gui position
You can use a Raycast fired down from the Position of that ball to determine where the Circle will be. Basically something like this:
local Ball
local Circle
local Params = RaycastParams.new()
Params.FilterType = Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {} --Add where you dont want the circle to be in this table
game:GetService("RunService").Heartbeat:Connect(function(dt)
local RayC = workspace:Raycast(Ball.Position,Vector3.new(0,-10000,0),Params)
if RayC then
Circle.Position = RayC.Position
--Show the Circle via your script
else
--Hide the Circle via your script
end
end)
send a raycast from down from the ball, then set the indicators position to its x and z position, and set its size on its Y and Z axis to the distance with an addition or multiplier
smtn like this could be put down when you receive a raycast result
the 6 makes sure it doesnt get any smaller than 6 studs. the Y and Z scale is presuming you are using a cylinder. but if you are using a cube, swap the X and Y values in the size setting
not to mention you could also put a gui on that part, and move the part instead of the gui