How to make a punch after effect

I want to make a similar after punch effect where the ground scales up, similar to how it does in this clip

External Media

To start, you should get the CFrame of the user’s RootPart and how far you want to send this ground scale effect.

Quick example:

local Character = [character]
local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
if HumanoidRootPart and HumanoidRootPart:IsA("BasePart") then
  local EffectCF = HumanoidRootPart.CFrame
end

When getting the user’s CFrame, you can multiply the CFrame to shoot it out.

local ScalesLength = 10
local Character = [character]
local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
if HumanoidRootPart and HumanoidRootPart:IsA("BasePart") then
  local EffectCF = HumanoidRootPart.CFrame
  -- loop for how many scales you want
  for ScaleIdx = 1, ScalesLength, 1 do
    -- create an example scale
    local Scale = Instance.new("Part")
    Scale.Parent = workspace
    Scale.Anchored = true
    -- multiply by CFrame on the ZAxis (forward)
    Scale.CFrame = EffectCF * CFrame.new(0, 0, ScaleIdx)
  end
end

I tested this with a part, here’s a video:

This is just a quick example, there is much more you can do with this! E.g. editing the scales, animating them, offsetting them, and sizing them properly. As well as some cool particle effects at the end.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.