- Home /
Mecanim Network Animation State
Hi all,
I'm new to Unity Networking and currently trying to implement to synchronize the animation states for each player. But I do not really how to engage this matter. This is my idea: (note this is a rough idea taken from my original script which works in singleplayer)
//PlayerRootControl.js
function Update() {
if(networkView.isMine) {
//check animation states
if(animatorInfo.nameHash == attackHash)
isAttacking = true
else
isAttacking = false
//check other animation states, for example dashing, jumping
//check input
if(Input.GetButton("Jump"))
animator.SetTrigger("jumpTrigger");
//also for movement and actions
networkViewRPC("SendAnimationState", RPCMode.OthersBuffered);
//finally submit my animationStates to others
}
}
@RPC
function SendAnimationState(){
//Set the Animationstate for my object. But how?
//right way?
}
Or is the right way to submit everytime , for example, animator.SetTrigger to the objects in the client views?
Thanks in advance
0tacun
Answer by 0tacun · Feb 24, 2014 at 07:51 AM
OK, I got it working:
Example:
//PlayerRootControl.js
Update(){
if(networkView.isMine){
v = Input.GetAxis("Vertical");
h = Input.GetAxis("Horizontal");
networkView.RPC("SendFloat", RPCMode.AllBuffered, "dirY", v);
networkView.RPC("SendFloat", RPCMode.AllBuffered, "dirX", h);
}
}
@RPC
function SendFloat(name:String, value:float){
animator.SetFloat(name, value);
}
And don't forget to assign a NetworkView to your Player, by draging the script from the inspector
Thanks! Was looking for a way how to do it and then found your answer. I know its been a few months since this post but, is this still the way you're doing it, or did you find a better way?
Well, currently I dropped network multiplayer for my game as I did not managed to get the same results as with offline mode.
The biggest problem here is that too much traffic is produced so I had to check if there is any input at all and only then do a rpc.
I encounterd other problems but I can't really remeber, but I think most internet games serialzie the input in a string to change the position of the players or do a appriote animation.
Don't know if you had heard of Photon https://www.exitgames.com/en/Realtime, I think it is widely used as a network solution.
$$anonymous$$aybe it could be of help.
Your answer

Follow this Question
Related Questions
How can I synchronize Two Mecanim Animations? 1 Answer
Multiplayer Animating 2 Answers
Mecanim animation over network - uLink 0 Answers
Animation state Synchronization in Multiplayer 1 Answer
How to synchronize animation in Unity4.x 0 Answers