I am trying to make a “speed of sound” effect (when something goes so fast that you get a “blow” on the air) and have been having trouble trying to do this for a couple hours.
I just want to angle the air blow with the character torso properly but the way this is working is not reliable since the angles are not 100% accurate and when i jump that effect points only to one side.
Example:
My current script:
local rushMode = game.ReplicatedStorage.RemoteStuff.RushMode
local speedBlow = game.ReplicatedStorage:FindFirstChild("SpeedBlowModel").SpeedBlow
local PointTarget = game.ReplicatedStorage:FindFirstChild("SpeedBlowModel").PointTarget
game.ReplicatedStorage.RemoteStuff.RushMode.OnServerEvent:Connect(function(player)
local boostSound = player.Character.Humanoid.Parent.RushBar.RushSound
local rushOn = player.PlayerInfo.RushActive
local rushBar = player.PlayerInfo.RushBar
rushOn.Value = 1
local SpeedBlowFX = speedBlow:Clone()
local PointTargetFX = PointTarget:Clone()
SpeedBlowFX.Parent = game.Workspace
PointTargetFX.Parent = game.Workspace
local x = player.Character.Torso.Position.X
local y = player.Character.Torso.Position.Y
local z = player.Character.Torso.Position.Z
local startPosition = Vector3.new(x,y,z)
local targetPosition = player.Character.Head.Position
SpeedBlowFX.CFrame = CFrame.new(startPosition, targetPosition)
local pointLight = Instance.new("PointLight")
pointLight.Parent = player.Character.Torso
pointLight.Color = Color3.fromRGB(255, 0, 0)
pointLight.Brightness = 5
pointLight.Range = 10
print("FUNCIONOU???"..x..y..z)
boostSound:Play()
for i = 1, 0, -0.05 do
boostSound.Volume = i
wait()
end
wait(3)
rushBar.Value = 0
rushOn.Value = 0
pointLight:Destroy()
attach:Destroy()
end)
I don’t think i explained properly but i think it is understandable, i just need help getting the accuracy on the angle of that effect