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

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

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

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)