Besoin d'une piste pour mon projet

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Besoin d'une piste pour mon projet

Message par fabienst » 23 Sep 2017 12:04

Bonjour,

Je découvre Unity, donc je suis complètement novice, j'ai des notions en développement C pour la bas niveau, mais depuis quelques années plus orienté haut niveau, PHP et VBA...

Pour mon travail, je cherche à élaborer un programme me facilitant la vie, puisque je dois estimer pour chaque nouvelles références la charges optimale de contenants pour N pièces identiques mélangées pèle mèle.

Sachant que je dessine chaque pièces en 3d avec Solid Edge.

Bref créer un simulateur de foisonnement, avec un récipient virtuel de X volume, par exemple 20 cl ou autre pour faciliter le calcul machine (inutile à mon avis de simuler le contenant entier de 20 à 25L)

Avec un lâcher de N pièce d'une même ref sur le dessus, jusqu’à débordement du récipient,
L'idéale, bien sûr serait de pouvoir stopper automatiquement l'écoulement par détection de collision d'une pièce avec le sol, ce qui devrait être assez simple.

En revanche je dois creuser pour trouver comment faire apparaître un objet avec les même caractéristiques X fois au même endroit, et assurer leur comptage.

Le projet est relativement simple et peu ambitieux, mais reste compliqué pour un néophyte comme moi ;-)
Donc si vous avez une idée comment articuler celui-ci, vos conseils seront les bienvenus.

Voici mon prototype vierge, qui peut vous aidez à visualiser le projet :

https://youtu.be/I_XgWHTZx_A

Merci,

Fabien
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Re: Besoin d'une piste pour mon projet

Message par fabienst » 23 Sep 2017 13:45

Bon mon fils aîné m'a bien aidé :)

Il m'a mis un générateur de pièce lancées dans des axes aléatoires, un compteur de pièce etc...
En quelques minutes... du coup j'ai pris un coup de vieux ;)

Le contenant est par contre trop volumineux, en fin de remplissage le pc rame sec, je vais mettre un récipient plus petit.

Ensuite je vais essayer de me débrouiller seul pour ajouter les GUI texte etc...
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Besoin d'une piste pour mon projet

Message par Max » 23 Sep 2017 14:27

Bonjour Fabien,
fabienst a écrit :
23 Sep 2017 13:45
Bon mon fils aîné m'a bien aidé :)

Il m'a mis un générateur de pièce lancées dans des axes aléatoires, un compteur de pièce etc...
En quelques minutes... du coup j'ai pris un coup de vieux ;)
c'est bien d'avoir de l'aide dans son entourage,
et non ce n'est pas une question d'âge :mrgreen: (et c'est un membre émérite de l'ATVD qui te le dit - association des très vieux développeur)
fabienst a écrit :
23 Sep 2017 13:45
Le contenant est par contre trop volumineux, en fin de remplissage le pc rame sec, je vais mettre un récipient plus petit.
Le soucis, c'est que le moteur physique peut être très groumant en ressource, surtout si tes pièces en passent par des mesh collider (est-ce la cas ?). Donc, oui, cela risque de ramer fort assez vite, passé un certains nombre de pièces.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Re: Besoin d'une piste pour mon projet

Message par fabienst » 23 Sep 2017 14:49

Bonjour,

Ok donc l'âge est un bon prétexte à mon ignorance ;)

Oui effectivement, les pièces passent par des mesh collider, car l'intérêt premier est de simuler le plus réalistement les phénomènes de foisonnement.

Voici la version avec le code de mon fils :oops:

https://youtu.be/6YTeM3bOYaI

Récipient de 20ml et comptage (et décomptage des pièces éjectées) puis arrêt automatique :)

Reste à pouvoir faire directement des importations de pièce avant le lancement, ajouter en fin de remplissage un mouvement vibratoire ou rotatif du récipient pour tasser un peu l'ensemble...

Ensuite de l'habillage et ça devrait pas être trop mal, je pense que c'est un exercice intéressant pour aborder Unity.
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Besoin d'une piste pour mon projet

Message par Max » 23 Sep 2017 15:59

fabienst a écrit :
23 Sep 2017 14:49
Oui effectivement, les pièces passent par des mesh collider, car l'intérêt premier est de simuler le plus réalistement les phénomènes de foisonnement.
ok, je comprends. Mais entre ce réalisme que l'on cherche naturellement et les capacités techniques des outils employés, c'est souvent le grand écart ;)
Les meshcollider sont très gourmands, je pense que je ne t'apprend rien. Il est souvent plus judicieux, pour reproduire la forme générale des pièces par le biais de primitives, technique du compound colliders, genre (lien vers la doc sur l'image):
Image

Maintenant, il est vrai que cela impose un travail sur l'objet en amont, probablement difficile si tu souhaite travailler sur des objets importé en runtime....(bien qu'il existe des tools qui proposent de faire ce genre de chose)

Déjà bien sympa cette demo ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Re: Besoin d'une piste pour mon projet

Message par fabienst » 23 Sep 2017 17:13

Oui c'est une alternative, pour l'instant je souhaite surtout créer un interface de configuration avant le lancement de la simulation, pour sélectionner la pièce à cloner (préalablement exporté en .obj), renseigner son poids, et sélectionner un récipient en fonction de leur gabarit, car celles-ci varient entre 2 à 150 mm de longueur...

Merci pour vos conseils,

Fabien

Edit merci pour le lien, je le garde sous le coude pour optimiser l'animation par la suite :)
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Re: Besoin d'une piste pour mon projet

Message par fabienst » 25 Sep 2017 09:53

Bonjour,

Je bloque pour l'importation des fichiers obj ou stl car avec les deux script suivant :

STL importer : https://github.com/karl-/pb_Stl/blob/ma ... mporter.cs

Code : Tout sélectionner

 var mesh = pb_Stl_Importer.Import(@"C:\Users\PC-salon\Desktop\ok.stl");
           return mesh[0] != null ? mesh[0] : null;
OBJ importer : http://wiki.unity3d.com/index.php/ObjImporter

Code : Tout sélectionner

    ObjImporter objImporter = new ObjImporter();
                var mesh = objImporter.ImportFile(@"C:\Users\PC-salon\Desktop\ok.obj");
                return mesh != null ? mesh : null;
J'arrive à charger avec l'un ou l'autre le mesh qui est bien pris en compte en meshcollider... mais reste invisible en rendu...

A moins que j'essaye celui-ci : https://pastebin.com/7sLteqNw

Même si souhaiterai pouvoir importer des STL... car mes pièces sont dessinées depuis Solid Edge... et pas d'exportation direct en FBX ou OBJ...

Si vous avez une idée ou un tut vers lequel m'orienter.

Merci d'avance,

Fabien
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6216
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Besoin d'une piste pour mon projet

Message par boubouk50 » 25 Sep 2017 10:46

Salut,

Que veut dire: invisible en rendu mais fonctionnel en MeshCollider? Est-ce que tes objets ont un MeshRenderer? un MeshFilter? Peux-tu nous mettre une capture des Components des objets en question depuis Unity, stp.

Concernant, l'import des STL, cela est délicat car le mode de création du mesh est surfacique, c'est à dire qu'il dépend d'un niveau de détails. il peut donc être exporté avec 2 millions de poly tout comme 4. Vu qu'Unity ne fonctionne qu'avec du polygonal, il vaut mieux essayer de le convertir avant via un autre logiciel 3D polygonal qui importe des STL (3dsmax par ex, mais surement d'autres) ou des outils plus spécifiques de conversion tel DeepExploration.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
fabienst
Messages : 29
Inscription : 23 Sep 2017 11:23

Re: Besoin d'une piste pour mon projet

Message par fabienst » 25 Sep 2017 11:15

Voici la capture Componants du préfab (Edit car la capture était celle du mesh initial) :

Image

du préfab default associé au mesh précédent :

Image

Une capture lors de l'exécution du programme (pause), en vert le bon mesh correctement importé (transparent)... en rouge le précédent mesh :

Image

Je suis désolé je débute avec l'aide de mon fils, donc j'ai encore beaucoup à apprendre.
Merci,

Fabien
Un problème sans solution est un problème mal posé. – Albert Einstein

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6216
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Besoin d'une piste pour mon projet

Message par boubouk50 » 25 Sep 2017 12:26

Il manque un MeshFilter sur ton objet. Il est normalement automatiquement ajouté à l'import de l'objet. Tu peux l'ajouter manuellement puis aller chercher le Mesh à la main.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Unity le logiciel »