Animations have strange physics issues present only in live servers

Animations in live servers have noticeably more wonky and janky physics. This is not present in Studio. This issue is present on all character animations, but is prominent on animations which change the position of the torso like in the video.

(Video of animations in a live server)

Expected behavior

I expect for animations to act as intended, not having any severe effects on player movement.

(Videos of animations in studio / as intended)

A private message is associated with this bug report

17 Likes

I’m having similar issues in my game with physics after this recent update. Some players start vibrating randomly while an animation is being played, and sometimes if a vehicle in my game touches another vehicle the players entire game client will crash.

I thought it was due to ROBLOX setting the PhysicsSteppingMethod in workspace to Adaptive as default, but even after disabling it players are still experiencing the same issues.

This issue is detrimental to my games playerbase as it’s almost unplayable for those who are experiencing it.

8 Likes

Is the intended behaviour supposed to make the character appear to flicker horizontally? It is not very clear since the most prominent “jittering” appears in both videos.

1 Like

It seems to be caused by collisions (which can be caused by animation), as the flickering stops in my game when I make the character hitbox CanCollide false, but that’s not a working solution for me either because I need it to be collidable. And just like you, in Studio everything is fine. Really hope Roblox reverts whatever collision change they made ASAP.

1 Like

I thought I was the only one experiencing this… the bug is present only in live servers, and only occurs for me on R15 rigs when I have a Motor6D tilt-effect script active.
The weirdest thing is it isn’t present when I play using the Roblox’s Windows store app.

in my case:
occurs on R15, not R6
does not occur in when playing in Roblox Windows store app
using default Animate script for the R15 clip (no animations are being overridden)
only happens in live servers, and not in studio
noticable at lower fps, worsens at high fps
video recorded @ 120fps

bug observed 04/14/23
video recorded/uploaded 04/15/23

--localscript
--utils:tween is a wrapper for tweenservice and is *not* the root of the issue.
--utils:optimizehumanoid disables undesired humanoidstates and is also *not* the root of the issue.
local RunService			= game:GetService("RunService")

local Player				= game:GetService("Players").LocalPlayer
local Character				= Player.Character or Player.CharacterAdded:Wait()
local RootPart				= Character.PrimaryPart or Character:WaitForChild("HumanoidRootPart")
local Humanoid: Humanoid	= Character:WaitForChild("Humanoid")

local NeckMotor				= Character:WaitForChild("Head"):WaitForChild("Neck")
local NeckOriginal			= NeckMotor.C0

local Motor6D				= Character:WaitForChild("LowerTorso"):FindFirstChildOfClass("Motor6D")
local Original				= Motor6D.C0

local Dampening				= 2
local NeckDampening			= 3

---							@module src.Packages.Setup.Utils
local Utils					= shared.Utils

Utils:OptimizeHumanoid(Humanoid)

local Velocity				= nil
local Direction				= nil
local Angle					= nil
local NeckAngle				= nil
local OneZeroOne			= Vector3.new(1, 0, 1)

RunService.Heartbeat:Connect(function()
	Velocity = RootPart.AssemblyLinearVelocity * OneZeroOne
	if Velocity.Magnitude > 2 then
		Direction = Velocity.Unit
		local DotProduct = RootPart.CFrame.RightVector:Dot(Direction)
		Angle = DotProduct / Dampening
		NeckAngle = DotProduct / NeckDampening
	else
		Angle = 0
		NeckAngle = 0
	end
	Utils:Tween(Motor6D, {C0 = Original * CFrame.Angles(0, 0, -Angle)}, 0.2, Enum.EasingStyle.Sine)
	Utils:Tween(NeckMotor, {C0 = NeckOriginal * CFrame.Angles(0, 0, NeckAngle)}, 0.2, Enum.EasingStyle.Sine)
end)
3 Likes

Should clarify that this is a result of the animations. Here’s another gif with normal animations (see how the camera shakes quite uncomfortably).

1 Like

Have you found any workarounds so far? In my case I was able to bandaid-fix the bug by commenting out code that changed the CFrame of the LowerTorso’s Motor6D

But since you’re experiencing the issue with animations idk

2 Likes

Unfortunately no, since I have been busy with other things. The issue isn’t very prominent enough to warrant immediate fixing at least in live servers of the game I develop for.

3 Likes

I noticed an issue with players not being able to stand on items moved by roblox physics. After some hours of trial and error I have narrowed down the problem to Unions. But maybe its union collision issues in character parts in animations contributing to your problem also.

I have been able to reproduce this issue.

The problem is when there is a cancollide Union either moving or welded to the Roblox physics moving part. When the union(with depth, for example part of the union in Z axis) is moving the character cannot stand on it or any part that is near it that is also moving with the assembly, it will move under the character and the character will slide off.

In Studio the player can stand on the Union as expected. this only happens in live games on the client.

2 Likes

Seeing the same thing. Also applies to MeshParts.

Further info:

  • Setting network ownership of the assembly to the client fixes the issue, but for that client only.
  • Setting all of a character’s parts to CanCollide false fixes the player sliding off, but obviously this is not a valid solution.
  • Issue does not occur when MeshPart CollisionFidelity is set to Box. When set to Default, the issue only occurs if the player is standing inside of the volume which Box collision would occupy. (does not have to be touching the part)
  • Only appears to affect standard PC client in live servers. (tested with everything working as expected in Studio, on mobile, and using the Windows app)
6 Likes

I don’t know why there isn’t more uproar over this. This problem seems highly impactful to many games. I tried a few and can see the issue in Sharkbite, zeppelin wars, Fishing sim… etc.

4 Likes

Still happens to me with MeshPart CollisionFidelity set to Box while having the player inside a box for their hitbox. I dont see a single solution in sight to fix this for me. And the fact that there’s no problems in studio is…interesting.

1 Like

Yeah I still have the slipping off moving platform problem with cancollide turned off on meshparts and unions in some complex assemblies and also with character parts cancollide false.

no workaround to be found…

1 Like

Should also note that everything works fine for me in Studio, on mobile, and on the Microsoft Store version of the PC client.

2 Likes

I also thought I was the only one experiencing this. I have a script that manipulates the waist and neck Motor6Ds depending on camera angle. I too have neither made any alterations to character animations or the default animate script. My game experience is strictly first person, so the camera aggressively vibrates when walking. Higher walkspeeds exacerbate the frequency of the jitter. Since playtesting in live servers is the most accurate and performant means of testing, for countless reasons, it’d be an understatement to say this is disruptive to my workflow.

4 Likes

Having the same issue in my game whenever a player aims a weapon (it adjusts their UpperTorso Waist & LowerTorso Root joint C0’s), it is a pretty big issue as it heavily disrupts gameplay.

3 Likes

Can also confirm this is happening in-game but not in a studio instance :confused:

Despite setting physics method to Fixed, it behaves like i set it to Adaptive which causes this in the first place

2 Likes

We made a change that we think may have resolved this, are you still seeing animation issues?

9 Likes

Thank you! I’m no longer having issues in live servers for my game.

2 Likes

Fixed for me as well! Thank you

2 Likes