Since Roblox removed the animationBlendFix option, we suffer alot not gonna lie. and since that i have being really frustrated. Like really really frustrated.
So i have an animation of a viewmodel (which i built on my own)
and it looks quite good. Problem here is the game, it just looks really really bad and sometimes even have animation delay.
So here’s the animations
Expected:
Result:
I have all animations set on action + action 2 and beyond.
But the viewmodel idle animation is just the rig itself. (just to solve the problem of animating the idle animation)
And finally i don’t even know how to setup the animation :AdjustWeight()
So if you know how to fix any of these, thank you. I appreciate you alot!
Mouse.Button1Down:Connect(function()
if not isFiring and canFire and not isReloading and not debounce and framework.module.Ammo > 0 then
isFiring = true
debounce = true
local GUI = plr.PlayerGui:WaitForChild("WeaponGUI")
framework.module.Ammo -= 1
local anim = Instance.new("Animation", framework.viewmodel)
anim.AnimationId = framework.module.FireAnim
framework.viewmodel.Humanoid:LoadAnimation(anim):Play()
anim:Destroy() \\-- Animation is here.
local sound = Instance.new("Sound", char.PrimaryPart)
sound.SoundId = framework.module.FireSound
sound.PlayOnRemove = true
sound:Destroy()
for i, v in pairs(framework.viewmodel.Model.FirePart:GetChildren()) do
if v:IsA("ParticleEmitter") then
v:Emit(1)
elseif v:IsA("SpotLight") then
v.Enabled = true
end
end
task.wait(framework.module.DebounceTime)
debounce = false
for i, v in pairs(framework.viewmodel.Model.FirePart:GetChildren()) do
if v:IsA("ParticleEmitter") then
v:Emit(0)
elseif v:IsA("SpotLight") then
v.Enabled = false
end
end
end
end)
This is the firing part.
This is the reload part.
if input.KeyCode == Enum.KeyCode.R and not isReloading then
isReloading = true
local animation = Instance.new("Animation", framework.viewmodel)
local humanoid = framework.viewmodel:WaitForChild("Humanoid")
if framework.module.Ammo > 1 then
animation.AnimationId = framework.module.PartialReload
humanoid:LoadAnimation(animation):Play()
elseif framework.module.Ammo < 1 then
animation.AnimationId = framework.module.ReloadBolt[2] or framework.module.ReloadBolt[1]
humanoid:LoadAnimation(animation):Play()
end
framework.module.Ammo = framework.module.AmmoSettings
local sound = Instance.new("Sound", char.PrimaryPart)
sound.SoundId = framework.module.ReloadSound
sound.PlayOnRemove = true
sound:Destroy()
task.wait(framework.module.reloadTime)
isReloading = false
animation:Destroy()
end
I intended that the animation will play with a tactical or normal reload animation but i left that part out because of technical issues and used the normal reload ones, I don’t think this is the issue either, because the reloading animation does not tamper with the idle animation because the idle was infact, modelled into the rig. Same goes for the fire animation.
Either try @RuizuKun_Dev’s way, or try and do animation:Stop() and then animation:Destroy(). Sometimes destroying the AnimationObject or AnimationTrack doesn’t essentially stop the animation.
Either try @RuizuKun_Dev’s way, or try and do animation:Stop() and then animation:Destroy() . Sometimes destroying the AnimationObject or AnimationTrack doesn’t essentially stop the animation.
Well maybe there’s an animation:Destroy() in the script
But i haven’t tried animation:Stop(), let me check