Hello! I was wondering how I can make particles in GUI like this > 2022-02-18 23-54-55
I want to make particles show for my Egg System, but I am not sure how. How can I do this?
Any help will be appreciated!
Hello! I was wondering how I can make particles in GUI like this > 2022-02-18 23-54-55
I want to make particles show for my Egg System, but I am not sure how. How can I do this?
Any help will be appreciated!
Any help will be greatly appreciated!
you would create 40 frames, pick a random colour, random size. Positioning would be more complex because the frames would not move on a straight line but rather a curve.
Well, I am more talking about the shine that is does in the Video.
The shine? You mean like the flash before the outcome is revealed?
I think they have a ui for the shine. I would create my shine ui, maybe rotate it randomly and position it
at the viewport’s on screen position.
If you watch the video, I am pretty sure they don’t use that?
Ah. They went all out with this shine effect. They have separate UIs which they randomly position(I think) and change the size of.
I don’t know how they did it to be honest with you. Someone else could help you with that
@Annexsohn I have made a local script which trys to recreate the effects you wanted. Sorry if the code is messy
local maxBeam = 25
local ran = Random.new()
function createBeam()
local clone = script.Parent.Parent.beamTemplate:Clone()
clone.Name = "beam"
local xScale = ran:NextNumber(0.3,0.7)--[[
Might have to play around with these numbers ]]
local yScale = ran:NextNumber(0.1,0.9)
local VPSize = game.Workspace.Camera.ViewportSize
local framePos = Vector2.new(VPSize.X * script.Parent.Position.X.Scale,VPSize.Y * script.Parent.Position.Y.Scale)
clone.Parent = script.Parent--parent the beam
clone.Position = UDim2.new(xScale,0,yScale,0)--Position the beam
local clonePos = Vector2.new(VPSize.X * xScale, VPSize.Y * yScale)
clone.Size = UDim2.new(0,(clonePos - framePos).Magnitude * 2,ran:NextNumber(0.25,0.3),0)--resize the beam
local opposite = framePos.Y - clonePos.Y
local adjacent = framePos.X - clonePos.X
local angle = math.atan(opposite/adjacent)
local convertedAngle = ((angle)*(180/math.pi))
clone.Rotation = convertedAngle--Calculate the rotation
clone.Visible = true
--Tweening the size of the beam
local oriX = clone.Size.X.Offset
local oriY = clone.Size.Y.Scale
-- You can play around with these numbers
local ransizeX = ran:NextNumber(150,250) + oriX--Calculate a random X size
local ransizeY = ran:NextNumber(25,100) + oriY--Calculate a random Y size
local ts = game:GetService("TweenService")
local tween = ts:Create(clone,TweenInfo.new(1,
Enum.EasingStyle.Bounce,--You can change the Enum.EasingStyle
Enum.EasingDirection.Out,
-1,
true,
0),
{Size = UDim2.new(0,ransizeX,0,ransizeY)})
tween:Play()-- Play the tween
end
for i = 1, maxBeam do
createBeam()--call the function 10 times
end
--Rotating the UI
game:GetService("RunService").RenderStepped:Connect(function()
script.Parent.Rotation += 0.3
end)
The frame named pet would be the picture of the pet.
The beamTemplate is the template used to create the beams
The localscript would be inside the frame named pet
I’m not sure, but based on the bloom and ambient occlusion, which both are not possible just by using ScreenGuis, they probably projected the beam in 3D, along with the models too. So, the shine effect might just be a ParticleEmitter?