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

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
22685-mecanimnetwork.jpg