- Home /
Synchronize network view for transform children
what is the correct method for synchronizing transform data for child objects of NetworkInstantiated parents? I have tried both Transform and OnSerializeNetworkView, both using Reliable Delta Compressed state sync. The child transform data is not updated on any clients...
Thanks for the links Fattie :)
Tests confirm that Network.Instantiate is evil (err, automagic?) when control must be explicit. It appears that clients (or server) which introduce game objects into the network, they maintain some sort of nascent control over these objects. If control is exerted from another agent in the network, the two forces appear to "fight" each other. Perhaps I am missing something elemental here...
The "normal" RPC approach is far more intuitive and plays nicely with centralized data at the server - allowing for authoritative control if needed. The only hitch at this point is that my interpolation code isn't working properly anymore - i'll have to take a closer look at OnSerializeNetworkView() and the Network View component...
I'll post updates as I learn more :)
Answer by Fattie · Oct 16, 2012 at 08:47 AM
well there's many, many approaches. but I just do this
use the "proper" (as I'd put it) and "normal" version of the RPC call
using one line of code on each side, set the position of the puppet
I dunno if it gets easier than that! heh !
You may like to look at these two novels on the issue...
http://answers.unity3d.com/questions/326626/games-with-multiple-maps.html
http://answers.unity3d.com/questions/332027/call-a-rpc-on-all-clients-at-the-same-time.html
Hope it helps in some way!
ONE POINT for future readers ... how to instantiate individually? Say you need to have a Green ScapeShip appear on perhaps "player 3".
Simply, use an RPC (ie, a "normal !" RPC) which is like
function MakeANewSpaceShip()
and, call that routine, on that player. In other words, never use "network instantiate" just program it completely normally with your own routines ("make spaceship here" "have an enemy tank appear" .. whatever) and call those using "normal-indvidual" RPC calls.
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Multiplayer - networking without network view? 1 Answer
Sending and receiving variables trough network? 2 Answers
Networking dupplicate processing of components 0 Answers
Network View trouble. 1 Answer