getnamo / leap-ue4

Leap Motion plugin for Unreal Engine 4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Convenience Actors Don't Replicate Correctly

aaronsnoswell opened this issue · comments

Hi @getnamo. Thanks for this great plugin.

I'm trying use this plugin to give networked VR pawns their own Leap Motion controlled hands.

At the moment, I'm using UE4.13 Preview 2 and the Oculus CV1 (I've also tested with UE4.12 and had the same results).

I have modified the HMDLocomotion pawn to add a LeapEchoRiggedHandsActor as a Child Actor on the camera. When running a single instance of the game on one computer, this works great, I can see some rigged and animated hands thanks to the Leap Motion. When I package and run the project on two different computers, one hosting and one as a client, my network session blueprints work correctly - both players can see each other, and can see hands on the VR pawns, but the hand animations for all VR pawns are driven by the local player's leap motion device.

I want a way to configure the Leap Controller, or LeapEchoRiggedHandsActor class so that locally controlled rigged hands are correctly driven by the local leap controller, and remotely controlled rigged hands are correctly replicated by the server.

I am happy to help with finding a solution to this bug - however I don't know much about how animation blueprints work, so am stuck at the moment. Any suggestions?

NB: This question is a re-post from my UE4 AnswerHub question.

I'm not entirely sure where the network replication fails, but for some reason the network barrier I tried putting in 4.12 doesn't work. Ideally this should all happen in C++ but you can do it in blueprints if you follow https://www.unrealengine.com/blog/blueprint-networking-tutorials

This isn't going to be a focus for me for a bit of time, but you could also try to take any lessons from the vrexpansion plugin, which supports networked hmd and controllers: https://bitbucket.org/mordentral/vrexpansionplugin (replicated camera header: https://bitbucket.org/mordentral/vrexpansionplugin/src/5b45f4f89518ed697e6ab4846ef65f34d260e5dd/Source/VRExpansionPlugin/Public/ReplicatedVRCameraComponent.h?at=default&fileviewer=file-view-default)

Hey, I was going to take a look into this from the c++ side, as I think we're seeing the same issue still. Is the above still valid? Many thanks in advance.