←
JEU VIDEO
LEVEL 1 « SENSIBILISATION »
Notion essentielle : Flot de production
Compression des images
Format d'entrée : BMP, JPG, PNG, PSD, TGA
Format optimisé par plateforme : spécifique matériel (GPU).
Conversion automatique au moment du build par l'outil (Unreal Engine, Unity, Construct2)
PC - console
S3 Texture Compression
DXT1 (directX 9) ou BC1 (DirectX 10+) ou S3TC (opengl)
DXT5 ou BC3 ou S3TC (avec alpha)
Compression avec perte (lossy)
Format propriétaire breveté, support d'opengl via extension S3TC
BC6H (directX 11+) ou BPTC (OpenGL 4.2+)
Pour les écrans qui supporte le HDR (high-dynamic range color space)
Compression avec perte (lossy)
BC7 (directX 11+) ou BPTC (OpenGL 4.2+)
Meilleur qualité
Nécessite plus de mémoire
Android
ETC1 - Android 2.2+, OpenGL ES 2.0 (pas d'alpha)
ETC2 - Android 4.3+, OpenGL ES 3.0
PVRTC - GPU PowerVR SGX530/540 (Motoral DROID, Samsung Galaxy)
PVRTC2 - GPU PowerVR series 5X
S3TC/DXT - GPU Nvidia Tegra2
ATC - GPU Adreno (HTC Nexus One, EVO)
ASTC - Android 5.0+, OpenGL ES 3.1
Source :
https://frozenfractal.com/blog/2017/2/20/texture-compression-on-mobile-demystified/
iOS
ETC1 - iOS7, OpenGL ES 3.0 (pas d'alpha)
ETC2 - iOS7, OpenGL ES 3.0
PVRTC - All iOS devices
PVRTC2 - Nope !
ASTC - iOS 8+ avec processeur A8
Source :
https://frozenfractal.com/blog/2017/2/20/texture-compression-on-mobile-demystified/
WebGL
Cf. slides précédentes, par matériel !
DXT (desktop) + PVRTC (iOS) + ETC1 ou ETC2 (Android)
Avec Unity 2017.3 on ne peut choisir que DXT pour WebGL…
Ressources
http://ithare.com/game-graphics-101-textures-uv-mapping-and-texture-filtering/
Dans Unity
Pour chaque texture, configurer finement les paramètres d'importantation (max size, compression et format)
Compression de l'audio
Format compressés :
PCM (meilleure qualité)
ADPCM (meilleur compromis) pour les sons courts et fréquents
Vorbis ou mp3 moins bonne qualité, meilleurs gains de compression
AAC ou OGG (en WebGL) pour le meilleur support navigateurs
Compression du build
Très dépendant de la plateforme et du moteur de jeu
Textures : paramétrer finalement la compression + possibilité de livrer un format très compressé (ex: PNG), puis recompresser à l'installation.
Mesh et animations: il est possible de compresser les modèles 3D + animations (lossy).
Scripts : attention à ne pas inclure de code mort ou de dépendances non utilisées.
Audio : paramétrer finalement la compression.
Lire les logs de build ! (sur Unity, Fenêtre Console => petite menu en haut à droite => Open Editor Log)