Bonsoir,
N'étant pas un infographe mais touchant un peu photoshop tout de même, j'ai crée un décor a partir de 0 que je voulais integrer dans Unity
Et la je constate qu'il faudrait le scaler de XXX % , ma faute j'aurais du y penser, j'en refait un beaucoup plus gros et un peu différent, même problème obliger de le scaler.
Le problème avec ce genre de decor c'est que je ne peux pas le vectoriser, le résultat serait affreux Alors je voulais savoir, il y a des règles a suivre, des tips pour avoir un background qui prend l’intégrité de la surface de jeu sans pour autant avoir a se déformer de X fois même avec une taille monstrueuse ?
[Résolu]Background 2D - Taille/Tips ?
[Résolu]Background 2D - Taille/Tips ?
Dernière édition par Elriks le 09 Jan 2012 13:23, édité 1 fois.
- artemisart
- Messages : 1893
- Inscription : 21 Juin 2011 19:51
- Localisation : Centre
- Contact :
Re: Background 2D - Taille/Tips ?
Si une texture doit être affiché en plein écran, il faut qu'elle soit obligatoirement en 1920 x 1080p.
Si elle est plus petite, ça devient moche sur les grands écrans.
Si elle est plus petite, ça devient moche sur les grands écrans.
Re: Background 2D - Taille/Tips ?
Merci, je vais tenter de chercher une solution moins gourmande consistant a faire défiler le niveau/background en boucle plutôt que faire une surface qui fera 2 km de long
Re: Background 2D - Taille/Tips ?
Bonjour,
Ici un tutorial sur les défilements qui peut intéresser, bien que pour xna mais le principe devrait être portable.
http://www.xna-connection.com/post/Tuto ... e-avec-XNA
Ensuite, tu devrais t'en sortir pas mal avec un shader, une ou deux textures plus petites en adaptant le plane qui contiendra ton décor suivant la taille de la zone de rendu (tu peux zoomer/dezoomer en multipliant l'UV dans le vertex shader).
Déjà toute la partie haute (gradient + atténuation de l'herbe en arrière plan) peut être calculée à la volée.
Tu dois pouvoir définir en script la position du point le plus lumineux puis en fonction de la distance avec l'UV courante calculer un niveau de gris. Ensuite, tu dois pouvoir définir à partir de quand tu dois plaquer la texture herbe sur deux niveaux de profondeur : Le premier sans modification, le second avec un mélange sur le gradient calculé précédemment.
Ici un tutorial sur les défilements qui peut intéresser, bien que pour xna mais le principe devrait être portable.
http://www.xna-connection.com/post/Tuto ... e-avec-XNA
Ensuite, tu devrais t'en sortir pas mal avec un shader, une ou deux textures plus petites en adaptant le plane qui contiendra ton décor suivant la taille de la zone de rendu (tu peux zoomer/dezoomer en multipliant l'UV dans le vertex shader).
Déjà toute la partie haute (gradient + atténuation de l'herbe en arrière plan) peut être calculée à la volée.
Tu dois pouvoir définir en script la position du point le plus lumineux puis en fonction de la distance avec l'UV courante calculer un niveau de gris. Ensuite, tu dois pouvoir définir à partir de quand tu dois plaquer la texture herbe sur deux niveaux de profondeur : Le premier sans modification, le second avec un mélange sur le gradient calculé précédemment.
Prochainement sur vos écrans
Re: Background 2D - Taille/Tips ?
Merci Gabriel, mais a force de tatonner j'ai peut être trouvé une possibilité plus accessible pour avoir ce que je souhaite .
Quand tu appliques ce script sur un plane ou guiTexture avec ton background , ce dernier ce deplace a une vitesse proportionnelle a celle de la valeur de Speed :
Ce que je cherche depuis ce matin, c'est voir comment récupérer les valeurs en X de déplacement de mon joueur. Je pourrais ainsi l'appliquer en update sur le deplacement du background a la place d'une vitesse fixe (pratique pour éviter que le scrolling défile alors que tu es a l’arrêt )
En appliquant a 3 plane ce script avec un résultat différent par division du résultat du déplacement, je pourrais avoir un scrolling multiple et adapté.
Edit retour du footing (Quand le corps est fatigué le cerveau se reveille ) Je doute que ce soit optimisé niveau performance voir même si ça tiendra la route niveau fluidité mais ça marche .
Quand tu appliques ce script sur un plane ou guiTexture avec ton background , ce dernier ce deplace a une vitesse proportionnelle a celle de la valeur de Speed :
Code : Tout sélectionner
public class DeplacerObjet : MonoBehaviour {
public float Speed;
ControleJoueur getControleJoueur = new ControleJoueur();
void Update ()
{
float planeDeplacement = Speed * Time.deltaTime;
transform.Translate(Vector3.left * planeDeplacement, Space.World);
}
}
En appliquant a 3 plane ce script avec un résultat différent par division du résultat du déplacement, je pourrais avoir un scrolling multiple et adapté.
Edit retour du footing (Quand le corps est fatigué le cerveau se reveille ) Je doute que ce soit optimisé niveau performance voir même si ça tiendra la route niveau fluidité mais ça marche .
Code : Tout sélectionner
public class DeplacerObjet : MonoBehaviour {
public float Speed;
ControleJoueur getControleJoueur = new ControleJoueur();
void Update ()
{
float planeDeplacement = Input.GetAxis("Horizontal") * Time.deltaTime / 50.0f;
transform.Translate(Vector3.left * planeDeplacement, Space.World);
}
}