Bonjour, je débute sur Unity. Je souhaite afficher un background pour mon jeu 2D, donc j'ai créé un sprite 2D et je l'ai redimensionné grossièrement pour que l'image prenne les dimensions de la caméra (qui ne bouge pas).
Cependant lorsque je change la résolution du jeu, la caméra s'adapte mais mon image est fixe. Moi j'aimerais qu'elle prenne les dimensions de cette caméra (ou de l'écran vu que c'est les mêmes tailles du coup).
Je sais que c'est possible en utilisant l'UI et les canvas mais je voudrais fais sans, car dans mon jeu je crée des zones en fonction des éléments de mon background, ces zones sont enfants de l'image donc si je redimensionne l'image elles s'adaptent sans problème, ce qui n'est pas le cas si je met l'image dans l'UI.
Pourriez-vous m'aider svp ?
[RESOLU] Afficher un sprite 2D sur tout l'écran
-
- Messages : 4
- Inscription : 15 Juin 2019 22:26
Re: Afficher un sprite 2D sur tout l'écran
Hello,
Là d'instinct, je partirais sur une adaptation de la taille de ton image sur la résolution de la camera.
Donc si ta camera en mode ortho est en x/y = 0 et que ton Sprite servant de fond est lui aussi en 0,0 (scale = 1)
un code du genre (placé sur le GO servant de BackgroundSprite) devrait fonctionner:
A adapter selon les besoins.
Là d'instinct, je partirais sur une adaptation de la taille de ton image sur la résolution de la camera.
Donc si ta camera en mode ortho est en x/y = 0 et que ton Sprite servant de fond est lui aussi en 0,0 (scale = 1)
un code du genre (placé sur le GO servant de BackgroundSprite) devrait fonctionner:
Code : Tout sélectionner
void Awake()
{
SpriteRenderer sp = GetComponent<SpriteRenderer>();
float width = sp.sprite.bounds.size.x;
float height = sp.sprite.bounds.size.y;
float worldScreenHeight = Camera.main.orthographicSize * 2.0f;
float worldScreenWidth = worldScreenHeight / Screen.height * Screen.width;
Vector3 lsc = transform.localScale;
lsc.x = worldScreenWidth / width;
lsc.y = worldScreenHeight / height;
transform.localScale = lsc;
}
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
-
- Messages : 4
- Inscription : 15 Juin 2019 22:26
Re: Afficher un sprite 2D sur tout l'écran
C'est parfait ça marche niquel merci !