Как удалить мерцание с Unity + Socket.io - PullRequest
0 голосов
/ 26 марта 2020
  [1]: https://i.stack.imgur.com/ivxzI.gif

[Вопрос]

Hello, I am making a game using Unity and socket.io.
As a result of building on mobile, there is a stuttering phenomenon like the attached gif.
Is there a way to keep motion or reduce server delays?

[Код серверной стороны]

socket.on('updatePosition', (data) => {
player.position.x = data.position.x;
player.position.y = data.position.y;

    socket.broadcast.emit('updatePosition', player);
});

[Код Unity для отправки новой позиции]

player.position.x = Mathf.Round(transform.position.x * 1000.0f) / 1000.0f;
player.position.y = Mathf.Round(transform.position.y * 1000.0f) / 1000.0f;
networkIdentity.GetSocket().Emit("updatePosition", new JSONObject(JsonUtility.ToJson(player)));

[ Код Unity для получения новых данных]

string id = removeQuotes(E.data["id"].ToString());
float x = E.data["position"]["x"].f;
float y = E.data["position"]["y"].f;
NetworkIdentity ni = serverObjects[id];
ni.transform.position = new Vector3(x, y, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...