Et puis Subtance et Unity3D sont très copain aussi, cela devrait aider![]()
Hello,
Où qu'il en est le jeu ? Ca avait l'air intéressant et prometteur...
Bonjour à tous.
Ça fait presque 6 mois que je n’ai pas posté mon avancement sur ce projet (le temps passe vite). Les raisons sont multiples, mais la principale étant que je n’ai pas touché à l’aspect graphismes depuis tout ce temps, et qu’à priori je n’y toucherai plus (j’ai délégué la tâche à un loup-garou qui s’arrache les poils sur des logiciels scabreux, mais qui va vous faire exploser les rétines... je ne lui mets pas la pression, pas du tout =P ), de fait je n’ai pas eu grand-chose à vous montrer.
Donc ce message, juste pour vous signaler que TLB avance doucement mais surement (en sous-marin), que j’ai fait pas mal de remaniements liés au fait que le projet a fini par basculer sous Unity5 (ce qui a eu pour conséquence de casser quelques systèmes, notamment le double pathfinding), mais au jour d’aujourd’hui (expression qui ne veut rien dire) le code est sain et quasiment terminé.
Une petite liste des choses que j’ai rajoutées durant ces derniers mois (liste non exhaustive) :
- Système de pathfinding revu et corrigé, plus performant et surtout n’est basé que sur le seul système intégré de Unity (là ou avant j’en avais deux ; un pour les agents et un -maison- pour le placement dynamique des tourelles).
- Portée des tourelles plus réaliste ; au lieu de se baser sur le rayon d’un cercle, la portée est matérialisée par un cône. Concrètement ça signifie qu’une tourelle en hauteur aura une portée plus grande qu’une autre placée en contrebas.
- Pool d’objets génériques ; qui est exploité pour le moment sur les unités ennemies pour économiser les allocations mémoires (ou plus exactement les collections du ramasse-miettes).
- L’IA des tourelles a été enrichie ; le joueur aura la possibilité de choisir la priorisation d’une cible (cible la plus faible, cible la plus forte, cible la plus proche du but, cible la plus rapide, cible paralysée, cible aléatoire, cible choisie, et je crois que je n’en oublie pas).
- J’ai fait de la veille sur le système de GUI d’Unity5. Je ne suis pas encore serein sur la disposition des contrôles utilisateurs, mais j’ai bon espoir d’arriver à quelque chose de pratique pour le joueur.
- Amélioration du système de vagues, avec notamment l’intégration des spawn-points multiples pour pimenter les choses (bon y’a un bug sur iOs au niveau du Pathfinding -j'ai des unités qui se mettent à tourner en rond... mais je vais lui faire la peau à ce bug... ou à l’iPhone-).
- Et à côté de ça j’ai fait beaucoup beaucoup de refactoring (c’est mon premier projet Unity, j’ai forcément fait des choix architecturaux pas très heureux au départ), j’ai également fait énormément de veille sur la création de plugins Unity (je risque d’en avoir grand besoin pour communiquer avec l’OS hôte tout en gardant un minimum d’abstraction au sein d’Unity), et enfin j’ai commencé le développement d’un backend via Azure.
Bref, je n’ai pas tout à fait chômé (même si j’ai été pas mal occupé à côté de ce projet). Et de belles choses sont en préparation.
A plus (j’essaierai de ne pas attendre 6 mois avant de communiquer =P).
@Kropernic
Quelle synchronisation, il fallait que je décide de dépoussiérer (enfin) le topic pour qu’on prenne des nouvelles de mon projet =P
Merci pour l’intérêt porté. Je bosse sur TLB régulièrement et je me suis associé à un graphiste qui prend également le projet à cœur. J’espère avoir des choses à montrer prochainement.
Notre Dabou national a bien potassé son sujet et ça commence à porter ses fruits ; une première tourelle pointe le bout de son canon !
La tourelle dans le viewport de SD :
Et le rendu sur un Lumia 925 via Unity :
Personnellement je trouve que ça claque pas mal ^^
Première tentative de synchro animation/comportement (ici le déplacement des ennemis). C’est un test, y’a encore du boulot pour que ce soit crédible, mais c’est surtout un prétexte pour vous montrer le premier ennemi officiel du jeu ; un bipède pas commode.
Dabou ne m'aura pas facilité la tache (il aime ça le bougre), mais ça m'aura au moins permis de découvrir le système d’événement de Unity sur la timeline d'une animation, très pratique et ça ouvre pas mal de perspectives.
C'est cool que ça avance
Elle fait combien de poly la tourelle? En tous cas sa texture est vachement soignée (surtout la partie en rouge ), elle a été faite à la main?
Et sinon tu utilises autre chose? (une specular map peut être?)
La tourelle fait grosso/modo 1000 triangles.
Quant à la partie texture -Dabou me corrigera si je dis de grosses bêtises- un premier outil a été utilisé ; Substance Designer, qui permet de créer des textures en manipulant des nodes (bitmaps, formules, etc...). Après quoi des détails supplémentaires ont été peints sur le modèle via un second outil, Substance Painter.
Le produit de ces outils porte le doux nom de Substance et peut-être directement importé dans Unity. Le développeur que je suis peut ensuite jouer avec cette substance via des paramètres que le graphiste aura gentiment exposés (couleur émissive, seed d’une map procédurale, etc...). Dans les faits, une substance génère plusieurs textures (dynamiquement, à la compilation, au lancement du jeu...) qui seront appliquées aux différents canaux d’un matériau PBR de Unity. On a donc en sortie pour cette tourelle, une diffuse map, une specular map, une normal map, une occlusion map et une emissive map.
Pour être exact, 770 pour la base et 332 pour la tête.
C'est ça dans les grandes lignes, même s'il y a surtout eu, pour la tourelle, génération d'une ID map pour l'application des matériaux et le baking des différentes textures, puis juste un tour sur Substance Painter (qui ressemble au texture painting de Blender mais en beaucoup plus complet et pratique) pour l'ajout de détails, salissures et autres saletés du genre.Quant à la partie texture (...)
Enfin retour sur Substance Designer pour rendre quelques éléments de textures "configurables" pour le développeur et finaliser tout ce qui est emissive maps.
Euh non, on est en PBR et dans le workflow metallic/roughness, donc on a en sortie une BaseColor (Albedo), une normal map, une roughness, une metallic et les deux maps optionnelles (non liées au type de workflow) Ambient Occlusion et emissive map.On a donc en sortie pour cette tourelle, une diffuse map, une specular map, une normal map, une occlusion map et une emissive map.
Pour l'autre type de workflow, dont je ne suis pas sûr qu'il soit supporté par Unity d'ailleurs, il s'agit du Diffuse (qui n'est pas identique à celui que l'on connaît en non-PBR puisqu'il prend en compte la pénétration de la lumière dans la matière), du specular (idem, c'est un indice de réflectance qui n'est pas exploité de la même manière que le classique que l'on connaît) et du glossiness (globalement l'opposé du roughness dans son utilisation).
Le reste n'a pas changé par rapport au texturing classique (normal map, AO, emissive, etc.).
@I_Pnose : ils vont vers un soleil couchant les robots ou ... ? Parce que bon j'avoue c'est tellement rouge orangé que je me suis demandé si j'avais pas fait une erreur de conception là ^^.
Merci pour les précisions (je n’avais pas l’éditeur de Unity sous les yeux), par contre après zieutage du matériau, j’ai bien une "metallic" mais je n’ai pas de "roughness", j’ai la vague impression que le shader mobile de Unity ne gère pas ce type de map (ce qui expliquerait les quelques différences de rendu entre tes screens et les miens, notamment sur le canon de la tourelle qui brille un poil sur mon rendu par exemple).
Si tu fais allusion à la prévisualisation Youtube, faut pas se formaliser ; leur kiffe c’est de rajouter un traitement feu de l’amour un peu dégueu (dont je ne comprends pas vraiment l’intérêt).
Par contre si tu parles bien du rendu que l’on voit dans la vidéo, ben... je ne suis pas doué en éclairage =P
Un rendu plus "neutre" (sur smartphone) :
Les deux maps sont regroupées dans une seule texture (et normalement supporté sur mobile).
http://docs.unity3d.com/Manual/Stand...rMetallic.htmlWith a texture assigned to the Metallic parameter, both the Metallic and Smoothness sliders will disappear. Instead, the Metallic levels for the material are controlled by the values in the Red channel of the texture, and the Smoothness levels for the material are controlled by the Alpha channel of the texture.
Unity utilise une smoothness au lieu d'une roughness par contre, faut penser à inverser les valeurs si les résultats sont bizarres.
Pfou merci Iradrille je commençais à avoir des sueurs froides ....
Le résultat est peut-être un peu moins précis (ça se comprend) mais il me paraît juste malgré tout.
Mais après vérification je sais à quoi il va falloir que je passe mon temps ... J'ai pas fini de bouffer du tuto moi ...
Le gars qui me dit que c'est marrant de texturer je l'égorge sur le champ !
Pourquoi tous les logiciels ne veulent pas juste se mettre d'accord pour utiliser exactement les mêmes choses précisément ... c'est déprimant.
Ah ben oui, exact ! Dans l’inspecteur de la substance, pour la texture "metallic", on voit que le canal par défaut est Smoothness. Or si je le passe sur Roughness (ou Metallic), on se rapproche déjà vachement plus du rendu original.
Bref, c’est cool, on en apprend tous les jours ^^'
Bonjour! ça a l'air super, par contre on ne voit pas d'interface. Je vois que vous avez ajouté des 'Hits' lorsqu'une unité est blessée. C'est important.
J'adore les tower-defense pour ma pars, mais parfois la lisibilité est assez difficile. On ne se rend pas bien compte de la place que prend une unité au sol, notamment lorsqu'elle a une forme non carrée.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager