Boolescher Generator
Allgemeines
Der Boolesche Generator führt im Wesentlichen die booleschen Funktionen Vereinigen, Subtrahieren und Schneiden (= Schnittmenge) durch.
Im Gegensatz zum alten (vor Cinema 4D R2025.1) Boole-Objekt, das jeweils nur 2 Objekte boolen konnte, ist es jetzt möglich, beliebig viele Objekte einem einzigen Booleschen Generator unterzuordnen, die auch jeweils ihre eigene - per Boolesches Tag definierten - Boole-Funktionen haben können.
Das erste Objekt unter dem Booleschen Generator ist stets das Ausgangsobjekt (in folgender Abbildung der Würfel), vom dem aus ein Objekt nach dem anderen abgearbeitet wird:
Im Booleschen Generator selbst legen Sie die Boole-Grundfunktion fest, die zunächst für alle Unterobjekte der ersten Hierarchiestufe gilt.
Betrachten Sie sich die obige Abbildung. Linker Hand sehen Sie die Ausgangssituation. In der Mitte wirkt der Boolesche Generator (Funktion Subtrahieren) zunächst, indem die Kugel vom Würfel subtrahiert wird. Von der daraus resultierende Form wird dann rechter Hand der Zylinder - dort dann aktiviert - abgezogen
Nun wird es natürlich passieren, dass Sie bei den Boole-Funktionen nicht ausschließlich nur subtrahieren wollen, sondern eine der anderen Funktionen verwenden wollen. Dafür gibt es Boolesche Tags (Objekt-Manager-Menü: ), die für eine beliebige Boole-Funktion auf Objektbasis sorgen:
Bei obiger Abbildung wirkt als Boole-Grundfunktion stets “Subtrahieren”, darüber hinaus wirken vergebene Boolesche Tags folgendermaßen:
- Links: Die Kugel hat ein Boolesches Tag des Typs Vereinigen, also werden diese mit dem Ausgangsobjekt Würfel additiv zusammengefasst und davon der Zylinder abgezogen.
- Mitte: Die Kugel wird vom Ausgangsobjekt Würfel subtrahiert und der das Boolesche Tag des Typs Vereinigen tragende Zylinder mit dem Resultat vereinigt.
- Rechts: Die Kugel wird vom Ausgangsobjekt Würfel subtrahiert, das Resultat wird zur Schnittmengenbildung mit dem Booleschen Tag des Typs Schneiden tragenden Zylinder verwendet.
Schnittebenen
Flache Objekte wie z.B. Ebene oder Scheibe können als Schnittebene verwendet werden. Hierbei werden die Oberflächennormalen der Schnittebene ausgewertet: der Teil des Ausgangsobjekts, der sich auf der Seite der Oberflächennormalen befindet, bleibt erhalten, der andere Teil wird weggeschnitten.
Beachten Sie, dass das ebene Schnittobjekt in projizierter Normalenrichtung groß genug ist, um das zu schneidende Objekt komplett abzudecken. Es kommt ansonsten zu Artefakten. Sollte es im Zusammenhang mit Schnittebenen zu Problemen kommen, versuchen Sie der Ebene ein Volumen zu geben, z.B. indem Sie es einem Wandstärke-Objekt unterordnen.
Interaktive Bedienung
Der Funktionssmodus kann durch Doppelklick auf das Icon im Objekte-Manager geändert werden: die vorhandenen Modi werden nacheinander durchgeschaltet und das Icon entsprechend geändert. Das funktioniert übrigens auch mit dem Booleschen Tag.
Anderes Wissenswertes
- Manchmal kann es mit offenen Volumen beim Boolen zu Problemen kommen. Sollte es also dabei zu merkwürdigen Effekten kommen, so versuchen Sie, das Objekt zu schließen (im einfachsten Fall z.B mit
Polygonloch schließen).
- Der Boolesche Generator zieht die Polygonnormalen heran, um festzulegen, wo innen und außen ist. Achten Sie also darauf, dass die Normalen in Ordnung sind, also z.B. nach außen zeigen, nicht plötzlich um 180° verdreht sind etc. Ansonsten kann es zu unerwünschten Effekten kommen.
- Allgemein kann es helfen, die am Boole-Vorgang beteiligten Objekte stärker zu unterteilen, um Artefakte zu verringern. Als Faustregel gilt: die Meshdichte der an der Boole-Operation beteiligten Objekte sollte sich in ähnlichen Dimensionen bewegen. Versuchen Sie z.B. mal 1000 Zylinder aus einem Würfel mit 6 Polygonen herauszuschneiden. Das ist fast schon ein Ding der Unmöglichkeit, da sich sehr lange Berechnungszeiten ergeben. Unterteilen Sie den Würfel dagegen ausreichend, geht das problemlos.
- Die resultierende Geometrie wird nicht trianguliert, sondern behält die Mesh-Struktur der Originalobjekte bei. Ausnahmen ergeben sich an der Schnittkante, da hier z.B. N-Gone erzeugt werden.
- Bestehende Selektions-Tags werden sinnvoll verarbeitet und bei Bedarf zusammengefasst: haben am Boole-Vorgang beteiligte Objekte jeweils 1 Selektions-Tag mit identischem Namen, werden diese zu einem einzigen vereinigt (gibt es derer mehrere pro Objekt, werden nur die ersten Paare zusammengefasst und die anderen separat gelassen).