Calcule de volume dans un espace

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Nate98
Messages : 7
Inscription : 17 Fév 2022 16:30

Calcule de volume dans un espace

Message par Nate98 » 17 Fév 2022 17:01

Bonjour à tous !
Voilà je vous explique ma problématique.
Je travaille actuellement sur mon premier projet 3D où je pose des caisses de fruits sur une palette.
Une fois le remplissage terminé, mon programme doit évaluer le volume prit par ces caisses sur cette palette.
Comment pourrais-je faire pour calculer l'espace que prend cette caisse dans un espace délimité (j'utilise ici un cube sans collision et sans rendu que je place sur la palette) ?
J'ai déjà réussi à récupérer les différents volumes de mes objets mais je ne sais pas comment calculer le pourcentage de remplissage de cet espace..
J'ai pu voir que peut être le Physics overlapbox pourrait m'aider mais je ne sais pas trop comment.

Merci de m'avoir lu !

Avatar de l’utilisateur
jmhoubre
Messages : 860
Inscription : 05 Oct 2019 22:05

Re: Calcule de volume dans un espace

Message par jmhoubre » 17 Fév 2022 18:58

Bonjour,

la question est certainement très claire pour toi, mais elle me laisse perplexe...
Comment pourrais-je faire pour calculer l'espace que prend cette caisse dans un espace délimité
Je suppose que tu veux dire volume ? Qu'entends-tu par espace délimité ? Je ne pense pas que tu demandes comment calculer le volume d'un parallélépipède de largeur a, de longueur b et de hauteur h ?
J'ai déjà réussi à récupérer les différents volumes de mes objets
Les objets, ce sont les caisses ? Alors où est le problème ? C'est une simple addition, non ?
mais je ne sais pas comment calculer le pourcentage de remplissage de cet espace
Quel espace ?

Nate98
Messages : 7
Inscription : 17 Fév 2022 16:30

Re: Calcule de volume dans un espace

Message par Nate98 » 17 Fév 2022 19:57

Je pense qu'un exemple sera beaucoup plus parlant que des mots :-D
En gros, j'aimerais calculer le volume occupé par mes caisses dans le cube une fois empilé sur la palette.
Mais je ne veux que le volume occupé dans ce cube, c'est à dire que si la caisse dépasse sur un des coté de la palette, je ne prend que ce qui dans la zone délimité par le cube.
J'aimerais avoir au final un pourcentage de remplissage de ce cube en calculant l'espace pris par les caisses et l'espace vide restant.
Le cube qui constitue ma zone n'a pas de Mesh Render mais se trouve sur la palette.
Image

J'espere être clair dans mes explications :gene:

Avatar de l’utilisateur
jmhoubre
Messages : 860
Inscription : 05 Oct 2019 22:05

Re: Calcule de volume dans un espace

Message par jmhoubre » 18 Fév 2022 01:06

Oui, c'est enfin clair. Reste une question : cela sert à quoi ? Je ne vois pas l'utilité de calculer le volume de caisses à l'intérieur d'un cube.
Unity ne fournit pas, à ma connaissance, une méthode magique pour régler ce problème.
Un OverlapBox à partir de ton cube invisible te permettra de récupérer toutes les caisses qui chevauchent le cube. Pour chacune de ces caisses, tu peux trier avec CheckBox : false ,celles qui sont complètement dedans, true, celles qui chevauchent un autre collider. Pour la seconde catégorie, je ne vois pas d'autres solutions que les maths (calcul de l'intersection de la caisse et du cube, puis calcul de ce volume, à soustraire de caisse + cube pour avoir le volume à l'intérieur du cube ). Tout cela en supposant que les caisses ont des colliders bien séparés.
Une belle partie de plaisir. D'où la question : cela en vaut-il le coup ? Si on connaît l'objectif, on aura peut-être une solution plus simple.

Nate98
Messages : 7
Inscription : 17 Fév 2022 16:30

Re: Calcule de volume dans un espace

Message par Nate98 » 18 Fév 2022 08:49

En effet je me doute que ça ne va pas être simple :gene:
C'est un projet dans le cadre de mon stage, c'est une application consistant en une formation de remplissage de palette qui utilise l'hololens, d'où le pourcentage de remplissage à la fin afin de savoir si on a été efficace ou non.
En tout cas merci, j'ai peut être déjà une piste maintenant !

Répondre

Revenir vers « Scripting »