Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

how can i tween a viewmodel?

Asked by 2 years ago

for the viemodel in my game (a clone of the player), i usually have it copying the player's serverside animations, just while following the camera. but for aiming i have the viewmodel at a set position with the weapon's front sight relative to the camera. the problem here is it just teleports to that position which is not ideal, so i tried setting up a tween but it doesn't work.

viewmodel tweening code (entirely clientside):

local tweenInfo = TweenInfo.new(
    0.5,
    Enum.EasingStyle.Sine,
    Enum.EasingDirection.InOut,
    1,
    false,
    0
)
local goal = {CFrame = CFrame.new(camera()*Vector3.new(0, 0, -3), camera()*Vector3.new(0, 0, -4));}
local tween = tweenService:Create(viewTool.frontSight, tweenInfo, goal)

runService.RenderStepped:Connect(function()
    viewModel.Head.CFrame = camera()
    if ADS == true then
        viewTool.frontSight.CFrame = CFrame.new(camera()*Vector3.new(0, 0, -3), camera()*Vector3.new(0, 0, -4))
    end
end)
game:GetService("UserInputService").InputBegan:Connect(function(inputObject, gameProcessedEvent)
    if tool.Parent == character then
             if inputObject.UserInputType == Enum.UserInputType.MouseButton2 then
            game.ReplicatedStorage.weaponFunctions.startAimEvent:FireServer()
            tween:Play()
            wait(0.5)
            ADS = true
        end

    end
end)
0
i basically snipped out only the part of the script responsible for the tween, so it probably won't run as-is TheDude646 72 — 2y

Answer this question