euh.... pour info le serveur, il connait pas les animations des perso... il va savoir juste ou tu es et ce que t'es en train de faire (marcher / taper etc).
C'est bien le serveur qui gère toutes les positions X,Y et Z des PJ sur la map non ?
Sinon tu cours le risque d'avoir des hacks de lévitation et autre téléportations.
Donc le placement en hauteur du PJ par rapport au sol doit se faire côté serveur. Et si le serveur gère la position X,Y et Z, je ne pense pas que le client ait une quelconque gestion de collision du PJ par rapport à ce qu'il affiche. La position est déjà connue alors pourquoi gaspiller du temps processeur côté client pour une info que le serveur envoi.
Et si le client ne gère pas les collisions pour le PJ, il ne peut donc pas gérer les collisions pour ce que tient le PJ en main. Logique non ? Dans ce schéma, ce serait donc au serveur de gérer la hauteur des objets par rapport au sol ce qui est franchement moyen.
Habituellement, le serveur gère pour un joueur un cylindre dans un MMORPG. Pour les collisions, il compare son cylindre aux polygones et cylindres ou cercles environnants.
Par contre pour le positionnement du PJ en hauteur, je pense qu'il ne doit comparer que la hauteur du centre de la base du cylindre par rapport à la hauteur du centre du polygone de sol sous le cylindre et les faire concorder. En gros il compare la hauteur d'un point par rapport à une surface sans se soucier de savoir si dans le cylindre, y'a pas des bouts de l'avatar qui disparaissent dans la pente de la montagne (pied, voir jambe entière enfoncés dans le sol si la pente est forte).
|