Why does my Conveyor animation look jittery only when my avatar is on it

I tried searching around for other people having this issue but I have not found anything similar.
I am trying to make a conveyor that has an animation that is in sync with the conveyor’s speed, however the closer I match the animation to the movement speed, the less smooth the animation appears when my avatar is on it.
The texture scrolling animation does not appear jittery when you are not on it.

I have tried everything I could:

  • using stud offset of the texture with a script
  • tween service the stud offset of the texture
  • I’ve tried increasing how often the conveyor applies movement
  • I’ve tried angular velocity
  • I’ve tried applying velocity via a script
    they all have the same issue
    .
    here is footage of the effect I am talking about (its the first conveyor, even though its the closest to matching the speed, as if matching it creates the effect)
    (the effect is 2x as bad as the recording shows it to be)
    (also the effect doesnt seem to happen when matching very low speeds)

Here is the current code I am trying to get to work:
(I am mainly a builder and I don’t know how to script, so the majority of this script isn’t my own)

local conveyor = script.Parent

local SPEED = conveyor:GetAttribute("Speed")
local texture = conveyor.Texture

conveyor.AssemblyLinearVelocity = conveyor.CFrame.LookVector * SPEED

conveyor:GetAttributeChangedSignal("Speed"):Connect(function()
	conveyor.AssemblyLinearVelocity = conveyor.CFrame.LookVector * conveyor:GetAttribute("Speed")
end)

local info = TweenInfo.new(100, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)
local tween = TweenService:Create(texture, info, {OffsetStudsV=-900})
tween:Play()

I have tried scaling the scale of the numbers for offset studs and time to repeat and that hasn’t helped either
does anyone have any suggestions on how to fix this issue? Is my only option utilizing beams?

Probably the updates of the conveyor image are not exactly in sync with rendering. I don’t know why this would be though, since I thought TweenService uses RenderStepped internally?

I managed to get it working much better, I set the texture to be ran by a client script not legacy and it fixed it

1 Like

Why not use Beams | Documentation - Roblox Creator Hub for this?