Hello, I’m in the process of building a night club game, one of the main features of the place it’s based off of irl is multiple disco balls of different sizes, when the concert lights are shined into the disco ball, it creates a really cool effect. I’m pretty sure that completely recreating the reflections isn’t possible in ROBLOX… But was wondering if anyone else has had a similar situation & the best solution you found?
I don’t want to use a shiny sphere with sparkles coming off of it… I’d prefer that it looks as realistic as possible. Pictures of the build (very in progress) attached for reference, as you can see I’ve tried a few different options. Neither of them really do anything for me, but maybe they’ll look better as it gets more complete and the space more filled.
This is probably going to look goofy, but maybe you can make a spinning sphere with many small holes in it and place a light inside of it. After that, place it inside the disco ball and disable CastShadow on the disco ball.
I don’t know a lot about scripting, but you could have the sphere outside of the disco ball and have it invisible from players without eliminating the holes.
you can add a particle immiter or a billboardGUI inside the sphere to get something like this, im using the default sparkle texture but you can make it more cool with other effects and textures too
Oooh. this is an interesting idea. I feel like that would look good when hitting it with lights, make a toggle to make the light inside the disco ball turn on. Wouldn’t recreate the actual shimmer or light from it but could replicate the actual reflection of the light onto people or objects. I’ll try that out, thanks!
Haii! Im aware this is an old post, but I found a possible solution for anyone else looking at this page.
You can make a smaller (transparent) part that haa a point light and a weld connected to the ball. Then, you copy and paste that part all over the ball. I recommend making one vertical row first, then copy and pasting that row around the ball. Make sure to weld them to the ball so they’ll move with its tween!
local TS = game:GetService("TweenService")
local Spin1 = TS:Create(script.Parent,TweenInfo.new(2, Enum.EasingStyle.Linear),{CFrame = script.Parent.CFrame * CFrame.Angles(0,math.rad(120),0)})
local Spin2 = TS:Create(script.Parent,TweenInfo.new(2, Enum.EasingStyle.Linear),{CFrame = script.Parent.CFrame * CFrame.Angles(0,math.rad(240),0)})
local Spin3 = TS:Create(script.Parent,TweenInfo.new(2, Enum.EasingStyle.Linear),{CFrame = script.Parent.CFrame * CFrame.Angles(0,math.rad(360),0)})
Spin1.Completed:Connect(function()Spin2:Play() end)
Spin2.Completed:Connect(function()Spin3:Play() end)
Spin3.Completed:Connect(function()Spin1:Play() end)
Spin1:Play()
(I also added a light source above and below the ball to make it shine)
It’s not exactly the best looking, and may cause lag depending on the amount of parts, but it’s getting somewhere! Hope this helps!