Topic: Boolean bug?  (gelezen 272 keer)


Offline Léon

  • Member
  • *
  • Berichten: 26
    • Bekijk profiel
« Gepost op: 06 september 2018, 09:16:51 am »
Ik kom het volgende probleem tegen.
Wanneer ik een boolean-difference uitvoer op objecten waarvan een van de vlakken samenvallen, dan faalt de boolean. Als voorbeeld hier een testje met kubussen, rechthoeken en cilinders (zie bijlage).
- Twee kubussen: zogauw er geen samenvallende vlakken zijn werkt het.
- Rechthoek en een kubus: er valt een gat in de rechthoek wanneer er vlakken samenvallen.
- Twee cilinders: boolean werkt alleen als de smallere cilinders langer is.

Is dit een bekend probleem dat ook bekend is bij de ontwikkelaars?

Overigens lukt het soms wel als ik ipv. 'bmesh' voor 'carve' kies, maar dan treden er soms met andere acties (zoals mirror) weer problemen optreden.



Offline Rezzy777

  • Member
  • *
  • Berichten: 96
    • Bekijk profiel
    • Live Arts
« Reactie #1 Gepost op: 06 september 2018, 10:06:40 am »
Ik geloof dat vlakken in een Boolean bij geen enkel programma mogen samenvallen,
simpelweg omdat het programma dan niet weet wat te doen met dat overlappende vlak.

Offline JamieVanCadsand

  • Member
  • *
  • Berichten: 145
  • Blender Project: Geen
    • Bekijk profiel
« Reactie #2 Gepost op: 06 september 2018, 10:31:38 am »
Ik kom het volgende probleem tegen.
Wanneer ik een boolean-difference uitvoer op objecten waarvan een van de vlakken samenvallen, dan faalt de boolean. Als voorbeeld hier een testje met kubussen, rechthoeken en cilinders (zie bijlage).
- Twee kubussen: zogauw er geen samenvallende vlakken zijn werkt het.
- Rechthoek en een kubus: er valt een gat in de rechthoek wanneer er vlakken samenvallen.
- Twee cilinders: boolean werkt alleen als de smallere cilinders langer is.

Is dit een bekend probleem dat ook bekend is bij de ontwikkelaars?

Overigens lukt het soms wel als ik ipv. 'bmesh' voor 'carve' kies, maar dan treden er soms met andere acties (zoals mirror) weer problemen optreden.



Ik zelf vind de boolean tool/modifier ook niet echt de beste optie voor het maken van gaten en
het samen voegen van objecten... De reden dat ik het niet vaak gebruik, is dat het je topology
compleet kan verwaarlozen wanneer je niet goed uitkijkt...

Soms kun je het misschien gebruiken voor het modelleren van architecturale projecten zoals
gebouwen, huizen en dergelijken, wanneer je bijvoorbeeld een gat wilt maken voor ramen of deuren,
maar ik zelf gebruik het niet vaak voor complexe dingen zoals bijvoorbeeld het modelleren van
patronen en dergelijken...

Ik raad je de boolean tool/modifier dus niet aan..., voor complexere modellen zal ik eerder
de knife tool of dergelijken gebruiken, of vertices verwijderen en vullen op de juiste manier bijvoorbeeld.

Succes, Jamie.
Ik ben aan het leren programeren en gebruik hiervoor om te beginnen 'Pure Basic'... Nu nog het spelletje 'Bouncing Ball' verder programeren en ga naar niveau II. Dan krijg ik nog moeilijkere opdrachten en moet ik dacht ik ook codes leren analyseren, op papier zetten en her-programeren...

Offline Léon

  • Member
  • *
  • Berichten: 26
    • Bekijk profiel
« Reactie #3 Gepost op: 06 september 2018, 15:21:54 pm »
Ik geloof dat vlakken in een Boolean bij geen enkel programma mogen samenvallen,
simpelweg omdat het programma dan niet weet wat te doen met dat overlappende vlak.

Klopt niet wat je nu zegt, want in 3DS Max werkt het wel.

Overigens werkt het verouderde Carve beter dan Bmesh (zie bijlage).
In versie 2.8 heb je overigens die keuze al niet meer.

Máár ...... ik heb de oplossing al gevonden! Ik kwam erop toen ik de bijlage aan het voorbereiden was.

Bmesh heeft een instelling die Carve mist; door de 'Overlap Threshold' te verhogen ben je het probleem kwijt. Hopelijk leidt dit niet elders tot problemen, maar vooralsnog werkt dit.



Offline Rezzy777

  • Member
  • *
  • Berichten: 96
    • Bekijk profiel
    • Live Arts
« Reactie #4 Gepost op: 06 september 2018, 15:40:25 pm »
Weer wat geleerd, dank je wel! ;)

Offline Léon

  • Member
  • *
  • Berichten: 26
    • Bekijk profiel
« Reactie #5 Gepost op: 06 september 2018, 15:51:16 pm »
Ik zag trouwens dat in versie 2.8 de 'Overlap Threshold' standaard al op 1 micrometer staat. Kennelijk was het dus al bekend bij de ontwikkelaars. Echter bij een difference gaat het ook daar weer fout!
Als je daarna de Threshold op 0 zet, dan is het daarna weer goed, maar ook weer niet in alle gevallen, helaas.  >:(

Een beetje èrg buggy is het dus toch nog wel! Frustrerend, hoor!

p.s.
Oók in 2.79 werkt het dan weer wel, dan weer niet. Ik wacht wel tot ze dit opgelost hebben.
« Laatst bewerkt op: 06 september 2018, 16:10:06 pm door Léon »

Offline JamieVanCadsand

  • Member
  • *
  • Berichten: 145
  • Blender Project: Geen
    • Bekijk profiel
« Reactie #6 Gepost op: 12 september 2018, 11:07:02 am »
Ik zag trouwens dat in versie 2.8 de 'Overlap Threshold' standaard al op 1 micrometer staat. Kennelijk was het dus al bekend bij de ontwikkelaars. Echter bij een difference gaat het ook daar weer fout!
Als je daarna de Threshold op 0 zet, dan is het daarna weer goed, maar ook weer niet in alle gevallen, helaas.  >:(

Een beetje èrg buggy is het dus toch nog wel! Frustrerend, hoor!

p.s.
Oók in 2.79 werkt het dan weer wel, dan weer niet. Ik wacht wel tot ze dit opgelost hebben.

Het zal inderdaat (zoals jij zegt) fijn zijn als ze die hele bug van de boolean volledig oplossen,
ik vind het geen handige modifier, zelfs de tool niet.

Ik houd mij op't moment bezig met programeren en heb zoizo blender 2.79 al op mijn
externe schijf gezet, voor als ik later 'programeer niveauw III' ga leren, dan
zal ik op het begin zeker nog steeds een oudere blender versie nodig hebben,
vanwegen de 'Ogre Addon' had ik begrepen, dus ik denk dat ik verlopig nog niet toe ben
aan blender 2.8 of hoger, totdat ik misschien 'programeer niveauw IV' ga doen
en zo complex kan programeren, dat ik toe ben om zelf 3d-tools te kunnen programeren
voor 3d-meshes en modellen in PureBasic (en misschien later ook zelf ontwikkelde 3d-engines).

Maar om terug te komen op de boolean bug, ik vind het ook zeer onhandig...

Ik ben aan het leren programeren en gebruik hiervoor om te beginnen 'Pure Basic'... Nu nog het spelletje 'Bouncing Ball' verder programeren en ga naar niveau II. Dan krijg ik nog moeilijkere opdrachten en moet ik dacht ik ook codes leren analyseren, op papier zetten en her-programeren...