how to use SetSynchronizedValues()

Options
Hi, I am trying to get a smooth movement of my player characters in multiplayer, and by reading this page http://doc.exitgames.com/en/pun/current/tutorials/rpg-movement I have decided that using Interpolare opstion SynchronizeValues with SetSynchronizedValues should be the right option as my player characters has quick direciton changes.

In my players movement script I run Move() in an Update() like this:
public void Move()
    {
        // fix decending speed issue (this makes you stop completly if you release the keys)
        if (Input.GetKey(KeyCode.W) == false &&
            Input.GetKey(KeyCode.S) == false &&
            Input.GetKey(KeyCode.A) == false &&
            Input.GetKey(KeyCode.D) == false)
        {
            runSpeed = 0;
        }
        else
        {
            runSpeed = gameObject.GetComponent<PlayerProperties>().runSpeed;
        }

        float moveH = Input.GetAxis("Horizontal");
        float moveV = Input.GetAxis("Vertical");

        Vector3 velocity = new Vector3(moveH * runSpeed, moveV * runSpeed).normalized;

        velocity *= runSpeed;

        rigidbody2D.velocity = velocity;

        gameObject.GetComponent<PhotonTransformView>().SetSynchronizedValues(velocity, 0f);
    }

In the end of this function we can see that I am trying to synchronize the velocity value (it's a 2D game and I have no turn speed) but the players are still choppy on the other client. Am I doing this right?

Comments

  • Gatsu
    Options
    the move script is placed on the player character