Journal de bord

Journal de bord

Par Swing Swing Submarine Blog créé le 08/01/10 Mis à jour le 05/04/15 à 22h03

Ajouter aux favoris
Signaler
Programmatech

Enfin !

Enfin, je finis par publier ce programmatech attendu par 2 personnes (ils se reconnaîtront ^^) et peut-être plus si affinité.

Cette fois-ci, nous allons parler de Blender, l'outil utilisé un peu partout à Swing Swing Submarine (malheureusement il ne fait pas encore le café).

Cet outil permet de modéliser et d'animer des objets 3D. Nous nous attarderons aujourd'hui sur l'aspect modélisation.

Car suite au tutoriel Unity, certains d'entres vous (ils se sont reconnus) souhaitaient creuser un peu plus et utiliser autre chose que des sphères et des cubes dans leur compositions Unity.

Blender constitue une bonne alternative (gratuite et puissante) pour créer pleins d'objets 3D, alors sans plus attendre, vous trouverez un tutoriel détaillé sur ce billet :

Tutoriel : les prémices de Blender

Et le liens vers une archive contenant tous l'évolution du fichier Blender au fil du tutoriel :

Archive des ressources utilisées dans le tutoriel

 

Bonne modélisation, et rendez-vous dans les commentaires de ce billet pour une partie de questions/suggestions !

Guillaume

Ajouter à mes favoris Commenter (19)

Commentaires

Swing Swing Submarine
Signaler
Swing Swing Submarine
Rolala funduk, je vois des posts que maintenant (preuve de ma grande assiduité !)

Alors en vrac:

******* Post 1 ********
- Quand tu importes un maillage de Blender (que ce soit via un .blend ou un autre format de fichier compatible genre .obj, .fbx ou autre), tu n'obtiens dans Unity qu'un maillage.
Si tu fais glisser ce maillage dans l'onglet scène, Unity construit pour toi un 2 GAO : un père qui porte le nom du fichier .blend et qui possède un component "Animation" (si le fichier Blender avait une animation, je supposes qu'Unity arrive à la jouer grâce à ce component) et un GAO fils par objet Blender de la scène Blender (la plupart du temps un seul objet... enfin ça dépend comment tu découpes).
Le/les GAO fils ont un component "Mesh Filter" et "Mesh renderer" ainsi qu'un material associé. Le component "Mesh Filter" indique que le component "Mesh Renderer" va rendre le maillage.

Si tu veux que ton maillage visuel soit utilisé pour collisionner physiquement aussi, il faut que tu ajoutes toi-même un component physics "Mesh Collider" sur ton objet et que tu pointes sur le même mesh déjà utilisé par le component "Mesh Filter" (Unity te le fais d'ailleurs par défaut! lors de l'ajout d'un component "Mesh Collider").
Si ta géométrie visuelle est trop complexe, il vaut mieux associer un mesh physique plus simple. Ce mesh physique plus simple, tu peux le faire via Blender ou alors une primitive de base d'Unity peut suffire. Si tu fais un arbre sous Blender, tu peux vouloir une collision physique en forme de cylindre par exemple.

Enfin, après avoir rajouté un "MEsh Collider" à ton objet, il ne faut pas oublier de lui rajouter aussi un "Rigid Body" qui utilisera ce mesh collider pour collisionner avec les autres objets du monde physique. Et dans les paramètres de ce component, il ne faut surtout pas oublié de cocher "Convex" si ton maillage n'est pas convexe (c'est à dire si il est possible de prendre 2 points à l'intérieur de ton maillage et que le segment reliant ces 2 points n'est pas toujours contenu dans ton maillage).

Si c'est pas clair je peux t'envoyer un petit fichier de test avec la tête de singe Blender :)

- Pour placer un corps humain dans jeu, il y a plusieurs façon de faire:
* Soit il s'agit d'un personnage qui ne va jamais effectuer une anim de ragdoll. Dans ce cas il faut juste que tu conçoivent un objet skinné dans ton Blender favoris (un objet avec un squelette, le squelette étant animé et influençant la position des sommets du maillage).
Lors de l'import, Unity va rajouter un component qui n'est pas dispo dans les menus : "Skinned Mesh Renderer". Ce component est rajouté que si Unity remarque la présence de bones dans le fichier. Je ne sais pas si ça fonctionne directement en lui fournissant un .blend ou si il faut exporter dans un format spécifique depuis Blender. Je pense que ça marche bien avec du .fbx car les tuto Unity montrent des anims contenues dans un fichier .fbx.
(http://unity3d.com/s...shRenderer.html)
un bon petit exemple où un skinned mesh est utilisé:
http://unity3d.com/s...y-tutorial.html


* Soit tu veux que le moteur physique génère un anim de ragdoll, dans ce cas il faut aussi un Skinned Mesh (donc un objet avec des bones) et lui passer le ragdoll wizard dessus
(http://unity3d.com/s...dollWizard.html), de là tu pourras indiquer à Unity les bones de ta structure pour en faire un ragdoll.

* Je pense que tu peux aussi concevoir une sorte de squelette humanoide directement dans Unity en utilisant des liaisons physiques entres objet (avec des joints divers) et passer ça eu ragdoll wizard.

Je n'ai jamais uitlisé le ragdoll wizard mais je suppose qu'il rend les objets "non kinetics" une fois que l'anim de ragdoll doit être effectuée.

- Y'a des triggers dans Unity mais ils ne sont pas super automatisés. En fait les triggers sont des objet avec des components physics "X collider" (component Box Collider par exemple) et pour lequel tu coches "Is Trigger" dans les propriétés.
Ensuite il faut lui rajouter un script associé pour avoir un bout de code qui s'exécute lorsque quelque chose rentre dans la zone du collider.
(http://technology.bl...lider-examples/)

- Tu parles d'une animation type translation/rotation/scale ? Dans tous les cas, une fois que ton GAO possède son rigid body, ce dernier le suivra.

******* Post 2 ********
Hmmm, Screentoaster a pas mal bidouillé ses players ses derniers temps, j'espère que c'est revenu, sinon va falloir que je bouges les vidéos. Moi je testais sous Chrome et pas de problème a signaler, mais il est fort probable que le problème vienne de l'hébergeur de la vidéo :(

******* Post 3 ********
Si tu veux m'envoyer la scène en question je pourrais regarder.
Mais à priori je dirais que c'est peut être un problème de culling (les faces peuvent être mal orientées).
Tu importes un fichier .blend ? Du coup est ce que tu vois toute la hierarchie de ton fichier dans Unity ?
Est ce que tu vois les maillages mais pas les textures dans Unity ? Dans ce cas c'est que les matériaux Blender on été mal importés. Tu peux recréer des matériaux dans Unity avec les textures utilisées dans Blender.
Enfin il peut y'avoir beaucoup de cas de figure pour lesquels sa merdouille, le mieux serait une petite scène .blend avec ses textures pour que je puisse tester ça.

Les fichiers .blend c'est cool pour tester rapidement, mais à terme je conseille quand même de réexporter en .fbx par exemple, qui offre un support plus optimale dans Unity.

++
Et désolé de pas avoir vu ça plus tôt :(
funduk
Signaler
funduk
Décidement, c'est mon jour : j'ai une magnifique rue avec une magnifique texture et un magnifique rendu, et ben tout disparaît quand je le passe sous Unity.
Quand je clique sur street dans la scenery, je vois bien un component Texture, mais cette texture et grise, et j'ai beau cliquer gauche / droite un peu partout, je ne vois absolument pas comment faire pour retrouver ma texture.
Par contre, j'ai téléchargé le premier .blend texturé sur internet qui me tombait sous la main, et les textures s'affiche parfaitement.

...

?
funduk
Signaler
funduk
Argh !
Sur le tuto Blender, je n'ai plus aucune vidéo qui s'affiche. Je reste sur un écran noir + loading (à la fois sous IE et sous Firefox)
funduk
Signaler
funduk
Je me posais juste quelques questions (même si je n'aurais surement besoin des réponses que dans très longtemps) :
- On a, part défaut, quand on ajoute un objet dans Unity, un Component qui décrit les données physiques du corps au cas ou l'on aie besoin d'un Rigibody. Si j'importe un fichier de Blender, je vais devoir recréer ce component moi-même ?
- Si je veux placer un corps humain, que je veux qu'il obéisse aux lois de la physique mais pas qu'il s'écroule par terre comme tout corps humain le ferait si on n'avait pas de muscles, il suffit de cocher "Is kinematic" ?
- Y'a des triggers dans Unity ? (Je pense à des triggers comme dans Trackmania. Au final, qu'est-ce que c'est simple, de faire des scripts dans Trackmania)
- Dernière question, même si je crois avoir la réponse : quand on donne un Rigibody à un GAO, et qu'on l'anime, pas la peine de recréer un Rigibody ?
Swing Swing Submarine
Signaler
Swing Swing Submarine
Salut funduk,

Bonne chance avec la doc de Unity :)

Tu as raison, c'est très facile ces programmatek mais... incomplet.
Le but était (et est toujours) de faire un "jeu" de A à Z avec le duo Unity/BLender. En l'occurrence un jeu de labyrinthe.
Faut juste que je trouve le temps pour faire la suite qui tarde gravement à venir :P.

Le site du zéro est un très bon site, mais là j'ai voulu axé le truc sur la vidéo, car c'est toujours plus marrant de voir faire quelque chose dans un logiciel que de le lire. Et au moins si on est pas assez intéressé pour réaliser le tuto, on peut toujours le regarder :)

Merci pour ton feedback, en espérant que je tarde pas trop pour embrayer la suite des tutos.

Guillaume
funduk
Signaler
funduk
Ca fait longtemps que vous me l'aviez linké depuis les com's de l'un des Inside, et j'ai enfin pris le temps de regarder tout ca.
C'est super-intéressant et très facile mais ... Est-ce que vous allez réussir à nous apprendre à créer un jeu (je parle techniquement, bien sur, parce qu'après il fait le game design, la direction artistique, ...)
Si vous voulez aller plus loin avec Blender, il y a un très bon tuto sur le SDZ (le site du zéro) sur Blender, et pour Unity ... Je vais voir si je vais réussir à tirer quelque chose de ma plongée en eaux profondes dans sa documentation.
En tout cas, bonne chance pour Seasons, le design du jeu m'allèche beaucoup et je m'attends à une bonne surprise !
(Souhaitez-moi aussi bonne chance, avec cette doc ...)
Swing Swing Submarine
Signaler
Swing Swing Submarine
Hehe, surtout que pour le coup, Darksider est super long (j'ai du mettre une 20aine d'heures).
C'est clair que Blender va pouvoir attendre ^^

Guillaume
SeeDreeks
Signaler
SeeDreeks
@ Guillaume : Ah ah ah je comprends aussi le coup du Kratos. Moi je suis obligé d'attendre que tout mon petit monde dorme (seulement le week-end hein) pour mener ma "Guerre" à Darksiders. Mon temps de jeu est à 2-4 heures par semaine concentré sur le vendredi et samedi soir. Blender va devoir se frayer un chemin dans cet emploi du temps réglé au millimètre.
Swing Swing Submarine
Signaler
Swing Swing Submarine
@Enimal:
mais pas de quoi, et tu harcèles pas. Si personne venait discutailler dans les commentaires on serait triste :)
Prompt rétablissement en tout cas !

@SeeDreeks:
hehe, c'est compréhensible, avec un minot et tout :) (moi j'ai un Kratos à la maison, il commence à être entêtant tant que je lui ai pas fait faire son jeu à 100% ^^)

++
Guillaume
SeeDreeks
Signaler
SeeDreeks
Pas eu le temps de m'y essayer ce week-end... le temps est une denrée rare et qui me coute de plus en plus cher... snif !
Enimal
Signaler
Enimal
Merci pour le tuto, désolé de t'avoir harcelé au fait :)
Je n'ai toujours pas essayer blender, mais promis j'essaye cette semaine, (j'ai été un peu malade, donc je n'ai pas eu l'occasion d'aller sur l'ordinateur).
Swing Swing Submarine
Signaler
Swing Swing Submarine
salut locococo,
Pour Blender je sais que le studio parisien Le Cortex utilise Blender pour prototyper. Car Blender possède aussi un moteur de jeu intégré qui permet assez rapidement de scripter ses objets.

Le Cortex est un petit studio indé. Chez les plus gros studio, j'ai pas d'exemple à ma connaissance qui utilise Blender, que ce soit en prototypage ou en production.

C'est difficile de savoir, mais en général les studios utilisent plutôt des logiciels avec des roadmaps bien définies et précises, avec un gros support technique (Autodesk pour pas les citer).

Si tu veux voir un jeu fait en 48h via le Blender GameEngine, c'est ici que ça se passe (avec des gens du Cortex dedans) :)


Jvais voir si j'arriev à dégoter d'autres noms :P

Guillaume
locococo
Signaler
locococo
Intéressant, vous bossez avec Blender. Connaissez-vous d'autres boites qui utilisent ce logiciel?
Swing Swing Submarine
Signaler
Swing Swing Submarine
Salut Cortout,

Merci de ce bon petit post :)

Pour les outils d'Eskil, j'avais vu la vidéo ici:
http://media.assembl...64_1856kbit.mp4
(avec pleins d'autres vidéos interessantes dnas le même dossier...)

et effectivement, tu as l'air de bien décrire ses outils qui sont assez "spéciaux" du fait de la minimalité de l'interface graphique et de la manière de concevoir.

J'ai l'impression que les outils qu'il a créé sont taillés pour son jeu. Si les meshes sont approximatifs il s'en moque puisqu'il a tellement de post-process dans son jeu que la géométrie ne se distingue pas bien au final (dans la vidéo il fait voir avec et sans post-process en s'exclamant "computer graphics... not computer graphics !").

J'ai essayé Love dans les premiers temps, mais pas le tools (je sais plus si il était dispo, mais sûrement).
Faudrait que je teste ça effectivement. Surtout qu'il m'avait donné de bonnes idées avec son histoire de Verse.
Car nous on utilise Blender comme éditeur de niveau aussi pour Seasons (en plus de la conception des anims), puis on fait un export pour que la map soit rechargée dans le moteur du jeu. Et je pensais faire un client Verse dans notre moteur qui écouterait juste les changements qui nous intéresse dans le level Blender (déplacement d'objets, édition de maillage, tweak matériaux, ... etc).

Merci de me rappeler l'existence de ce tool qui m'avait mis sur le derrière lors de la vidéo linkée plus haut ;)

++

Guillaume
Cortout
Signaler
Cortout
Bonjour à toi Guillaume, c'est bien sympa de ta part de nous rédiger un tuto :)
J'avais déjà essayé d'apprendre à utiliser Blender il y a moment déjà, j'avais réussi à faire quelques petits trucs, mais me suis vite concentré sur la 2d. Mais j'ai des souvenirs assez douloureux liés au texturing. Déjà parce qu'on ne m'avait pas montré cette astuce du render automatique, (c'est une update récente?) et j'étais obligé d'aller créer un render dès que je voulais vérifier les modifications. Et je ne connaissais pas du tout l'unwrapping, je texturait face par face, en calculant à l'avance la taille nécessaire à la texture, pour éviter la pixelisation ou la texture répétitive trop visible. Et vu que j'avais décidé de peindre à la main chaque texture, une erreur de calcul était très mal accueillie.
Bref, tout ça pour dire que j'ai laissé tomber Blender, et la 3d avec, mais que j'ai grande envie de m'y remettre, parce que les outils que j'attendais depuis bien longtemps sont enfin sortis. Tu as essayé Loq Ariou, d'Eskil Steinberg, le créateur du mmo Love?
Non seulement l'outil est beaucoup plus intuitif et esthétique, il peut facilement être relié à d'autres logiciels, dont Blender, grâce à Verse, une sorte de Hub où peuvent se connecter pas mal de logiciels. Je vais pas non plus faire de la pub, toutes les infos sont ici: http://www.quelsolaa...erse/index.html

Vu ta qualité de graphiste, j'aimerais bien avoir ton avis dessus. J'ai pas trop eu l'occasion de m'amuser avec, mais j'ai déjà été bien dérangé par le fait qu'on travaille sur des surfaces planes qu'on étire et courbe. Et puis je n'ai pas trop réussi à faire faire ce que je voulais, c'était très joli sans effort, mais un peu aléatoire, vu que le contrôle s'exerce par le biais d'une sorte de coque qui n'est pas l'objet en sois. Et en plus, j'étais un peu perdu dans l'espace, sans les vues préprogrammées du pavé numérique et sans affichage de la longueur de mes côtés. Je vais essayer de m'y plonger ce W-E, pas trop le temps avant, mais j'aimerais bien avoir ton impression, si tu as le temps, bien sûr. Mais de nouveaux logiciels Freeware est toujours une bonne nouvelle, non ? :)
Swing Swing Submarine
Signaler
Swing Swing Submarine
Salut SeeDreeks,

Hésites pas ce week end à venir pester ici si c'est incompréhensible. J'ai essayé de faire ça dans l'ordre, depuis le début. Mais il est possible qu'il manque des étapes pour bien comprendre, mais il manque surtout plein de truc en général parce que Blender, tout comme d'autres suite 3D, est assez vastes en possibilités ^^

Du coup ce tuto c'est vraiment comprendre l'interface et voir comment on commence à modéliser. Pour mettre le pieds à l'étrier en somme.

Et si t'as des interrogations sur des choses pas décrites, hésites pas non plus. Je pourrais peut-être y répondre (chuis pas un pro du Blender non plus :))

++
Guillaume
SeeDreeks
Signaler
SeeDreeks
Ahhhh cool un nouveau tuto. Merciiiiii Guillaume.
Bon je vais voir ça de plus près ce week-end, j'ai déjà installé Blender sur mon mac en vue de ce post hé hé. Bon je suppose que Enimal va lui proposer très vite des choses. Hate de voir ça.

A bientôt.
Swing Swing Submarine
Signaler
Swing Swing Submarine
Hehe, c'est vrai que l'interface de Blender est pas réputée pour ne pas être rebutante au départ... mais une fois qu'on comprend un peu la philosophie de la chose, ça passe mieux et on commence à voir que Blender est une alternative plus que potable face à des mastodontes (payants, et chers) comme 3DS Max :)

Guillaume
Albob
Signaler
Albob
Yay! Moi je suis justement curieux d'en savoir plus, c'est pas souvent qu'on trouve des défenseurs de ce logiciel :)

Édito

Grâce à ce mini-devblog en français, vous pourrez suivre l'activité de notre minuscule studio de développement indépendant Swing Swing Submarine.

Nous sommes une petite équipe d'hommes et de chats passionnés qui souhaitent partager de nouvelles expériences interactives avec les joueurs du monde entier, et ceux de Gameblog en font bien évidemment partie !

--------------------------------------------------------

Quelques liens utiles :

> Site officiel <

> Twitter <

> Facebook <

Archives

Favoris