Rendre un objet "plein"

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Linaë
Messages : 13
Inscription : 02 Juil 2019 16:35

Rendre un objet "plein"

Message par Linaë » 02 Juil 2019 16:39

Bonjour à tous,

Je débute en 3D et donc sur Unity. J'ai besoin d'un outil pour faire des plans de coupe, ce que j'ai trouvé auprès de cet asset : https://assetstore.unity.com/packages/t ... mate-16609
C'est presque parfait.

Le problème c'est que comme mon objet est vide à l'intérieur, lorsque je coupe, je ne me retrouve pas avec un solide mais avec un objet creux (il s'agit d'un cylindre).

J'aimerais savoir comment rendre ce cylindre plein de matière en quelque sorte pour avoir réellement la sensation d'un volume coupé.

J'espère que quelqu'un a une réponse simple à cette problématique...
Vous remerciant par avance

Linaë

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

Re: Rendre un objet "plein"

Message par boubouk50 » 02 Juil 2019 16:59

Linaë a écrit :
02 Juil 2019 16:39
J'espère que quelqu'un a une réponse simple à cette problématique...
Argh, non.
C'est difficile de remplir puisqu'il n'y a aucune information.
Heureusement pour toi, des gens ce sont déjà creusés la tête pour répondre à ce besoin, mais je ne sais pas si ça s'adapte pour tous les objets, pour un cylindre, ça devrait le faire je suppose.
J'essaie de te retrouver ça.
"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
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Rendre un objet "plein"

Message par Max » 02 Juil 2019 17:26

Hello,

Je ne sais pas si Boubouk est retombé sur le lien qu'il avait à l'esprit, mais celui-ci pourrait convenir.
Le dernier shader listé en bas de sujet fonctionne bien ;)

Image
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
boubouk50
ModoGenereux
ModoGenereux
Messages : 6214
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Rendre un objet "plein"

Message par boubouk50 » 03 Juil 2019 09:06

Je recherchais la même chose, Fab est venu à mon secours:
https://github.com/Dandarawy/Unity3DCrossSectionShader
Image
"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

Linaë
Messages : 13
Inscription : 02 Juil 2019 16:35

Re: Rendre un objet "plein"

Message par Linaë » 03 Juil 2019 09:54

Salut,

Merci ! Je ne sais pas si j'ai pris "le bon" mais le TheCrossSectionProject fait bien ce dont j'avais besoin, ouf !

Si je peux abuser encore un peu de votre temps précieux, le but final étant d'obtenir l'intersection en 2D (en l'occurrence un cercle), ce serait magique si vous aviez une idée de comment l'obtenir.

Je précise qu'une simple vue de dessus ne conviendra pas car mes formes étant inclinées verticalement, le rendu serait faussé, il me faudrait vraiment uniquement l'intersection.
J'imagine que cela doit être possible, j'imagine que c'est un peu comme faire un plan du sol dans un jeu vidéo...

Merci pour votre temps en tout cas.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Rendre un objet "plein"

Message par Alesk » 03 Juil 2019 10:36

Malheureusement, la solution proposée est un shader, donc uniquement quelque chose qui se passe à l'affichage, dans le GPU de ta carte graphique...

Tu ne pourras donc pas récupérer la moindre info pertinente pour ce que tu veux faire.

Là il te faudrait une librairie pour gérer des intersections de meshes, des opérations booléennes, CSG, etc ... et c'est beaucoup plus compliqué :gene:

Mais des gens ont déjà fait le taf : http://meshmaker.com/boolean-ops/

Linaë
Messages : 13
Inscription : 02 Juil 2019 16:35

Re: Rendre un objet "plein"

Message par Linaë » 03 Juil 2019 14:49

Fiouh, je suis en train d'essayer les assets un à un et il y a toujours quelque chose qui fonctionne mal :roll:
J'installe une version non alpha de Unity et je réessaye parce que j'ai une tonne d'erreurs de compilation.

CSG a l'air d'être pas mal, à voir si je peux le faire fonctionner in game et non uniquement dans l'Editor !

Merci

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Rendre un objet "plein"

Message par Alesk » 03 Juil 2019 15:04

oui.... ça risque d'être compliqué...

Bon sinon, tu veux faire quoi exactement avec ça ? Si ça se trouve il y a une solution plus simple à utiliser. Peux-tu décrire le contexte exact ?

Linaë
Messages : 13
Inscription : 02 Juil 2019 16:35

Re: Rendre un objet "plein"

Message par Linaë » 03 Juil 2019 15:38

Bien sûr.
Il s'agit d'un projet de logiciel pour observer l'intersection des plusieurs objets (proches de cylindres) avec un plan de coupe.

Donc pour une ou plusieurs hauteurs données (il faudrait une sorte de slider pour gérer la hauteur de coupe), on aimerait avoir l'intersection à plat, en 2D dans une petite fenêtre sur le côté.

C'est tout bête mais bon en tant que débutante et non développeuse par dessus le marché, je me casse les dents.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Rendre un objet "plein"

Message par Alesk » 03 Juil 2019 18:19

Ok

Alors dans ce cas, tu peux continuer avec juste le shader proposé précédemment.

Pour avoir ta vue à part, tu peux utiliser une seconde caméra, en projection orthographique, qui filmera tes objets en vue de dessus.

Répondre

Revenir vers « Unity le logiciel »