Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 27 sur 38 PremièrePremière ... 17192021222324252627282930313233343537 ... DernièreDernière
Affichage des résultats 781 à 810 sur 1125
  1. #781
    Le HDRP c’est relou mais des fois ça fait le café
    C’est énorme les custom pass pour intégrer des visuels et des effets dans une map que ce soit local ou global.

    Je commençais à douter de ce pipeline mais finalement ça permet de faire des trucs en quelques clics et fonctions alors que je pensais que j’allais galérer à gérer des trucs de visuels de base.

    Et même plus besoin de gérer plusieurs caméras et rendus pour faire de la superposition !

  2. #782
    Salut les Canards,

    Suite rapide de mon aventure en reprise d'étude et notre projet casse gueule sur Unity !

    Pour les plus curieux, j'ai mis en ligne le jeu sur le playstore (pas en ligne sur l'appstore par contre) et vous le trouvez en recherche exacte avec "Secret of Annecy".
    Il reste quelques ajustements avant la soutenance dans 3 semaines. Si vous avez des retours...
    Battletag : Sariyah#2734 / ID PS5 : Oo_Sariyah_oO



  3. #783
    Roh vous êtes à Annecy la chance <3

  4. #784
    Citation Envoyé par schouffy Voir le message
    Roh vous êtes à Annecy la chance <3
    Ouai enfin pour ma part j'habite à 20 min, à la campagne. Mais oui pour une ville c'est très beau !
    Battletag : Sariyah#2734 / ID PS5 : Oo_Sariyah_oO



  5. #785
    Toujours dans l’idée d’affiner certains trucs, j’ai depuis le début une création de mes icônes d’unités via une micro scène où je fais défiler mes modèles 3D pour faire des screenshots que je balance dans une texture par unité et pareil pour les bâtiments. Ça m’évite d’investir dans du dessin d’icones.

    Par contre mes modèles étant pas toujours de la même taille je dois y adjoindre pour chacun un scale factor spécifique pour qu’ils rentrent dans le cadre.

    Y’a une fonction déterminée existante ou une idée qui permettrait de fitter la caméra aux limites du modèle automatiquement ?

  6. #786
    J'ai fait toutes mes miniatures de bâtiments à la pogne. Tous les prefabs aux même coordonnées, tous désactivés sauf 1 qui donnera le screenshot et avec quelques gameobjects judicieusement choisi pour faire une base fixe et commune. On règle à la pogne le scale de chaque instance de prefab pour qu'elle rentre "dans le cadre" harmonieusement et qu'on ait une collection au final bien régulière et proportionnée. On garde un gameobject vide orienté exactement dans la même direction que la caméra et à la même distance au cas où celle-ci se dérègle pour un raison X ou Y.

    Long et chiant mais simple et efficace.

    Maintenant si quelqu'un a d'autre méthodes, je suis tout ouïe.

  7. #787
    Il y a les Bounds des meshes qui peuvent être utilisé pour en déterminer la taille, et via quelques calculs de trigo, les mettre au bon scale pour rentrer dans le champs
    @Grhyll / 3-50.net
    Projet actuel : oQo

  8. #788
    Si je fais un remix du coup je vais tenter un truc comme ça :

    Vu que toutes mes unités et mes batiments ont un collider, je recupère le bound avec center et mix / max size.
    Ensuite je pose sur le fond de ma scène de capture un collider de reference qui correspond a la taille de mon fond d’icone.

    Ensuite je spawn le gameobject et je tire quatre raycast aux quatre coins de mon collider d’object unité ou batiment.
    J’incremente le scale factor et je raycast dans une boucle.

    Quand l’un des raycast ne trouve plus le collider d’icone, c’est que mon modèle est plus grand que l’image. Donc je m’arrête juste avant avec une marge définie pour avoir toujours le game object bien calé.

  9. #789
    Bien entendu comme d'habitude avec Unity il existe un asset pour cela : https://assetstore.unity.com/package...52#description

  10. #790
    Citation Envoyé par Grosnours Voir le message
    Bien entendu comme d'habitude avec Unity il existe un asset pour cela : https://assetstore.unity.com/package...52#description
    Mais 13 euros...

    Pour le moment j'ai investi 30 euros pour des assets sons et musiques pour me faire plaisir.
    Le reste c'est tout gratuit - Juste Unity et MagicaVoxel.

    Non vaut mieux bidouiller deux cents lignes de code et avoir l'effet désiré que de péter la balance et l'objectif initial d'investir quasi rien.

  11. #791
    Citation Envoyé par Sifr Voir le message
    Mais 13 euros...

    Pour le moment j'ai investi 30 euros pour des assets sons et musiques pour me faire plaisir.
    Le reste c'est tout gratuit - Juste Unity et MagicaVoxel.

    Non vaut mieux bidouiller deux cents lignes de code et avoir l'effet désiré que de péter la balance et l'objectif initial d'investir quasi rien.
    Si tu prends ne serait ce que le smic horaire... et que tu écris tes 200 lignes de codes en plus d'1h30, t'es pas gagnant. Après, perso, je suis devenu assez chill avec l'asset store (maintenant que je ne suis plus étudiant), le plus important c'est que le jeu avance.

  12. #792
    Je suis en phase avec ta vision si c’est une activité principale.
    Comme hobby ça se discute.

    Si je reniais mon principe de tout faire moi-même, étant donné que je suis à peu près hors campagne et multi entre un C&C3 et un Act of War en terme de contenu/fonctions, si je poussais à faire un peu de beautifull à coups d’assets qui claquent et investir un peu pour des modèles plus réalistes basés sur ma DA alors ça s’emballerait et la facture monterait rapidement.

    Je rentrerais alors dans une réflexion de me dire qu’autant que de faire tout ça autant se lancer réellement et là ce serait le pas de trop direction prises de tête en tous genres.

    Je vais garder ma limitation initiale - ça évite l’emballement

    Par contre si je tombe un jour sur un asset qui prouve qu’en quelques manips je peux réellement passer d’un solo à de la fonction multi, même pour 100 euros j’y réfléchirai quand męme rien que pour la curiosité d’avoir un feedback de testeurs dans ce type de conditions.
    Ca changerait par rapport à ma vision uniquement skirmish.

  13. #793
    Citation Envoyé par Sifr Voir le message
    Par contre si je tombe un jour sur un asset qui prouve qu’en quelques manips je peux réellement passer d’un solo à de la fonction multi,

    On va dire que j'ai des doutes.
    Là on a fini un city builder multi, on en a bavé des ronds de chapeaux sur la partie multi (totalement faite in-house) pour la faire fonctionner correctement et les bugs qu'on nous remonte et qui sont absolument non-reproductibles chez nous viennent sans doute de là (ou de souci de connexion serveur ce qui revient au même).

  14. #794
    Vous avez fait votre propre lib réseau ? Super intéressant comme choix (très courageux aussi) ! Par curiosité, pourquoi ne pas être passé par un Photon ou équivalent ?

    Perso, même si parfois je pleure un peu à les utiliser en usage pro (notamment en ce moment avec les bugs d'ownership qui trainent dans leur lib) et que je n'ai pas trouvé égal en puissance au framework multi d'Unreal, ça reste quand même globalement bien pratique et "simple" (en dehors de la complexité inhérente au multi, j'entends).

    Mais je suis curieux du coup, à quel moment ça devient envisageable d'écrire sa propre couche réseau et si avec le recul vous le referiez ? Vous êtes une grosse équipe de dev ?

  15. #795
    On est 3 (1 spécialiste réseau/web, 1 spé Unity et moi ). Je voulais contrôler de A à Z comment tout cela allait fonctionner vu que le multi était une première pour nous et de manière générale un truc assez peu commun (les city builders multi ne courent pas les rues). Donc pour une fois on a évité de passer par la case asset pour faire les choses nous-mêmes.
    On a donc crée un backend plus un frontend visible via browser dans Unity en plus des dialogues backend<>Unity. Ce que je ne vais plus faire pour les futures itérations d'ailleurs, désormais ce sera uniquement Unity <> backend (et solo la plupart du temps). Le browser in-game apporte plus d’inconvénients que d'avantages au final.

    Attention on avait en tête la fonctionnalité et la simplicité, pas la performance, même si au final le tout tient bien la charge de dizaines et dizaines d'utilisateurs simultanés. On a pas du tout la prétention d'avoir écrit une couche réseau de haut vol, mais cela fonctionne correctement.

  16. #796
    Hyper intéressant, merci pour le retour d'expérience !
    Le browser in game au sens navigateur web ?

    En tout cas bravo, belle performance :D Je me demande d'ailleurs si pour un city builder, du networking basé sur du HTTP permet pas de faire le taff tout en se reposant sur des frameworks robustes niveau backend (ça rend plus compliqué la communication backend -> Unity par contre).

    Ça a dû être bien intéressant à dev en tout cas, même si j'imagine sans peine des moments perte de cheveux !

  17. #797
    Merci!

    Tu as un asset qui permet d'avoir un Chromium dans Unity : https://assetstore.unity.com/package...-browser-55459. Si tu en as vraiment besoin (le si est très important), c'est un excellent outil.
    Le plus pénible a été de bien s'assurer que tout le monde reste parfaitement synchronisé in-game à la seconde près tout en gardant (et diffusant) sur le serveur les traces de toutes les diffs de chacun. Mais comme tu le disais, c'était une expérience riche et intéressante.

  18. #798
    Citation Envoyé par Sifr Voir le message
    Je suis en phase avec ta vision si c’est une activité principale.
    Comme hobby ça se discute.

    Si je reniais mon principe de tout faire moi-même, étant donné que je suis à peu près hors campagne et multi entre un C&C3 et un Act of War en terme de contenu/fonctions, si je poussais à faire un peu de beautifull à coups d’assets qui claquent et investir un peu pour des modèles plus réalistes basés sur ma DA alors ça s’emballerait et la facture monterait rapidement.

    Je rentrerais alors dans une réflexion de me dire qu’autant que de faire tout ça autant se lancer réellement et là ce serait le pas de trop direction prises de tête en tous genres.

    Je vais garder ma limitation initiale - ça évite l’emballement

    Par contre si je tombe un jour sur un asset qui prouve qu’en quelques manips je peux réellement passer d’un solo à de la fonction multi, même pour 100 euros j’y réfléchirai quand męme rien que pour la curiosité d’avoir un feedback de testeurs dans ce type de conditions.
    Ca changerait par rapport à ma vision uniquement skirmish.
    Non mais je comprends dans l'absolu. Après, je pense que c'est du cas par cas. Là, pour avoir des icônes. 13 € c'est 2 kebabs pour être tranquille et pouvoir faire autre chose à la place... Après si tu penses que tu ne pourrais pas t'arrêter, je peux comprendre. Même si je t'assure qu'au delà d'un certain prix, tu réfléchis quand même à deux fois.

  19. #799
    Citation Envoyé par Grosnours Voir le message
    c'était une expérience riche et intéressante.
    Marrant, comme remarque. Ca me rappelle quand je devais faire des algos de gestion de lag dans un MMO. On utilisait une superbe lib C++ qui avait eu la bonne idée de redéfinir le symbole "main". Que du bonheur tout ça.

  20. #800

    Le commentaire n'était pas ironique en fait, mais j'avoue que lire "expérience riche et intéressante" en ce qui concerne du code fait tout de suite penser au pire.

  21. #801
    Sur mon STR j’ai repris l’idée de l’attrition qui endommage progressivement les unités ennemies quand elles sont proches de la base.
    C’est une mécanique sympa pour éviter le rush de petites unités et quand même permettre de forcer le danger si on est vraiment en décalage par rapport à l’opposant. Au fur et à mesure qu’on progresse, son effet s’amoindrit car les unités sont plus puissantes. Bref grand classique.

    Par contre pour le moment j’ai juste des balises de lumière qui montrent le périmètre de la zone.
    Je voudrais rendre ça plus joli comme une sorte de bandeau lumineux tiré entre chaque marqueur.
    Un peu comme un bandeau de police qu’on voit dans les jeux en mode holographique.

    Par contre j’ai aucune idée de ce qui peut me permettre de faire ça pour s’adapter aux nombres de points du périmètre.
    J’avais dans l’idée d’utiliser un linerenderer bien large mais j’ai pas l’impression qu’on puisse forcer la verticalité pour l’effet bandeau.

    Une idée / astuce ?

  22. #802
    Au débotté une paire d'idées :
    - tu crée un asset 3D morceau de ligne avec mesh et matériel façon bandeau de police et tu en places autant qu'il faut entre les points, avec le scale qui s'ajuste à la distance
    - tu crée dynamiquement à la volée un mesh qui va bien avec le nombre de points et tu lui donne le matériel ci-dessus. Un peu comme sont crées les imposteurs dodécahèdriques.

  23. #803
    Merci pour les idées. Je galère dans la mise en oeuvre...

    Mais à force de m'énerver, je me suis défoulé sur un autre truc qui me tenait en haleine depuis quelques semaines et j'ai finalement compris comment marchait la déformation par les shader graphs :

    C'est pour le moment subtilement pas sexy côté remous mais ça marche - les super armes déforment enfin ma surface d'océan - c'est useless mais c'est tellement bon

    L'eau est verte car le biome est radioactif


  24. #804
    Classe .

    Là je suis super content car je commence enfin à maîtriser Blender ce qui me permet de réaliser mon rêve de matériel unique. Les perfs vont décoller un peu beaucoup.
    Le schéma au milieu de cette page résume bien le principe général.

    Je passe tous mes assets à la moulinette Blender (pour ajuster les UV sur ma texture unique) et à la moulinette MeshBuilder (pour fusionner les meshs) et le résultat fonctionne bien. Par contre je m'embarque encore dans une aventure en décidant d'avoir des bâtiments upgradables (avec au moins 8 upgrades différentes). Je procède en prenant le bâtiment final full upgradé et en mettant chaque upgrade via blender dans un matériel différent (ce qui donne un sous-mesh dans Unity). Ensuite dans Unity j'affecte dynamiquement ou le matériel unique ou un matériel transparent selon que je veuille activer ou non l'upgrade.
    Seule contrainte : l'ordre des sous-meshs (et donc des matériels et donc des upgrades) doit être rigoureusement identique pour tous les bâtiments.

    Un seul mesh (enfin avec 8 sous mesh), un seul matériel (enfin 2 avec le transparent), 256 possibilités différentes. Comme en plus je fais 6 variantes de couleurs par bâtiment + 3 formes de base possibles (le tout choisi aléatoirement à l'instanciation), je vous laisse calculer au final le nombre de variantes pour une seule classe de bâtiment. Mes villes ne seront pas monotones, c'est certain.

  25. #805
    Et si tu disable le sous-mesh plutot que lui mettre un matériau transparent, ça va pas plus vite?
    Remarque, je sais pas si on peut faire ça, c'est une idée en l'air.

  26. #806
    Grosnours, au bout de combien de temps tu as maitrisé Blender? Je suis sur Maya, et je galère toujours a créer des personnages corrects(l'animation j'en parle meme pas).

  27. #807
    J'avais essayé une première fois il y a quelques mois et je pataugeais vaguement. Résultats très limités et décourageants.
    Puis la semaine dernière j'ai repris en ayant cette fois une idée très précise de ce que je voulais et au fur et à mesure j'ai trouvé des tutos sur tout ce dont j'avais besoin ce qui m'a ouvert d'autres portes et d'autres besoins pour les quels j'ai trouvé d'autres tutos. J'ai toujours l'impression que Blender est une horrible usine à gaz avec une UX diabolique, mais si tu ne pars pas de zéro, si tu sais exactement ce que tu cherches à faire et que ton google-fu est au point, tu peux arriver à faire exactement ce que tu veux avec ce soft.

    Ceci dit je ne maitrise Blender que pour un usage très très limité, à savoir modifier à volonté et la géométrie de mes assets (rajouter/enlever des étages d'un immeuble par exemple) et leur UV map.
    Je n'ai jamais essayé de partir de zéro, j'ai une confiance très limitée en mon talent artistique de toute façon.

    Par contre je n'ai jamais essayé de faire de l'animation non plus, je n'en ai pas encore eu besoin pour l'instant.

    Ma vidéo point de départ était celle-ci : https://www.youtube.com/watch?v=PcmQhqZC_Oo
    J'ai appliqué ce qu'il disait et de fil en aiguille j'ai trouvé d'autres vidéos qui m'ont permis de faire de plus en plus.

    Citation Envoyé par LDiCesare Voir le message
    Et si tu disable le sous-mesh plutot que lui mettre un matériau transparent, ça va pas plus vite?
    Remarque, je sais pas si on peut faire ça, c'est une idée en l'air.
    Via code je suppose ? Merci, je vais essayer cela, c'est vrai que cela coute moins cher qu'avoir un matériel transparent.
    Alternativement j'ai aussi vu que tu pouvais mettre un shader qui va écraser la géométrie et ne faire aucun rendu. Mais cela fera toujours un draw call.
    J'ai plein de trucs à tester on dirait....

  28. #808
    Je suis curieux du principe et de votre histoire de draw call… en quoi est ce à prendre en compte - perfo ?

    Pour ma part quand je fais un modèle modulaire avec des upgrades, je fais juste une liste de renderers que je désactive/active au besoin.

  29. #809
    En gros moins tu as de draw call et mieux c'est, le lien de gamedev guru que j'avais mis plus haut résume la situation. L'onglet stat de la fenêtre Game et plus précisément le Frame Debugger permettent de savoir où tu en es niveau draw calls/batching.
    Quand tu parles de modèle modulaire, c'est plusieurs meshs que tu actives/désactives ou un seul mesh avec des submeshs ?

  30. #810
    Attention, gros test incoming.

    Tout d'abord commençons par créer un modèle qui est un gameobject qui contient tout une série de gameobjects avec chacun un mesh et un matériel, tous différents. On affiche et cache en activant et désactivant les gamobjects correspondants.

    La solution la moins optimisée donc.

    Prenons ensuite la même chose mais en fusionnant tous les meshs, On obtient un seul mesh avec plusieurs submesh chacun ayant son propre matériel.

    Cela va un tout petit peu mieux.

    Je passe l’étape suivante qui est d'attribuer le même matériel à tous les submesh, cela passe par un éditeur d'image pour créer une texture unique qui va agréger toutes les textures, par blender pour retravailler tous les mesh d'origine et leur attribuer la texture unique puis enfin par Unity pour re-fusionner les meshs.

    Au passage on en profite pour ajouter de la variété au modèles en les déclinant en plusieurs couleurs, mais c'est un détail avec 0 impact sur les perfs.
    Affichons donc 15 de ces maisons optimisées avec le renderer classique, toutes options allumées :

    C'est le meilleur des cas pour ces maisons là puisque tous les matériels sont identiques, l'optimisation bat son plein.

    Maintenant écrivons un custom render pour n'afficher que les submeshs que l'on désire:
    Code:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class MyCustomRenderer : MonoBehaviour
    {
        public Material MyUniqueMaterial;
    
        public bool bool_Building_Material_1 = true;
        public bool bool_Windows_Material_2 = true;
        public bool bool_Grass_Material_3 = true;
        public bool bool_Garage_Material_4 = true;
        public bool bool_Water_Barrel_Material_5 = true;
        public bool bool_Water_Tank_Material_6 = true;
        public bool bool_Vegetation_Material_7 = true;
        public bool bool_Solar_Panel_Material_8 = true;
    
        public Camera MyCamera;
    
        private Mesh MyMesh;
        private Vector3 MyPosition;
        private Quaternion MyRotation;
        private MaterialPropertyBlock MyMaterialPropertyBlock;
    
        // Start is called before the first frame update
        void Start()
        {
            MyMesh = GetComponent<MeshFilter>().mesh;
            MyPosition = transform.position;
            MyRotation = transform.rotation;
            MyMaterialPropertyBlock = new MaterialPropertyBlock();
        }
    
        // Update is called once per frame
        void Update()
        {
            if (bool_Building_Material_1)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 0, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Windows_Material_2)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 1, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Grass_Material_3)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 2, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Garage_Material_4)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 3, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Water_Barrel_Material_5)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 4, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Water_Tank_Material_6)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 5, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Vegetation_Material_7)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 6, MyMaterialPropertyBlock, true, true, true);
            }
            if (bool_Solar_Panel_Material_8)
            {
                Graphics.DrawMesh(MyMesh, MyPosition, MyRotation, MyUniqueMaterial, 0, MyCamera, 7, MyMaterialPropertyBlock, true, true, true);
            }
        }
    }
    C'est grossier mais cela fait le taf.

    Affichons le même nombre de maison dans la même situation avec ce renderer :

    Bien entendu il s'agit du pire cas possible pour ce renderer puisqu'aucun sub mesh n'est desactivé.
    On notera quand même que DrawMesh fait moins bien que le renderer de base.


    On change les choses en n'affichant désormais que 3 des submesh possibles. Les maisons avant toute amélioration, ce qui sera un cas d'usage très courant, bien plus courant que de les afficher toutes.
    Pour les maisons avec renderer classique, cela veut dire assigner le matériel transparent aux bons submeshs :



    Avec le renderer maison, cela signifie décocher quelques cases:




    Les résultats sont là à mon sens et sans trop de surprise : le renderer custom donne de meilleurs résultats quand il s'agit de ne pas afficher certaines upgrades que le render classique et on a la situation inverse lorsqu'il s'agit de tout afficher.
    Certains trucs m'intriguent par contre, comme le fait d'avoir de meilleurs perfs (FPS) mais plus de drawcall pour le custom render dans le dernier cas.
    Il faut que j'essaie 1) avec bien plus de maisons, 2) avec le shader maison qui écrase la géométrie et qu'on affectera au matériel transparent.


    Note au passage, comme j'utilise GPUInstancer (qui fonctionne merveilleusement bien), cela me fait un peu chier d'utiliser un renderer custon, puisque GPUInstancer active et désactive dynamiquement les mesh renderer des objets dont il s'occupe et cela voudrait dire qu'il faudrait que je trifouille le code de GPUInstancer pour le rendre compatible avec mon renderer custom. Mais c'est un détail.


    EDIT : en utilisant le shader custom qui écrase la géométrie les perfs du render classiques sont bien bien meilleures dans le pire de cas pour lui. Pas aussi bonne que le renderer custom, mais on s'en rapproche.
    Dernière modification par Grosnours ; 02/07/2021 à 09h21.

Page 27 sur 38 PremièrePremière ... 17192021222324252627282930313233343537 ... DernièreDernière

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
  •