2016-02-13 2 views
0

Mon jeu 2D a 3 caractères dont chaque personnage possède 7 types d'animation qui sont contenus dans de nombreuses images. Ce sont environ 1050 images (sprites) pour toutes les animations de 3 caractères. Je fais un atlas par ces sprites mais en ce moment c'est autour de 60 atlas de 2048x2048 au format compressé.De nombreux sprites doivent être chargés sur des appareils mobiles dans unity3D

Donc, sur certains appareils que j'ai testés, le jeu n'est pas chargé mais sur d'autres appareils. Je pense que c'est à cause de trop nombreux atlas qu'ils ne peuvent pas charger sur ces appareils mobiles en RAM. J'ai essayé de rendre ces images aussi petites que possible et de les mettre dans l'atlas mais comme je l'ai dit avant le nombre d'atlas est de 60 et je ne peux pas réduire le nombre d'images ou la taille de celles-ci.

Que pensez-vous les gars et que puis-je faire?

+0

Avez-vous besoin de TOUTES les images tout le temps? Sinon, chargez simplement l'atlas actuellement nécessaire + tout ce dont vous avez besoin pour les prochaines images de rendu, puis purgez agressivement les images chargées lorsque vous n'en avez plus besoin. – JustSid

+0

En fait, Unity3D le fait automatiquement. Donc je n'ai pas besoin de contrôler les atlas de rendu. – ATHellboy

Répondre

0

Il existe une limitation dans les périphériques mobiles pour le nombre d'images pouvant être chargées dans le RAM. C'est une mauvaise idée d'importer votre sprite avec la dimension 2048 * 2048 puis de les compresser à quelque chose comme 512 * 512. Vous devez réduire la taille de ces sprites dans un programme d'édition d'image, puis vous pouvez joindre 16 512 * 512 images et créer un sprite 2048 * 2048. Maintenant, il suffit de charger 1 image dans le RAM mobile au lieu de 16 images.

+0

Ces atlas sont 2048x2048. Je fusionne quelques sprites en une image 2048x2048 :) – ATHellboy