Has anybody ever been able to override render origins of player's world models? I've been trying to get Entity.SetRenderOrigin to work with players but it doesn't do anything. The return value of Entity.GetRenderOrigin gets updated to the new values, but the position of player's world models position never change.
Setting render origins on any other entity works, just not players. I need this to work in order to correctly show players being tackled by other players. Currently, when a player gets dive tackled, their move data origin, velocity, and the player's absolute velocity are changed to the values of the player that tackled them, so that tackle victims properly move with their tacklers with no prediction issues. However the player being tackled doesn't appear correctly with their tackler, and they "lag" behind throughout the entire process. But this is just a visual problem, hence why I want to override where the player's model is rendered.
Any help is greatly appreciated. Thanks!
As a workaround you can use a VMatrix and set it translation to your desired position, like this:
local matrix = Matrix()
matrix:SetTranslation(Vector(0, 0, 0))
ply:EnableMatrix(“RenderMultiply”, matrix)
Okay, so far I have a working fix. I first tried what you suggested MrJegor_N, which kind of worked but the result was pretty janky. So I investigated further and some digging and testing I had Entity.SetNetworkOrigin working great. However it can't be used after the player is drawn, so I have the functionality placed under GM.PreDrawOpaqueRenderables. So now when a player gets dive tackled, their network origin on the client gets interpolated to the tackler's position, giving the effect I've wanted.
Here's a comparison video: the first part is with the fix, and the one after is without the fix (what I started with)
https://www.youtube.com/watch?v=SwOsG0Fmaqg&feature=youtu.be
Sorry, you need to Log In to post a reply to this thread.