Spritesheet et optimisations différents mobiles

Toutes les questions sur le développement Mobile, y compris la partie script.
Kazuma17
Messages : 33
Inscription : 29 Août 2017 15:56

Spritesheet et optimisations différents mobiles

Message par Kazuma17 » 25 Juin 2020 12:18

Bonjour à tous ! :-D

Je développe actuellement pour mobile, avec potentiellement un portage sur PC par la suite. Je me renseigne en ce moment sur tout ce qui est spritesheet et performance, afin de réaliser un travail optimal dès le départ pour un maximum de plateforme et ne pas refaire le boulot plusieurs fois. J'ai une problématique dont je peine à trouver une réponse :

Les spritesheet doivent avoir un format POT (256x512,512x1024,1024x2048, etc.). Pour la plupart de mes personnages, je dispose de 3 animations de 10 frames chacune, soit 30 images. Ce qui se passe, c'est que j'avais commencé à créer mes spritesheet pour Android avec des sprites de 512x512, disposé en 8 images par ligne sur 4 en colonne, afin d'avoir une spritesheet quasiment complète de 4096x2048 (qui sera réduite dans Unity en fonction de la qualité graphique choisie). Parfait. Le soucis, c'est que j'ai découvert ensuite que pour IOS ça devait être du POT carré (512x512, 1024x1024, etc.), ce qui me gêne beaucoup, car je ne peux pas réduire à 2048x2048 (16 images au lieu de 30), et passer à 4096x4096 me créer une spritesheet quand même à moitié vide (30 imùages utilisées pour 64 places libres), ce qui ne me semble pas terrible. J'ai donc plusieurs solutions qui s'offrent à moi, et j'aurais besoin de vos lumières sur le meilleur choix à faire, ou sur d'autres solutions.

Je précise que mes sprites ont un format carré car leur forme l'y oblige, je sais qu'il n'y a pas de contrainte de POT à l'intérieur de la spritesheet, mais que c'est cette spritesheet elle-même qui doit être POT. Donc j'ai des sprites carrés quoiqu'il arrive.

1) Est-il préférable que je crée une spritesheet POT carrée unique pour Android + IOS en 4096x4096, quitte à avoir la moitié qui soit du pixel transparent perdu...
2) Est-ce que je complète cette espace perdu avec les 30 animations d'un autre ennemi, bien qu'il ne soit pas forcément appellé au même moment dans le jeu ?
3) Je combine les deux solutions en créant une spritesheet de 2048x4096 pour chaque ennemi pour Android, et une spritesheet 4096x4096 contenant 2 ennemis pour IOS. Mais cela fait plus de travail et toujours pas vraiment optimal pour IOS je pense.

Question bonus, en combien d'images faites-vous vos animations (non pixel art) pour qu'elles restent fluides ? Je trouve que 10 est pas mal même si je présume qu'on peut réduire assez facilement ce nombre pour gagner en perf.

Merci d'avoir pris le temps de me lire, et merci d'avance pour vos réponses ! :cote:

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »