[Résolu] Réseau - Mouvements non fluide

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
Eanix
Messages : 62
Inscription : 08 Mai 2015 19:06

[Résolu] Réseau - Mouvements non fluide

Message par Eanix » 26 Avr 2017 13:03

Bonjour à tous et à toutes,

Je m’adresse une fois de plus vers vous car j'ai une petite question qui me démange et comme sur d'autres réseau je ne trouve jamais des réponses qui se ressemble, je vous la pose ! :-D

Donc voilà, j'ai fais un script de mouvement basique, mit un networkIdentity, networkTransform... et voilà les mouvement qui résulte chez le client quand le personnage du serveur bouge ne sont pas fluide. Auriez-vous un moyen de résoudre ce problème, soit par la config du networkTransform ou bien par code avec une fonction comme Vector3.Lerp() ? Je ne sais pas comment le résoudre :cry:

Merci d'avance !
Dernière édition par Eanix le 29 Avr 2017 13:16, édité 1 fois.
Un petit pas dans la technologie, un grand fouillis dans ma tête :hehe:

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: Réseau - Mouvements non fluide

Message par evereal » 26 Avr 2017 15:41

Tu peux essayer d'augmenter la valeur de "interpolate Movement" dans ton composant Network Transform
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

Avatar de l’utilisateur
Eanix
Messages : 62
Inscription : 08 Mai 2015 19:06

Re: Réseau - Mouvements non fluide

Message par Eanix » 27 Avr 2017 15:36

Merci pour cette réponse rapide ;-).

Malheureusement pour moi j'ai déjà essayé mais cela amplifie l'effet. En faisant l'inverse on n’obtient plus de problème mais par exemple quand je fait sauter mon personnage il fait une ligne droite :lol: , les mouvements sont donc beaucoup moins précis ce qui risque d'être embêtant dans un platformer 2D ::d .

Actuellement voici la config de mon NetworkTransform :

Image

EDIT : J'ai remis la valeur d’interpolation des mouvements à 1 comme il l'était par défaut.
Un petit pas dans la technologie, un grand fouillis dans ma tête :hehe:

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: Réseau - Mouvements non fluide

Message par evereal » 28 Avr 2017 08:52

Tu peux tenter de mettre le network send rate a 29.
Avoir une ligne droite quand tu saute vient du fait qu'unity utilise une interpolation linéaire pour synchroniser les mouvements, si tu veux un mouvement de courbe il faudra sans doute implémenter toi même la synchronisation (prédiction et reconciliation).
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

Avatar de l’utilisateur
Eanix
Messages : 62
Inscription : 08 Mai 2015 19:06

Re: Réseau - Mouvements non fluide

Message par Eanix » 29 Avr 2017 13:16

Je passe le sujet en résolu merci à toi ;). Je pense que je vais passer par une interpolation différente et si je n'y arrive pas je le ferais en augmentant le send rate.

EDIT : pour un platformer2D pensais à mettre en kinematic le rigidbody2D de tous les joueurs sauf le local pour éviter que chez un client le personnage se retrouve à partir à gauche ou dans tout autre sens à cause d'une vélocité local.
Un petit pas dans la technologie, un grand fouillis dans ma tête :hehe:

Répondre

Revenir vers « Unity le logiciel »