- 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
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                