Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 2 sur 3 PremièrePremière 123 DernièreDernière
Affichage des résultats 31 à 60 sur 75
  1. #31
    J'ai une question liée à un tutoriel que j'ai regardé (toujours ceux de Casanis) :

    Le gars explique qu'il utilise "velocity" pour déplacer son personnage alors qu'il ne devrait pas. J'ai donc cherché un peu la différence avec "translate". Donc si j'ai bien compris les discussions sur le forum Unity, translate n'a pas besoin de rigidbody (ni du moteur physique) et économise donc les ressources, alors que velocity requiert rigidbody et serait donc plus gourmand. C'est ça ? Donc ça veut dire qu'il vaut mieux utiliser transform.translate pour éviter d'utiliser systématiquement des rigidbody ?
    Vous avez des habitudes particulières, vous, pour ce genre de choses ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  2. #32
    A mon sens, tu utiliseras un rigidbody quand tu en auras véritablement besoin.
    Commences le plus simple possible et ensuite tu pourras toujours compliquer au fur et à mesure que tu apprends et maîtrises les choses.

  3. #33
    Citation Envoyé par Ashley TOUCRU Voir le message
    J'ai une question liée à un tutoriel que j'ai regardé (toujours ceux de Casanis) :

    Le gars explique qu'il utilise "velocity" pour déplacer son personnage alors qu'il ne devrait pas.
    Au contraire, normalement tu ne translate jamais un objet rigidbody non-kinematic (ou définis directement sa vitesse), tu lui applique les forces nécessaire pour le faire bouger comme tu le veux. Je crois que ça a été amélioré avec une version récente d'Unity 5 mais en plus d'effet indésirable, faire un translate sur un rigidbody demandait au moteur physique de recalculer plein de trucs, ce qui était très lent niveau temps d'exécution.

  4. #34
    OK, bon. Merci pour les infos. Comme le dit Grosnours, je verrai quand j'en aurai besoin. Je n'en suis qu'à découvrir des tutos.
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  5. #35

  6. #36
    Aw yeah le tile map, cool!
    Le premier chef d'œuvre d'une longue série, cliquez ici
    Le second, cliquez

  7. #37


    We have also added an Edge-Radius property for BoxCollider2D & EdgeCollider2D components


    Tile Map


    Dommage que ca arrive tardivement .

  8. #38
    On ne réalise l'intérêt des nouvelles features que si elles nous ont manqué par le passé ^^
    @Grhyll / 3-50.net
    Projet actuel : oQo

  9. #39
    Le tilemap c'était un des trucs qui m'empêchaient d'envisager Unity pour tous mes jeux en 2D

  10. #40
    Ah c'est dommage, il y avait déjà plusieurs packs sur l'asset store qui le proposaient, il me semble ! (Peut-être des payants ceci dit.)
    @Grhyll / 3-50.net
    Projet actuel : oQo

  11. #41
    Citation Envoyé par Metalink Voir le message
    Le tilemap c'était un des trucs qui m'empêchaient d'envisager Unity pour tous mes jeux en 2D
    Je n'ai encore rien produit de concret, mais j'avoue que j'étais étonné de ne voir nulle part ce genre d'outil dans un logiciel où la grille semble être la base.
    Sinon, concernant le Edge Radius Collider, je me trompe ou c'est notamment ce qui pourrait éviter que des collisions "bloquent" le déplacement d'un objet en s'accrochant dans un autre objet ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  12. #42
    Pour la tilemap, j'utilise déjà ma propre solution avec Tiled. Mais la version d'Unity semble être beaucoup plus intéressante. A essayer .

    Concernant le Edge Radius Collider, ca permet surtout de grossir la zone de collision de certains hitbox... donc celui du EdgeCollider2D, qui n'est qu'un simple trait à l'origine: un objet rapide et petit peut passer à travers très facilement. Ce qui est fort dommage, car ce composant est très pratique pour dessiner les zones de collision d'une map.
    Maintenant, en y ajoutant une largeur au trait, les objets auront moins tendance à passer à travers .

  13. #43
    Ça tombe bien je vais avoir besoin du 9-slice incessamment sous peu.

  14. #44
    Citation Envoyé par Louck Voir le message
    Pour la tilemap, j'utilise déjà ma propre solution avec Tiled. Mais la version d'Unity semble être beaucoup plus intéressante. A essayer .

    Concernant le Edge Radius Collider, ca permet surtout de grossir la zone de collision de certains hitbox... donc celui du EdgeCollider2D, qui n'est qu'un simple trait à l'origine: un objet rapide et petit peut passer à travers très facilement. Ce qui est fort dommage, car ce composant est très pratique pour dessiner les zones de collision d'une map.
    Maintenant, en y ajoutant une largeur au trait, les objets auront moins tendance à passer à travers .
    Ah OK, merci pour l'explication.

    - - - Mise à jour - - -

    Citation Envoyé par Grosnours Voir le message
    Ça tombe bien je vais avoir besoin du 9-slice incessamment sous peu.
    Ça a l'air vachement intéressant pour se créer des Prefab à volonté.
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  15. #45
    Dites, les amis...

    Je me pose (encore) une question. J'ai commencé à réaliser quelques éléments graphiques pour tester des trucs, mais je me pose toujours une question liée à la taille (si, ça compte, parfois. ) : considérant que j'imagine un jeu jouable en plein écran soit une résolution "standard" de 1920x1080, ça signifie que ma fenêtre de travail fait cette résolution. Mais du coup, pour un plate-former à scrolling horizontal, ça signifie que, pour réaliser un niveau entier, je dois faire en sorte que le décor qui défile mesure le nombre de largeurs d'écran x 1080 de haut ? Ca fait un fichier sacrément énorme, ça ! Je suppose qu'il est important de réutiliser un maximum d'éléments graphiques pour que le calcul soit moins compliqué pour le rendu final, non ? Du coup, je comprends mieux les screens de OTOT postés récemment. Ou alors j'ai rien compris du tout.
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  16. #46
    En fait, tu ne vas pas faire un gros élément pour couvrir tout l'écran. Tu auras plusieurs éléments que tu disposeras à l'écran, certains que tu répéteras (les plateformes où tu sautes), d'autres que tu feras défiler en boucle (paysage en parallax par exemple, ou bien des nuages...), etc...
    Bref au final, ce n'est pas des images de 1920x1080 que tu affiches à l'écran mais un assemblage de plusieurs petites images (et que tu réafficheras à l'écran suivant, etc...). Ca te prendra moins de mémoire et moins de stockage et ce sera aussi plus rapide à charger/afficher (car tu charges une fois en mémoire la petite image et après tu la place plusieurs fois).

    Après je ne travaille pas dans le jeu vidéo alors je dis peut-être n'importe quoi

  17. #47
    Citation Envoyé par Poussin Joyeux Voir le message
    En fait, tu ne vas pas faire un gros élément pour couvrir tout l'écran. Tu auras plusieurs éléments que tu disposeras à l'écran, certains que tu répéteras (les plateformes où tu sautes), d'autres que tu feras défiler en boucle (paysage en parallax par exemple, ou bien des nuages...), etc...
    Bref au final, ce n'est pas des images de 1920x1080 que tu affiches à l'écran mais un assemblage de plusieurs petites images (et que tu réafficheras à l'écran suivant, etc...). Ca te prendra moins de mémoire et moins de stockage et ce sera aussi plus rapide à charger/afficher (car tu charges une fois en mémoire la petite image et après tu la place plusieurs fois).

    Après je ne travaille pas dans le jeu vidéo alors je dis peut-être n'importe quoi
    Oui, ta réponse confirme ce que j'ai commencé à préparer : beaucoup de préfab qui seront réutilisés an grande quantité. Mais la question que je me posais portait surtout sur le décor de fond, qui occupe forcément la totalité de l'écran de jeu… ce qui signifie répéter des fonds de grande taille et en grande quantité. Compte tenu qu'on défile horizontalement, ça représente un paquet de pixels sur la totalité du jeu, et un bandeau immense dans Unity. Même en répétant les mêmes sprites, ça ne risque pas de râmer rapidement ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  18. #48
    Après, tu peux faire un script qui va faire en sorte d'instancier/détruire les fonds qui doivent être affichés. Tu regardes la position de la caméra ainsi que sa taille, et tu en déduis à quel position tu dois placer tes fonds.
    Citation Envoyé par oll Voir le message
    Et allez, un de plus qui me fout dans sa signature...
    longwelwind.net

  19. #49
    C'est même complètement obligé de faire ça, il faut que tu découpes ton background en un maximum d'éléments, pour pouvoir en tirer un max de chose réutilisable que tu vas instancier quand il faut , et si ça sort du champs, HOP on détruit. Et pour des éléments que tu estime "grand", il suffit par exemple pour une longue bande ou l'on voit le ciel et l'horizon, d'en faire une petite qui va défiler et boucler a l'infini jusqu'a ce que ça doit changer, si ton niveau fait 20 écran de large par exemple, le ciel ne doit pas en faire plus de 2, et c'est le code qui se chargera d'instancier ce ciel derrière le joueur au moment qui va bien et de détruire les morceaux inutiles.

    Je que l'homme de la situation. Je que dossier bleu et vous sur une centaine de tableaux très clairs.
    Vous semaine prochaine et sans faute. Je tellement sur vous... Je clair Luc ne pas ?
    Le premier chef d'œuvre d'une longue série, cliquez ici
    Le second, cliquez

  20. #50
    Citation Envoyé par Poussin Joyeux Voir le message
    En fait, tu ne vas pas faire un gros élément pour couvrir tout l'écran. Tu auras plusieurs éléments que tu disposeras à l'écran, certains que tu répéteras (les plateformes où tu sautes), d'autres que tu feras défiler en boucle (paysage en parallax par exemple, ou bien des nuages...), etc...
    Bref au final, ce n'est pas des images de 1920x1080 que tu affiches à l'écran mais un assemblage de plusieurs petites images (et que tu réafficheras à l'écran suivant, etc...). Ca te prendra moins de mémoire et moins de stockage et ce sera aussi plus rapide à charger/afficher (car tu charges une fois en mémoire la petite image et après tu la place plusieurs fois).

    Après je ne travaille pas dans le jeu vidéo alors je dis peut-être n'importe quoi
    Une solution courante, c'est d'utiliser des tiles : des éléments, tous de la même taille, carrés, avec lesquels on va remplir l'écran.
    On utilise un tileset, une grosse image sur laquelle se trouvent tous les tiles (ou un set de tiles prédéfinis, par exemple le background d'un niveau donné) et où la position de chaque tile est connue (par exemple en (1,1) c'est du ciel, en (1,2) du gazon, etc)

    C'est par exemple comme ça que fonctionnent les marios de la NES, avec en plus une notion de tile blocante ou pas, puisqu'il y en a pour l'arrière-plan, et d'autres pour des obstacles au premier plan - bien évidemment, on ne superpose pas une tile de premier plan par-dessus une tile d'arrière-plan, puisque celle en arrière plan ne sera jamais visible.


  21. #51
    OK, merci, j'y vois plus clair sur le principe. Je l'avais déjà assimilé, mais il faut encore que je m'efforce de l'appliquer de manière systématique sur les éléments que j'ai réalisés. Je posterai bientôt un visuel pour vous montrer où j'en suis et qui vous permettra à coup sûr de pointer rapidement tout ce que je dois modifier/améliorer. Et ça risque de signifier de tout reprendre.
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  22. #52
    Si ça t'intéresse et que j'y pense, je te ferai ce week-end une petite capture de mon dernier petit shoot-them-up qui tourne, sur laquelle on voit les éléments se faire ajouter devant/disparaître derrière !
    @Grhyll / 3-50.net
    Projet actuel : oQo

  23. #53
    Citation Envoyé par Grhyll Voir le message
    Si ça t'intéresse et que j'y pense, je te ferai ce week-end une petite capture de mon dernier petit shoot-them-up qui tourne, sur laquelle on voit les éléments se faire ajouter devant/disparaître derrière !
    Ouais, bien sûr que ça m'intéresse. Tout est bon à prendre quand on ne sait rien. Justement, ce sytème de choses qui "disparaissent", ça se fait au niveau du code, du coup ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  24. #54
    Yep.
    A chaque Update, tu regardes la position actuelle de la caméra. Tu la traduis en coordonnées par rapport à la taille de ton background (Si elle se trouve en x = 900 et que ton background fait 400px, tu es a la coordonée x = 3).
    Tu sais donc que tu doit créer des backgrounds centrée autour de x = 3*400 = 1200. Si l'écran fait 1920 pixels de large, tu sais que tu dois faire 5 backgrounds (1920 divisé par 400 arrondi au-dessus).
    Tu crées donc des backgrounds à ces positions.

    Tu retiens dans un Dictionary ceux que tu viens de crées, pour qu'à la prochaine Update, ton code vérifie si un background n'a pas déjà été fait.
    Citation Envoyé par oll Voir le message
    Et allez, un de plus qui me fout dans sa signature...
    longwelwind.net

  25. #55
    Citation Envoyé par Longwelwind Voir le message
    Yep.
    A chaque Update, tu regardes la position actuelle de la caméra. Tu la traduis en coordonnées par rapport à la taille de ton background (Si elle se trouve en x = 900 et que ton background fait 400px, tu es a la coordonée x = 3).
    Tu sais donc que tu doit créer des backgrounds centrée autour de x = 3*400 = 1200. Si l'écran fait 1920 pixels de large, tu sais que tu dois faire 5 backgrounds (1920 divisé par 400 arrondi au-dessus).
    Tu crées donc des backgrounds à ces positions.

    Tu retiens dans un Dictionary ceux que tu viens de crées, pour qu'à la prochaine Update, ton code vérifie si un background n'a pas déjà été fait.
    J'ai pas vraiment tout saisi dans le détail, 'faudrait que j'essaie pour me rendre compte. Mais je pense avoir compris le principe. Pour le Dictionary, je pense que c'est bien trop tôt pour que je comprenne.
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  26. #56
    Un dictionnary c'est un tableau en mieux tkt.
    Le premier chef d'œuvre d'une longue série, cliquez ici
    Le second, cliquez

  27. #57
    Le gif promis (50Mo la bête) :

    https://www.dropbox.com/s/o7o2kt9b1m...anePool.gif?dl

    On voit les vagues, et un peu les nuages, qui disparaissent une fois hors-champs et réapparaissent devant. En plus de faire cette rotation, tu noteras que je n'en recréée pas de nouveaux : j'en ai une réserve, je les disable quand je n'en ai pas besoin et je les reenable quand il faut de nouveau en afficher.

    Et en bonus, le script qui fait ça :

    Code:
    using UnityEngine;
    using System.Collections.Generic;
    
    public class TilesSpawner : MonoBehaviour
    {
    	public GameObject prefab;
    
    	public float parallaxLevel = 0;
    
    	float parallaxSpeed;
    
    	GroundTile lastTile;
    
    	List<GroundTile> currentTiles;
    
    	// Use this for initialization
    	void Start () 
    	{
    		currentTiles = new List<GroundTile>();
    		
    		parallaxSpeed = CameraManager.Instance.speed*parallaxLevel/100f;
    
    		GroundTile[] previousTiles = GetComponentsInChildren<GroundTile>();
    		for(int i = 0; i < previousTiles.Length; i++)
    		{
    			previousTiles[i].DisableEntity();
    			GameObject.Destroy(previousTiles[i].gameObject);
    		}
    
    		InitTiles();
    	}
    
    	void InitTiles()
    	{
    		currentTiles.Clear();
    
    		int tilesCount = 0;
    
    		lastTile = (GroundTile) Spawn();
    		lastTile.transform.SetParent (transform);
    		currentTiles.Add(lastTile);
    
    		do{
    			tilesCount = currentTiles.Count;
    			Update();
    		}while(currentTiles.Count > tilesCount);
    	}
    	
    	// Update is called once per frame
    	void Update () 
    	{
    		if( (parallaxLevel < 100 
    		     && lastTile.transform.position.x + lastTile.width/2f < CameraManager.Instance.GetScreenCenterPosition().x + CameraManager.Instance.cameraWidth + 20)
    		   || (parallaxLevel > 100
    		    && lastTile.transform.position.x - lastTile.width/2f > CameraManager.Instance.GetScreenCenterPosition().x + CameraManager.Instance.cameraWidth + 20) )
    		{
    			float sign = (parallaxLevel < 100 ? 1f : -1f);
    			Vector3 lastTilePosition = lastTile.transform.position;
    			lastTilePosition.x += sign * lastTile.width/2f;
    			
    			lastTile = (GroundTile) Spawn();
    			lastTilePosition.x += sign * lastTile.width/2f;
    			lastTile.transform.position = lastTilePosition;
    			lastTile.transform.SetParent (transform);
    			currentTiles.Add(lastTile);
    		}
    		for(int i = 0; i < currentTiles.Count; i++)
    		{
    			if(currentTiles[i].readyToUse)
    			{
    				currentTiles.RemoveAt(i);
    				i--;
    			}
    		}
    	}
    
    	void FixedUpdate()
    	{
    		if(parallaxLevel != 0)
    		{
    			for(int i = 0; i < currentTiles.Count; i++)
    			{
    				Vector3 newPosition = currentTiles[i].transform.position;
    				newPosition.x += parallaxSpeed*Time.fixedDeltaTime;
    				currentTiles[i].transform.position = newPosition;
    			}
    		}
    	}
    
    	protected virtual PoolableEntity Spawn()
    	{
    		return PoolManager.Instance.Get(prefab, transform.position);
    	}
    }
    @Grhyll / 3-50.net
    Projet actuel : oQo

  28. #58
    Citation Envoyé par Grhyll Voir le message
    Le gif promis (50Mo la bête)
    Merci à toi. J'avais compris le principe, mais là je vois la mise en œuvre. 'Faudra que je voie ce que ça donne quand je me lancerai dans l'animation proprement dite car je n'avais pas du tout vu cela comme ça.
    Sinon, histoire d'avancer quand même, j'ai peaufiné ce week-end mes éléments graphiques dans Illustrator, que j'ai retravaillés pour les découper plus facilement. J'aurai bientôt, je l'espère, une base correcte pour tester des choses dans Unity.
    D'ailleurs, je ne parviens pas à me souvenir du nouvel outil de grille qui est apparu dans Unity récemment. Quelqu'un peut me dire comment on y accède, svp ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  29. #59
    Salut les amis !

    Je reviens à la charge ! J'ai avancé sur les graphismes de mon embryon de premier niveau de jeu et j'en suis rendu à un point où je vais devoir bientôt -ou pas- mettre les mains dans le cambouis pour essayer tout ça dans Unity.
    J'ai réalisé les visuels en vectoriel sous Illustrator, et je me pose une question :
    Sous quel format dois-je exporter mes sprites ? SVG ? Png 8 ou 24 ? Doit/Peut-on utiliser des Jpeg pour les fonds opaques ?
    www.infotographiste.fr - Instagram : florent.infotographiste - Si ça doit merder, ça merdera…- PC Ryzen 3700X+32GB+XFX 5700XT ThicIII Ultra - Panasonic G9 + Leica 8-18mm + Olympus 60mm macro ou Mamiya C220 (Gx7 + Panasonic 14mm en secours)

  30. #60
    Alors je suis pas trop dans le côté graphique de la force, mais de mémoire :
    - Le svg n'est pas nativement supporté par Unity (pas 100% sûr, et pas impossible qu'il existe des plugins)
    - PNG c'est nickel
    - Jpeg c'est possible aussi
    Ceci dit ça doit pas être trop compliqué à vérifier sur internet, tout ça !
    @Grhyll / 3-50.net
    Projet actuel : oQo

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •