That’s wonderful to hear, and congratulations on your physics replication Victory!
Hee hee!
That’s wonderful to hear, and congratulations on your physics replication Victory!
Hee hee!
Woo necro time again
Love your work - It’s a joy watching you succeed haha.
Just a quick one about your structure for the proxies. Am I correct in assuming that the actual player and the proxy both exist in the same pawn, and utilize the “Owner only see” and “owner no see” type functionality? Or are proxies separate actors?
I’m trying to get this to work with my game with rolling balls, but I’m having issues with my actor not ticking on the client.
void ABallPawn::Tick(float DeltaTime) {
Super::Tick(DeltaTime);
if (IsLocallyControlled()) {
UE_LOG(LogTemp, Warning, TEXT("TICK LOCAL"));
} else {
UE_LOG(LogTemp, Warning, TEXT("TICK NON-LOCAL"));
}
}
"TICK NON-LOCAL" is spammed in the console, but "TICK LOCAL" is never logged. Any idea why this is?
Necro bump have some q’s for too
Great piece of achievement… but is it available to download anywhere?
No, but it’s also client-authoritative so should be easy to reproduce.
I posted my Networked PhysX Component source code on GitHub here: https://github.com/TheJamsh/UE4-Networked-PhysX-Component
You can flip the ‘Client Authoritative Position’ option to simulate what has done. The Server-Side correction isn’t quite ready in that component yet, I’m still working on the source code.
Hey, Glad to have seen this thread - The suggestion of force+lerp really helped me out
The bike is a complex physics rig (made in ue4 editor with physics constraints and bp…)
The networking too, is just BP for now.
Just to be clear - this is totally server-authorative, but the client runs the full sim, has information on all players current actions, and pulls them (gently) towards where they should be - the only time this seems problematic is when ping is >~200 or if a player hits an object that is not net synced! (which in a real level, there should probably not be any)
Not sure if I demoed it in the video, but there is a “jump” button, which works correctly.
After trying using the default replication system, I must say, I understand and share in Ramas happiness at being able to interact well over a network!
There is still lots of room for improvement - but I think this will now mostly become a side task, while working on other things
Hi, I’ve downloaded your github project but during compile gave me these errors:
>c:\program files (x86)\epic games\4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(662): error C2280: ‘FPawnMovementPostPhysicsTickFunction &FPawnMovementPostPhysicsTickFunction::operator =(const FPawnMovementPostPhysicsTickFunction &)’: tentativo di fare riferimento a una funzione eliminata
1>c:\users\admin\documents\unreal projects\ue4-networked-physx-component-master\source
tgame\Classes/NTGame_MovementTypes.h(203): note: il compilatore ha generato ‘FPawnMovementPostPhysicsTickFunction::operator =’ in questo punto
1>c:\program files (x86)\epic games\4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(997): note: vedere il riferimento all’istanza ‘<Sconosciuto>’ della funzione <Sconosciuto> di cui è in corso la compilazione
1>c:\program files (x86)\epic games\4.15\engine\source\runtime\coreuobject\public\UObject/Class.h(996): note: durante la compilazione della funzione membro ‘<Sconosciuto>’ di modello <Sconosciuto>
1>C:\Users\admin\Documents\Unreal Projects\UE4-Networked-PhysX-Component-master\Intermediate\Build\Win64\UE4Editor\Inc\NTGame\NTGame.generated.cpp(59): note: vedere il riferimento all’istanza ‘<Sconosciuto>’ di modello <Sconosciuto> di cui è in corso la compilazione
1>ERROR : UBT error : Failed to produce item: C:\Users\admin\Documents\Unreal Projects\UE4-Networked-PhysX-Component-master\Binaries\Win64\UE4Editor-NTGame-9017.dll
1>Total build time: 90,94 seconds (Local executor: 0,00 seconds)
Is is italian but I think you can help understand what’s going on
thx
Great, thanks a lot… I will give it a spin in a day or two…
I am also looking at Blueman’s work too… thanks to both of you.
Hi, I have a simpler problem, but I’m surprized that I can’t find any information about it so far. Well, maybe one old thread, which focuses on C++ solution, and even that solution is outdated, apparently, based on comments.
I just need server-authorative sync of physics ragdolls, just the same as it would be with any other physics objects. Enemies in my game fall apart into multiple big parts, upon death, sometimes constrained sometimes not, and these parts can then hit pleayers or other enemies, or block their paths.
So these ragdolls should not even have a lot of objects in them to sync, we’re talking about like 3-5 simulated ragdoll bones per character (characters have more, but I only use 3-5 simulated bodies in a ragdoll).
Is it possible to achieve something like that with blueprints?
What nodes should I use to get current ragdoll’s position and set it? Keeping in mind using skeletal mesh with animation (when it’s alive :), no physical animation, however syncing that would be awesome as well).
Thanks.
It’s awsome, i’ve always been looking for something like this thanks .
Hey ,
I’m trying to make a Multiplayer game which has rolling ball as a playable character.
Can you help me out here ? I would love to have this code.
Hi , are you sharing or selling your solution to replicating physics in multiplayers? I see in your video that you’ve solved this years ago but I’ve not got this working myself yet. Thanks. Leigh
's solution was client-authoritative, so all you need to do is send input and movement to the Server.
I saw this too, you need to add
template<>
struct TStructOpsTypeTraits<FPawnMovementPostPhysicsTickFunction> : public TStructOpsTypeTraitsBase
{
// in 4.16 changed to TStructOpsTypeTraitsBase2
enum { WithCopy = false };
};
below the USTRUCT FPawnMovementPostPhysicsTickFunction
Hey, can someone help me because I can’t find any download page for this or any GitHub pages? Has the link been removed or am I just brain dead and there is no link.
+1. Where is this tech download?
The solution was client-authoritative anyway, so you don’t really need it anymore.
Make the root component of your pawn a skeletal mesh, and uncheck “replicate physics to autonomous proxy” in the skeletal mesh settings. Voila, instant client-auth physics. As with any solution, you still need to send the physics state to the server so it stays up to date.
Wow amazing! could you upload the source code? or explain how to do this? i really need this for a game Im working on, i can pay you if you’d like
Interesting, any clarification on the flow of this?
Client A moves body and updates server lets say.
Client B doesn’t know Client A moves unless server tells them so?
Doesn’t that make Client B Server Authoritative or not really since the origin of the results was from Client A but in any case the results still comes from the server?
How does that help though if still most Clients are getting results from server? IN what way does the client-authoritative way solve the problem exactly?