Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 3 sur 3 PremièrePremière 123
Affichage des résultats 61 à 83 sur 83
  1. #61
    Citation Envoyé par Sifr Voir le message
    Je te remercie pas

    A cause de ta remarque sur ses bâtiments, j'ai voulu tester un truc sur mes propres modèles et finalement en ayant trouvé un exporter parfait de Magika vers Blender, j'ai récupéré l'effet métallique qui me manquait sur mes bâtiments.
    Surtout qu'avec le smooth vertex je fais disparaitre en grand partie les arêtes arides de Magika.
    Du coup je suis bon pour me coltiner une cinquantaine de modèles à passer à la moulinette pour les rendre plus crédibles...

    C'est trop bien en rendu sous le HDRP
    Mais c'est chiant
    Je procrastine pour répondre à Grosnours (et je vous remercie pour vos réponses d'ailleurs) parce que c'est exactement ce que je me suis dit "oui mais... faut que je retouche à tout ".
    Après, c'est le rendu moteur. Pour donner un peu de volume, j'ai également mis du post-processing et un peu de grain (et rien que ça... ça améliore le rendu). Mais je reste conscient que pour un travail de pro, ouai.. faut s'amuser avec les normal maps, et donc faire des UV nickel, ce que j'ai tendance à ne pas faire.

    J'ai tablé sur du 300 m (sans frustum culling et sans LOD) en distance d'affichage. Après, j'ai pris en compte ta remarque, Gronours, pour certaines pierres taillées sur surface plane, et c'est vrai que c'est mieux. Faudra que j'harmonise, mais, effectivement, c'est plus classe.

  2. #62
    C’est pour ça que soloter en dév c’est un peu limitant côté modèles… ok y’a les assets mais faire un truc qui correspond à la vision perso, c’est chaud de tout faire sans un artiste dédié à maltraiter…

    Et quand ça a de gueule c’est quand encore plus satisfaisant pour justifier le fait de passer X heures à dév les coulisses.

  3. #63
    Je vous explique ma journée de travail en ce moment : je prends un modèle, je l'exporte dans Blender, je remappe toutes les UV pour coller à mon atlas de texture (alias le matériel unique). Parfois il faut faire un peu de fusion de mesh (via MeshBaker) quand on fait du composite de divers objets.
    Une fois que tous les candidats sont prêts, je fusionne leur meshs pour obtenir mes bâtiments upgradables.
    Si le compte de triangles est trop élevés, je retourne vers mes modèles de la première phase et j'essaie via un crusheur de mesh (j'utilise Mantis) de réduire les comptes de triangles. Puis il faut passer dans Blender pour lisser tout cela parce que Mantis est vraiment brutal (mais efficace) quand il écrase du mesh. Puis je retourne à la phase de fusion.
    Une fois le bâtiment upgradable obtenu, il faut passer par Blender pour être sur que tous les différents éléments d'upgrades sont bien liés à un matériel différent et que tous les matériels sont bien dans l'ordre (essentiel si tu veux faire les upgrade sous Unity via code).
    Puis ensuite tu peux exporter le bâtiment vers Unity, mais de préférence avec 4-6 variations de couleurs, en modifiant l'UV à chaque fois.

    Puis tu recommences tout le process pour les autres batiments du même type.

    Puis tu recommences tout le process pour tous les types de batiments, dont il existe une petite centaine...

    Cela me prend des semaines et des semaines de boulot mais c'est indispensable pour l'optimisation des choses. Sans compter que c'est tellement plus propre. Par contre j'ai régulièrement envie de me tirer une balle, oui c'est sur.
    Je voulais donc partager mon bonheur avec vous.

    Pour optimiser, essayer toujours d'utiliser autant que possible le même shader (ou le moins de shaders possibles) puis le même matériel (ou le moins de matos possible) et ensuite on peut se lancer dans les optimisations classiques (Static, GPUInstancing, etc).



    EDIT : J'oubliais ! Si je veux vraiment bien faire les choses de manière pérennes, il faut que je prenne les modèles obtenus puis que je les dégrade au moins une fois pour obtenir un LOD plus lointain, puis je fais un imposteur pour le LOD le plus lointain.
    EDIT 2 : J'oubliais encore ! Comme j'ai le jour/nuit, il faut que je prenne chacun des modèles finaux et que je les illumine à la pogne puis que j'enregistre toute la lightmap dans leur prefab (les fameux baked prefabs). Le tout avec Bakery bien sur, pas à la pogne mais cela fait un travail de dingue malgré tout. Joie !

  4. #64
    Tu es payé pour ça donc tu as pas le droit d’avoir d’état d’âmes

    Blague mise à part, quand j’ai commencé je me demandais bien combien de temps il me faudrait pour faire des modèles suffisamment potables pour pas me dégouter d’avoir un rendu moisi en comparaison des jeux « commerciaux ».
    En gros aujourd’hui pour mon besoin je sors un bâtiment en 2 heures et une unité en 1h avec ce workflow magika > blender > unity > parametrage dans le jeu.

    L’import que je viens d’introduire via Blender me prend 10 min.

    Ca permet de pas trop consommer de temps sur ce hobby… du coup en migration je vais quand même y consacrer quelques heures au fil de l’eau jusqu’à fin aout. Mais ça vaut vraiment le coup.

  5. #65
    I did it.

    Samedi, à 20h, je me suis dit "tiens si on faisait le système de champs de vision, avec raycast et tout". Au départ, mes PNJ checkaient à chaque frame la distance entre eux et le joueur. Donc je regarde une vidéo de Sebastien Lague. Trop facile, en 15 minutes il explique ô combien c'est facile. Et c'est vraiment complètement facile, ça marche au premier coup.

    Du coup, dimanche, naïf que je suis, je fusionne ce système avec le système de combat pour donner un truc du style "moi voir, moi taper, moi pas voir, moi te chercher". La grosse galère. Ça ne marchait pas, ça buguait, ça donnait des trucs improbables (des PNJ qui se téléportaient, qui me poursuivaient jusqu'à fin fond de l'univers). J'ai vraiment pété un câble et j'ai abandonné.

    Aujourd'hui, je recommence, en 20 minutes c'est plié.
    Mais du coup, ça m'a permis de faire un peu de ménage. Voilà, plus simple de rajouter des comportements. Plus simple de rajouter d'autres cibles que le joueur si besoin. Et j'ai une bonne base pour faire un système de discrétion alors que ça m'a toujours paru compliqué.

    Je suis joie, c'est une grosse étape pour moi.

  6. #66
    Ca fait quasi 1 an dis donc.

    Donc, j'ai un peu bossé sur le jeu. Mais j'ai changé de boulot, j'ai changé de ville, donc ça faisait bien 8 mois que je n'avais pas touché au projet. Puis je me suis mis en tête que si j'ai changé de vie autant changé de moteur, alors j'ai essayé Unreal Engine 5 avec du Ray tracing, ça rendait pas moche mais ça faisait bizarre sur du low poly comme ça. Donc fallait bien retexturer tous mes assets. J'avais trouvé une technique pas si bête, qui était de prendre des tableaux libres de droits (il y a un musée néerlandais qui a numérisé toutes ses œuvres) et d'utiliser des bouts de tableaux. Ca rendait plutôt bien, un peu du style de The Long Dark mais c'était un peu long. Et j'ai réalisé que je devais recoder tout un système d'inventaire, d'IA en C++, et j'ai lâché l'affaire.

    Puis il y a une semaine ou deux, en rejouant à Cave of Qud je me suis dit que le plus simple après tout... c'était de faire un rogue like. Alors j'ai installé la dernière version d'unity, j'ai commencé à faire des sprites genre un mur et un PNJ, et ça rendait bien, c'est relativement rapide de faire une sprite de 16*32 (et en pratique, je peux même en faire pendant le boulot si je m'ennuie), le tour par tour est moins compliqué que je l'imaginais ... mais... Mais faire de la génération procédurale m'intéressait pas. Et du rogue like sans procédural c'est quasiment du JRPG. Et là, ça m'est venu comme ça, j'ai eu plein d'idées de niveau en 3D que je ne pourrais jamais faire en sprite.

    Et je crois que ça a débloqué un truc. Le truc qui me bloquait, c'était que je n'avais pas la cathédrale, les PNJ, les armes, les... que j'imaginais donc l'idée de me taper toute une semaine de modélisation me hantait. Et mettre des placeholders, je sais pas, ça m'était inconcevable.

    Donc voilà, je suis reviendu. J'ai fait toute la map (le terrain). J'ai mis mes placeholders avec les assets que j'avais et en fait ça rend déjà très bien, je suis en train de refaire un niveau dont je commence à être assez fier en termes d'ambiance (un donjon un peu absurde... un peu comme la guilde des voleurs dans BG2 pour ceux qui s'en souviennent), j'ai codé quelques interactions d'ambiance (allumer un robinet, allumer un gramophone avec de la musique des année 20 libre de droit), j'ai codé le lancé de grenade qui fait des dégats, ça collait pas avec le design des combats (qui sont très rapprochés du joueur) donc ça ne provoque plus de dégats au joueur , les rats peuvent maintenant provoquer la leptospirose, boire de l'alcool ne fait pour l'instant rien à part rendre l'écran psychédélique...

    Bref, j'ai été efficace et j'ai même implémenté des trucs que j'avais en tête qui traînaient depuis le début du projet. J'ai un peu changé de méthode de travail, maintenant je liste ce que je dois travailler au lieu d'y aller en mode yolo (même si je bosse encore en mode yolo). Étrangement, attaquer plein de partis différente au lieu de me dire "tu dois finir ceci avant de passer à autre" fait que ... je travaille plus (contrairement à mon travail de tous les jours où je suis plutôt mono-tâche).

    Bref, le plus important c'est que je recommence à m'amuser avec le projet.
    Dernière modification par Molina ; 20/09/2022 à 10h07.

  7. #67
    Rogue liké veut pas dire aléatoire
    Regarde dead rising

  8. #68
    Ah si, rogue like ça veut dire aléatoire. Enfin, c'est le premier des 5 critères de l'interprétation de Berlin... Mais maintenant on utilise ce terme pour dire n'importe quoi.

  9. #69
    Alors depuis la dernière fois... J'ai corrigé plein de merdouilles. C'était limite du polish. Mais j'en avais besoin. Un peu comme décrasser une objet. Sans le nettoyer, on peut toujours l'utiliser, mais ça fait du bien sur le moment et par la suite on voit quand même la différence.

    Alors c'est ce que j'ai fait. Des petits bugs. Des UI qui marchaient pas réellement comme je le voulais. J'ai industrialisé le streaming des assets en extérieur. Y'a plus de problème de sauvegarde, le système de l'armure marche comme c'est attendu etc.
    J'en ai profité pour faire joujou avec un système de craft basique (on remplit une carafe d'eau pour l'instant). Ca m'a permis de coder un système où le joueur boit automatique de l'eau quand il a soif, ce qui... permet l'apparition d'une carafe vide dans l'inventaire. Je suis pas certain de vouloir un système de craft ultra complet, mais... En jouant à Runescape j'ai bien vu qu'il y avait un petit intérêt à ces petites interactions.

    Par contre, je me prépare petit à petit à implémenter un système de création de sorts. Qui ne viendra peut être jamais le jour, mais c'est le but ultime.

    Il reste des bugs, mais la fondation est de plus en plus solide.

    Sur un autre poste, j'ai parlé d'Obsidian.md. Un super outil pour s'organiser. Et je l'ai utilisé sur mon jeu. Et c'est ouf comme c'est utile. Déjà, ça ma poussé au cul pour relire mes dialogues et voir les problèmes. Mais également de me faire justement tout un lexique de noms, de lieux de concepts que j'avais initié à implémenter et laisser en jachère, provoquant toute la difficile du monde à se rappeler le nom du Générale FEsjpfsjifgz qui a été mentionné à la page 152 de mon document word.
    Et c'est con, mais ce travail de "préparation" permet d'avoir les idées un peu plus clair sur mon propre lore et ce que j'ai déjà fait et ce qui me reste à faire. Et ça me donne envie de continuer à bosser juste pour que ma toile d'araignée grossisse. Et tout est dans un seul endroit. Pour les sources d'inspirations, c'est tellement bien...
    J'ai pas encore commencé, mais je vais l'utiliser également pour l'aspect technique. Entre les variables de conditions, les formules mathématiques qui commencent à être compliquées, là je ressens le besoin de savoir ce que j'ai déjà fait.

    Ce qui m'a amené au troisième changement de mon projet : l'utilisation de midjourney. Pour faire des portraits. Sur le topic Starfield, je parlais de la puissance d'une image pour décrire une situation sans implémenter tout un pan de gameplay. Ben, du coup je me le suis appliqué à moi-même. Après avoir fait joujou avec l'IA, j'ai trouvé un style qui me correspondait : entre des peintures en aquarelle et le style de Toulouse-Lautrec. Alors, ça rend assez difficile de mixer de la fantasy avec du Toulouse Lautrec, mais quand ça match, j'aime beaucoup l'effet.
    Et alors bordel, ça donne de la personnalité dis donc !
    J'ai également expérimenté la création d'icon avec l'IA, et ça marche plus ou moins bien. Les icons sont pas totalement clean, mais ils font le taffe.

    Le problème de quand ça avance bien comme ça, c'est qu'on a envie de mettre en place plus de features. Mais on va se calmer, et avancer sur ce que j'ai déjà laissé de coté. .

    Le plus important, c'est que je m'amuse. Peut être plus qu'avant. Déjà parce que le projet me ressemble plus et me parait assez unique. Et ensuite, pour des raisons personnelles, j'ai un certain handicap qui s'estompe depuis que je m'en suis occupé. Peut être plus que maintenant qu'à l'époque, je trouve que faire un jeu vidéo, même si personne ne va y jouer, c'est totalement passionnant.

  10. #70
    je trouve que faire un jeu vidéo, même si personne ne va y jouer, c'est totalement passionnant.
    Clairement. En plus quand on se fait une jolie feature qui marche « comme dans un vrai jeu » y’a ce petit sentiment inavouable roi du monde

  11. #71
    Alors depuis Mars, je ne sais plus trop ce que j'ai fait.

    Je crois que j'ai testé toutes mes quêtes et leurs embranchements pour voir si tout marchait bien. Pas mal de sounddesign également. De l'UI. Ah si, j'ai pas mal procrastiné l'animation gauche, mais c'est enfin fait. Implémentation du gameplay des flingues, avec recharge, munitions. Si je ne dis pas de bêtise, j'ai rajouté quelques types d'ennemies, et j'ai un peu mis de l'ordre sur la progression des armures.
    J'ai rajouté un shader d'herbe. Je ne pensais pas en avoir besoin, mais ça habille quand même le terrain.

    Bon bref du détails.
    Ce dernier mois par contre... Implémentation d'un système de température lié au climat en extérieur. En intérieur, il y a la température globale de la zone et... des sources chaudes/froides avec une fonction non linéaire par rapport à la distance du joueur. La température change plus vite au niveau de la source qu'à distance, avec un cut-off à X distance (Un peu comme le roll-off logarithmique des sources audio). J'adore trop cette feature que je vais coupler avec mon système d'équipement. En gros, la température extérieure influe sur la température interne du joueur, qui se rapproche avec une vitesse modulable de la température externe.
    Donc l'idée, c'est que certains équipements peuvent être isolants sur une plage de températures données. Entre 20 et 30°C, c'est la plage idéale, puis les désagréments arrivent de plus en plus quand on s'y écarte. Je ne pense pas que je vais me compliquer la vie. Il y aura juste des vêtements qui isoleront mieux de la chaleur que du froid, et inversement.

    Et avec ce que j'ai appris avec mon système de température, je l'ai plus ou moins ré-appliqué pour mon système de furtivité. Qui là dépend des stats du joueur, du nombre d'observateurs et de l'intensité de la lumière sur le joueur. Je pensais que l'analyse de l'intensité de la lumière allait être compliqué, mais en fait... C'est complètement con. Il suffit d'un RenderTexture, d'une camera, d'un petit script qui compte la couleur des pixels de la texture et voilà. Là, mon gros problème c'est que la variation de l'intensité du Soleil est bien plus grande que la variation d'intensité de mes sources lumineuses d'environnement. Donc pour l'instant, j'ai désactivé l'effet du soleil sur le joueur, et je vais peut être le prendre en compte avec mes gros sabots (genre faire un bonus de nuit).

    Bref, et ça marche un peu comme dans Pillars of Eternity 2, une fois qu'on est dans la zone d'observation d'un PNJ, le joueur a X secondes où il est invisible (et plus il fait sombre, plus le joueur a des stats hautes dans la furtivité et plus il a le temps). Il peut, dans ce laps de temps, voler tranquillement, sans risque de prime. L'IA est binaire, mais je ne pense pas que je vais complexifier la chose. Je voulais juste un gameplay plus agréable que celui de Morrowind (où la furtivité est trop aléatoire) sans pour autant être dans du Thief. Par contre je prévois, parce que j'aime me donner du travail, de pouvoir allumer ou éteindre la lumière des niveaux.

    Coté level design ou écriture, j'ai tout mis en pause. Je me suis dit que ça serait plus simple une fois que tout mon gameplay serait calé. Là, je deviens bien plus confiant sur l'UI. Donc je risque de retravailler quelques éléments (notamment l'UI pour se coucher, et l'UI des bouquins). J'aimerais bien mettre en place quelques concepts de pièges. Créer des sorts parce que je repousse le truc depuis des mois. Dans l'idée j'aimerais bien coder un système de contenant de liquide, mais je ne vois pas comment je peux sauvegarder le contenu (toutes mes objets sont des prefab, avec des variables pré-déterminées). En écrivant cette phrase, je me demande si je ne peux pas simplement sauvegarder le volume total de liquide que porte le joueur et remplir les contenants à la suite au chargement... l'inconvénient que je vois, c'est que tous les récipients devraient avoir la même contenance. Ou alors créer une liste de contenant dans l'inventaire, garder l'ordre et les re-remplir avec les chargements. Bon. Merde. Je pense que je vais regarder ça ce week-end...

    D'ailleurs, question bête. Y'a moyen de faire une liste d'objets en forme de Matrice ? (Quelque chose comme :

    Object 1 : VAR1 ; VAR2; VAR3
    Object 2 : VAR1' ; VAR2'; VAR3' )
    Où VAR1 peut être du texte, VAR2 un float, et VAR 3 un deuxième float ? )
    Dernière modification par Molina ; 04/12/2023 à 13h57.

  12. #72
    Un dictionnaire/table de hash, cela t'irait, non ?

  13. #73
    Citation Envoyé par Grosnours Voir le message
    Un dictionnaire/table de hash, cela t'irait, non ?
    Alors...

    Vous allez me trouver complètement con. Mais ayez bien conscience qu'en de base, je ne programme pas, l'informatique n'est pas du tout mon domaine...

    Mais les LISTES, c'est surpuissant. Je pense que toutes les features que j'aurais bien aimé implémenter mais techniquement je ne voyais pas le bout pour commencer... je pense que tout se résout avec une bonne liste et un for each de dernière les fagots.
    Et le pire c'est que j'en ai utilisé. Mais je sais pas, je pense qu'il fallait que je m'habitue au concept.

  14. #74
    Le for each va tuer ta perfo si tu fais plein de trucs en simultané.

    Par contre comme il est proposé, le dictionnaire te permet de travailler sans perte de perfo sur des éléments que tu souhaites indexer.

    Sinon oui la liste c’est bien mais plutôt avec des for classiques que des for each qui ont historiquement été dans Unity des gouffres à perfo pour le garbage collector.

  15. #75
    Moi je conseille foreach autant que possible, c'est plus lisible et les différences de perf et allocation mémoire sont négligeables.

  16. #76
    Si je me souviens bien (je peux me tromper), le bug/implémentation foireuse de foreach était:
    - avec Unity 5.x
    - dans Mono
    Sinon en terme d’implémentation un foreach est un sous le capot for avec un peu d'overhead, mais probablement négligeable.

    Comme (je l’espère) plus personne n'utilise 5.x et que Mono est (pour moi, tout le monde n'est pas d'accord) un choix désormais de niche face à IL2CPP, le problème ne devrait plus être gênant.

  17. #77
    Mono est ptêt une niche maintenant pour les experts mais pour les projets amateurs qui durent depuis un moment, je suis pas sûr qu’ils carburent pas au Mono

  18. #78
    Je te rassure, je vois encore pas mal (à mes yeux) de jeux commerciaux qui sortent avec Mono, ce qui m'étonne un poil. Alors ok tu as des limites genre réflexion avec IL2CPP, mais c'est pas une mécanique que tu devrais utiliser couramment non plus.

  19. #79
    Dans l'idée j'aimerais bien coder un système de contenant de liquide, mais je ne vois pas comment je peux sauvegarder le contenu (toutes mes objets sont des prefab, avec des variables pré-déterminées). En écrivant cette phrase, je me demande si je ne peux pas simplement sauvegarder le volume total de liquide que porte le joueur et remplir les contenants à la suite au chargement... l'inconvénient que je vois, c'est que tous les récipients devraient avoir la même contenance.
    De. La. Merde.
    En une demi journée, c'était codé, avec du for each et sans perte de perfo, avec un volume max spécifique à chaque récipient.

    Je suis trop content.

  20. #80
    Alors... Alors !

    Ca faisait un baille que je voulais upgrader mon projet sur des versions d'unity supérieures. J'ai réussi, plus ou moins. J'arrive pas à dépasser 2019.4 sans qu'absolument tout casse. Donc, c'est dommage, mais y'a plein d'assets qui me sont hors de portée.

    Par contre... Par contre ! Le nouveau système de terrain est trop trop trop cool. J'utilisais des mesh dans ma version précédente (pour avoir uniquement des bouts de X m² de terrain que je pouvais streamer à l'envie). Sauf que le problème, c'est que ça faisait des terrains assez plats, vu que je mettais la hauteurs des bords à 0.

    Là, je peux avoir des dénivelés ! Des grosses montagnes, des falaises, le tout en quelques clics. Puis, pour faire des routes c'est quand même beaucoup plus simple (même si un peu plus moche). Et surtout je peux retoucher le terrain quand je veux, au lieu de tout adapter à mes mesh préfabriquées.

    C'est fou la technologie quand même...

    J'ai donc juste des petits problèmes avec la grosse zone que j'ai déjà peuplé. Je vais essayer d'y aller pas à pas. Mais hier, j'ai refait ma map grossièrement en 2h, alors qu'il m'a fallu des jours à ajouter à la main chaque mesh de terrain.

  21. #81
    Tu fais comment tes routes ? Des splines ?

  22. #82
    Pour mon terrain, j'utilise pas des meshes ni le terrain Unity mais des images qui me donnent l'élévation et un displacement shader qui change l'altitude en un point donné. C'est ce que j'ai trouvé de plus efficace dans Unity, et tu peux changer l'élévation en modifiant juste la texture en entrée du shader.
    Le terrain Unity, ça ramait tellement que j'ai laissé tomber assez vite. Après, j'imagine que j'avais vraiment beaucoup de terrain à rendre et que donc ça dépend.

  23. #83
    Ça dépend des tailles que tu veux rendre en effet. Là on a un truc du genre 1024*1024*250 et cela tourne très bien. On est aussi passé récemment de mesh à terrain Unity et le changement est clairement positif: les perfs sont correctes, les modifications en temps réel faciles et le rendu plus réaliste.

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
  •