mercredi 4 juillet 2018

[Unity3D][Défi50Jours] Jour 12 et 13 - Améliorations et maisons

Coucou.



Alors oui déso j'ai pas touché au truc ce weekend, et je n'ai pas non plus posté d'updates depuis quelques jours. J'avais la flemme, je fais des journées longues tu sais? C'est compliqué la vie, surtout qu'après le boulot je dois rentrer, me faire à manger, et jouer aux jeux vidéos, du coup c'est dur de trouver du temps !

Mais soit rassuré, toi, lecteur avisé, je suis de retour ! J'ai bel et bien bossé lundi et hier, et oui, j'ai avancé! J'ai même sûrement rattrapé mon retard vu que j'ai fait deux sessions de 3h environs. Et quoi de nouveau vas-tu me demander? Hé bien nous l'allons voir tout de suite.




D'abord, des trucs pas très visibles, mais j'ai refactorisé le code. J'ai créé de nouvelles classes, et c'est un peu plus facile à comprendre et surtout à manipuler. Je ne vais pas vraiment rentrer dans les détails parce que ce n'est pas intéressant, mais en gros tout est prêt pour pouvoir accueillir facilement des nouveaux types de blocs.

Ensuite, une petit amélioration du traçage de route, j'ai fait en sorte que le dernier bloc placé soit dans le même sens que celui qui le précède, parce qu'avant c'était chelou.


Avant
Apres

Ensuite, j'ai ajouté un deuxième type de bloc: les maisons. Au début c'était juste un cube, pour pouvoir tester. Mais en gros, j'ai suivi ce que j'avais déjà fait avant, et nous avons maintenant une maison que l'on peut placer, à condition qu'il n'y ait pas déjà quelque chose de placé a cette case, et que l'on peut sauvegarder/charger en même temps que la map. Rien de nouveau donc je vous épargne les détails.

En revanche, je me suis mis en tête de faire un modèle de maison sous blender histoire que ça soit plus beau. Et voici cette belle maison (admirez cet ultra skill en modélisation).




Beau non? Blender, c'est un logiciel de modélisation 3D, totalement gratuit, léger, mais extrêmement puissant. L'interface fait un peu peur au début, mais en fait c'est très rapide à prendre en main. Cette maison, il m'a fallu 15 minutes pour la faire, peut être même moins. Et une fois fait il a fallu l'importer sous Unity. Il y a eu deux soucis: premièrement, les axes x,y,z ne sont pas les mêmes sur Unity et Blender. L'un a y comme axe vertical, et l'autre z. Ce qui a fait que la maison s'était retrouvée allongée sur le flanc en l'important. Mais heureusement, Blender a une communauté très active, et un membre a fourni un script permettant d'exporter dans le bon sens vers unity. Propre!

Le deuxième soucis était que l'objet faisait une taille deux fois trop grande et ne pouvait pas être contenu dans une case. Cela est en fait du au fait que les deux logiciels n'ont pas la même "echelle" si l'on peut dire. Sous Blender, une unité équivaut a deux unités sous Unity. (Ces unités ne sont pas vraiment nommées en fait, ce ne sont pas spécialement des cm, m, ou autres, c'est à nous de choisir ce que ça représente). Mais du coup le fix était simple: diviser la taille par 2 dans blender. Et après ça on peut l'utiliser sans soucis :)

Ensuite, j'ai remplacé l'ancien prefab par cette nouvelle maison, et HOP, on a un truc vachement plus beau à montrer. J'ai aussi fait en sorte que l'on puisse changer entre route et maison en appuyant sur les boutons 1 et 2 du clavier. Tout mis ensemble, voici le résultat:

Final

Et voilà voilà ! Ça commence a ressembler a un vrai jeu non? La suite, c'est de pouvoir tourner les éléments, puis de créer l'interface et d'ajouter un coût à la pose des objets.

Comme d'hab si cet article vous a plu, n'hésitez pas à le partager, et à régir avec vos remarques, questions ou toute autre choses. Des bisous.

Aucun commentaire:

Enregistrer un commentaire