Antworten auf deine Fragen:
Neues Thema erstellen

Boolesche Objekte - ein Horror

WhiteKnight

Noch nicht viel geschrieben

Hallo, zusammen,

ich bin gerade wieder einmal total von Cinema 4D angenervt ...

Das Arbeiten mit dem Booleschen-Objekt und Geometrieobjekten ist seit Jahrzehnten der blanke Horror:

Cinema-4-D-Boolsche-Objekte.png


Stundenlang sitzt man erfolglos an Gittersegmentunterteilungen aller beteiligten Objekte. In 90 % aller Fälle rendert Cinema 4D dann gern 'mal einfach gar nix:

Cinema-4-D-Boolsche-Objekte-2.png


Und selbst, wenn's in der Vorschau dann 'mal gut aussieht, wird das Objekt beim Rendern auch schon 'mal gerne dann doch nicht gerendert. Das ist besonders bei Animationen sehr ärgerlich, weil man das Ergebnis dann erst eine Woche später, wenn die Animation fertig gerendert wurde, sieht.

Kann da nicht irgendjemand mit gewichtiger Meinung einmal den Vorschlag machen, dass Cinema 4D sich da einfach selbst die geeignetsten Parameter für die Unterteilungen selbst ermittelt? Das kann für die Programmierer bei Maxon ja nicht so schwierig sein.
 

aaarghh

Kann PCs einschalten

...weil man das Ergebnis dann erst eine Woche später, wenn die Animation fertig gerendert wurde, sieht.
Unabhängig vom eigentlichen Problem kann man erstmal einzelne Bilder als Test rendern, und Animationen sollte man sowieso nur als Einzelbilder rendern, damit man 1. bei einem Absturz nicht alles neu rendern muss und man 2. dann kurze Passagen leicht ersetzen kann, ohne gleich alles neu rendern zu müssen.
 

KBB

Mod 3D | Blaubaer

Teammitglied
Ich habe diese Erfahrungen in über 20 Jahren mit C4D so nicht gemacht, selbst animierte Booles gingen idR gut, oder waren einrichtbar. Jedenfalls solange ich es genutzt habe. Denn optimal ist Boolen nie, zumal dadurch extrem scharfe und unrealistische Kanten entstehen. Ich würde sowas ausmodellieren, aber das wollen die meisten nicht hören ;)

Animierst du die Ausschnitte? Sonst würde ich alles konvertieren bzw. modellieren. Neben höherer Unterteilung hilft übrigens sehr oft das minimale Verschieben der Objekte, so dass keine Kanten exakt übereinander liegen. Das macht immer Probleme.

Alternativ kannst Du als R21/S22 User die Volumentools zum Boolen nehmen, das ist sehr viel umgänglicher und unproblematischer.
 

draupnir

Moderator

Teammitglied




Ich konnte auch kein Problem beim Nachbauen Deiner Szene entdecken. Einzig, das (mein) Gehirn nicht recht erkennen kann, was außen und was innen ist. :)

Auf Wunsch kann ich Dir gerne meine Szene aus C4D R13 mac senden.

Gruß J.
 

WhiteKnight

Noch nicht viel geschrieben

Ich habe hier einmal meine Projektdatei hochgeladen (ich habe für diese Datei einen anderen Zeichensatz gewählt, der auf jedem Windows Rechner vorhanden ist):

https://gofile.io/d/dnru2c

Die Frage, die sich mir stellt, ist: Warum geht es bei mir grundsätzlich nicht?

Ich möchte mit parametrischen Objekten arbeiten, um jederzeit die Maße kontrolliert ändern zu können. Das muss ja auch möglich sein. Wenn parametrische Objekte nicht funktionieren, dann sollten sie aus Cinema 4D entfernt werden. Oder Maxon muss nach 30 Jahren endlich 'mal den Arm hochkriegen und die Dinger so implementieren, dass sie probemlos funktionieren.

@aaarghh :

Das ist leider nicht so einfach, wie es klingt. Wenn ein Objekt in einem Bild innerhalb einer komplexen Bewegungschoreographie, inkl. Kamerabewegung, einfach einmal ausfällt, kann man nicht einfach dieses einzelne Bild neu rendern, da es ja beim zweiten Versuch genauso wenig korrekt gerendert wird. Ändert man auch nur einen einzigen visuellen Parameter, wie z. B. die Kamerabewegung, muss man die gesamte Szene neu rendern, sonst hat man Anschlussfehler. Und die Chancen sind groß, dass das gleiche Objekt dann auf anderen Bildern derselben Szene ausfällt, weil Cinema 4D dort wieder irgendetwas am Booleschen Objekt nicht gefällt. Und mit Bewegungsunschärfe bzw. Kollisionsobjekten funkioniert das Rendern einzelner Bilder erst recht überhaupt nicht.

@KBB :

Danke für den Tipp mit den Volumen-Tools. Ich schaue es mir einmal an.
 
Zuletzt bearbeitet:

KBB

Mod 3D | Blaubaer

Teammitglied
Kollisionen kann man backen/Cachen, bzw. sollte man tunlichst eh immer tun, wie fast alle Simulationsanimationen, allein schon weil mehrere farmrechner unterschiedliche Ergebnisse liefern könnten. Und das tun sie, und das ist kein Cinema-Fehler, das passiert auf jeder Farm mit jeder 3D Software.
Warum Du mit dem Wiederholen eines Bewegungsunschärfe-Renderings Probleme hast, ist mir wiederum schleierhaft. Meinst Du, weil u.U. der Vor- und Nachlauf, das Berechnen der benachbarten Bilder fehlt? Hängt letztlich vom benutzten Renderer ab, sollte im Physical aber eigentlich kein Problem sein.

Du kannst Deine Originaldatei ja parametrisch lassen. Ich würde eh immer dazu raten, mit jeweils 2 Dateien zu arbeiten, bzw. tue das in jeder Schulung: die Originale, die eben parametrische ist und bleibt. Jedenfalls bis zu einem gewissen Grad, 3D Programme arbeiten einfach schneller wenn alles konvertiert ist und sie nur sehr wenige, sehr große Polygonobjekte und ein paar Mio. Render-Instanzen vor sich haben. Wenn sich das Editorfenster vor lauter Berechnugnen, die alle paar millisek. stattfindet, nicht mehr bedienen lässt, findet man Parametrik lange nicht mehr prickelnd :D
Und dann die Renderdateien, die wie o.g. aus möglichst wenigen, gebackenen sprich zusammengeschweißten Polygonmonstern plus Instanzen besteht. Im Falle von Animationen hat man halt evtl. noch ein paar weitere Einzelteile dabei ^^ Die Farm freut sich jedenfalls über letztere, weil sie viel schneller rendern kann, und der User, weil es noch günstiger wird: das lästige Nachrendern von Zig Fehlern fällt dann nämlich idR auch flach :)
Ein Testrendering mit geringerer Auflösung und abgeschalteten Renderkillern wie GI oder blurry Kram usw. im physical sollte man natürlich mit der gecacheten Variante schon vorher durchführen. Aber das ist ja immer so.
 

WhiteKnight

Noch nicht viel geschrieben

Meinst Du, weil u.U. der Vor- und Nachlauf, das Berechnen der benachbarten Bilder fehlt? Hängt letztlich vom benutzten Renderer ab, sollte im Physical aber eigentlich kein Problem sein.

Leider nein. Es ist genau der Physical Renderer, dem der Vor- und Nachlauf dann fehlt.

Du kannst Deine Originaldatei ja parametrisch lassen. Ich würde eh immer dazu raten, mit jeweils 2 Dateien zu arbeiten

Ist aber natürlich schon ein ziemlicher Administrationsaufwand. Wenn man die Datei vielleicht 2 Jahre später noch einmal öffnen würde, wüsste man ja gar nicht mehr, was man wo wie abgeändert hat. Das wäre für mich ein ziemlicher Albtraum.

Wenn sich das Editorfenster vor lauter Berechnugnen, die alle paar millisek. stattfindet, nicht mehr bedienen lässt, findet man Parametrik lange nicht mehr prickelnd :D

Dein Vorschlag ist ja grundsätzlich nicht schlecht ... Aber da frage ich mich (und das frage ich mich schon seit Jahren): Warum macht Cinema 4D das intern nicht automatisch selbst? Also einfach alle parametrischen Objekte intern in Meshes umwandeln und dann nur mit diesen Meshes rendern. Quasi dem Benutzer parametrische Objekte anbieten, aber intern immer mit Meshes arbeiten. Das hatte ich vor 10 Jahren schon als Feature Request eingereicht. Es interessiert bei Maxon aber niemanden. Du siehst, ich stehe mit diesem Hersteller schon länger auf Kriegsfuß.

Ein Testrendering mit geringerer Auflösung und abgeschalteten Renderkillern wie GI oder blurry Kram usw. im physical sollte man natürlich mit der gecacheten Variante schon vorher durchführen. Aber das ist ja immer so.
Auch grundsätzlich richtig, aber der Renderer arbeitet leider so ungenau, dass man schon weitgehend mit den endgültigen Parametern rendern muss, da die Renderfehler nur unter bestimmten Bedingungen (die mir völlig schleierhaft sind) auftauchen.


Naja, lange Rede, kurzer Sinn ... Hattest du vielleicht Gelegenheit, dir einmal mein Probeprojekt anzuschauen? Warum sind da einige Ziffern hinüber? Wie kann man das sicher umgehen?
 
Zuletzt bearbeitet:

KBB

Mod 3D | Blaubaer

Teammitglied
Hattest du vielleicht Gelegenheit, dir einmal mein Probeprojekt anzuschauen? Warum sind da einige Ziffern hinüber?
*Puuh* ja, wo soll ich anfangen?

- Als erstes sollte Dir als langer Cinema-User klar sein, dass man beim Boolen 2 Objekte nie *exakt* übereinander legen darf. Ich schrieb oben ja schon
Neben höherer Unterteilung hilft übrigens sehr oft das minimale Verschieben der Objekte, so dass keine Kanten exakt übereinander liegen. Das macht immer Probleme.
- und dachte, das sei bekannt. Dass das gleiche für Punkte oder Polygone gilt, sollte eigentlich klar sein.
Mach den Radius des Wicklers so viel größer (und passe den Text entsprechend an), so dass *alle* Buchstaben *überall* deutlich sichtbar über dem Zylinder anfangen, und sich nicht mit den Polygonen decken können. Achte auf die 1, vor allem, wenn Du nachher den Spline ändern solltest, s.u.

- Unbedingt: Generell empfehle ich, diese Szene komplett zu skalieren, mindestens Faktor 10. FYI: das geht mit 1 Klick in den Projektvoreinstellungen

[Erklärbärmodus]3D Programme haben im Gegensatz zu CAD Programmen (in denen ein Bool aus dem gleichen Grund - weil CAD Kernel ^^ - immer 1A funktioniert) einen begrenzten Raum auf der Skala, in dem alles supi läuft. Alles was sehr viel größer oder kleiner ist als dieser Raum, oder einfacher, als diese Einheiten, bringt Rechenfehler mit sich. Wer schon mal versucht hat, einen Film vom Weltraum in den Mikrokosmos eines Elektronenmikroskopes und zurück zu machen, wird feststellen, dass das in einem 3D Programm nicht geht, ohne diesen Film in mehrere Szenen zu zerlegen. Versucht man, das ohne diese Zerlegung zu machen, stößt man schlicht erstmal auf Grenzen, nämlich dass z.B. in Cinema Zahlen nur bis 3 Stellen nach dem Komma und 10 Stellen vor dem Komma verarbeiten kann. 10 Stellen klingt viel, aber in der cm Einstellung sind es doch nur 21.000km im Großen und 1 Mikrometer im Kleinen, mehr geht einfach nicht. Aber schon lange vorher gibt es Verarbeitungsfehler - was wie gesagt für jede 3D Software in diesen "Randgebieten" gilt. Auch Houdini, Meister der Simulationssoftware, kommt nicht nur moralisch ins Wanken, wenn man z.B. Fluid-Simulationen im cm-Bereich durchführen möchte. Da muss man immer erstmal deutlich hoch und dann wieder runtergehen, also per Hand rauf und runterskalieren [/Erklärbärmodus]

- Dann: wenn Du Cinema schon eine Weile benutzt, weißt Du, dass man nur von geschlossenen Körpern abziehen darf, also in Objekte boolen, deren Punkte alle miteinander verbunden sind. Hast Du schon mal einen Zylinder konvertiert und in ein SDS geworfen oder was mit den Deckeln probiert? Richtig, sieht komisch aus, weil man kann die Deckel separat bewegen. Sie sind nach dem Konvertieren Einzelteile, und sie waren es vorher. Der Zylinder ist nicht geschlossen.
Was kann man da tun? Cinemas Allheilmittel heißt in dem und vielen anderen Fällen "Bruchobjekt" (auf Segmente auflösen und verbinden). Schmeiß den Zylinder da rein und die durch Offentheit verursachten Probleme sind Geschichte.
Poah ey das klingt grad wie in nem schlechten Big Brother Drehbuch :D
Falls das nicht klappt, hilft hier nur konvertieren. Nach dem Erstellen einer Kopie des Originalzylinders, is klar ne.

- Next: Der Zylinder ist nicht hoch genug unterteilt, s.u. Segmente Höhe habe ich auf 20 gedreht, Umfang auf 250.

- Wenn das Boole jetzt immer noch Schwierigkeiten macht, deaktiviere die "Hohe Qualität". Das ist eh mit das erste, was ich tue, wenn es Probleme gibt, die wirklich am Boole liegen. Gibt in der Szene aber noch ein paar andere finstere Gesellen. Spätestens jetzt hatte ich jedenfalls ein "sauberes" Objekt ohne Probleme. Wenn man von den immer noch vorhandenen, wenn auch jetzt viel feineren, unvermeidlichen (jedenfalls solange man im parametrischen Modus bleibt) Phongschäden absieht. Ist halt n Boole.

- Um Buchstaben oder hier Zahlen sauber zu Boolen, würde ich sie einzeln in die Szene setzen und das Wickeln Objekt gar nicht erst benutzen. So könntest Du jede Zahl optimal fürs Booling * einstellen.

- Problematisch ist u.U. die Schrift selbst, und das liegt außerhalb jeder Reichweite von Maxon. Und solange sie nicht in ein Spline konvertiert und bearbeitet wurde, auch außerhalb Deiner: Leider enthalten jede Menge Schriftdateien (TTFs, OTFs..) unsauber oder schlampig geschnittene Kurven. Das äußert sich z.B. in sehr vielen sehr dicht liegenden oder sogar doppelten Punkten, die beim Extrudieren noch nicht unbedingt auffallen müssen, beim Boolen dann aber immer wieder Ärger bedeuten können. Oder es führt im Zusammenhang mit einer geringen Szeneauflösung (siehe zweiten Punkt und Erklärung) dazu, dass eng liegende Punkte als doppelt interpretiert werden. In keinem Fall empfehlenswert. - In jedem Fall sollte man sich die Spline-Optionen des Textobjektes anschauen und auch hier eine höhere Unterteilung wählen. Zwischenpunkte auf angepasst und die Unterteilung auf 2, 3° ;) Letztlich werden das irre Polygonmonster, nur weil mans parametrisch mag und mit der Orga nicht zurande kommt. Und das heißt auch wieder mehr Rechen- und Renderzeit.

- Last but not least: Du darfst das Wickelnobjekt natürlich hinschieben wo Du möchtest. Um die Existenz interner Rechenprobleme allerdings von vorne herein zu minimieren, würde ich jedoch der Einfachheit halber das Wickeln und das Extrudieren-Objekt in ein Null legen, damit Cinema gar nicht erst auf die Idee kommen kann, das Wickeln als weiteres Objekt in der Hierarchie zu lesen. Nur so am Rande ;)

Ich würd's aber immer noch nicht rein parametrisch machen, sieht letztlich immer noch müllig aus. Ist halt n Boole, und das heißt: Du bräuchtest zum Einen eine noch höhere Unterteilung im Zylinder, angepasst an die Zahl mit der höchsten Unterteilung, damit überhaupt keine Phong-Knicke mehr sichtbar sind. Das tun sie hier, massig. Ist halt kein CAD Programm. Und die Schnittkanten sind wie immer bei einem Boole nicht abgerundet, was unrealistisch ist.

Ist aber natürlich schon ein ziemlicher Administrationsaufwand. Wenn man die Datei vielleicht 2 Jahre später noch einmal öffnen würde, wüsste man ja gar nicht mehr, was man wo wie abgeändert hat. Das wäre für mich ein ziemlicher Albtraum.
Echt jetzt? Dafür gibt es Methoden, einfache dazu (z.B. beides parallel in einer Datei lassen und die Generatoren dann komplett abschalten). Hoffentlich machst Du das nicht beruflich, das Metier würde Dich ja in kürzester Zeit völlig überfordern ^^ Und die Kollegen..

HF

_______________________________
* Hey Lebowski, gehen wir Boolen!
 
Zuletzt bearbeitet:

WhiteKnight

Noch nicht viel geschrieben

- Als erstes sollte Dir als langer Cinema-User klar sein, dass man beim Boolen 2 Objekte nie *exakt* übereinander legen darf. Ich schrieb oben ja schon

Ja, stimmt. Normalerweise mache ich das immer. (Muss ja.) ... Dieses Projekt hatte ich auf die Schnelle neu erstellt und dieses Detail dabei vergessen. Das ursprüngliche Projekt hatte ich inzwischen schon verworfen und gelöscht. Mit SolidWorks ging's total einfach: Kreis erstellen, Kreis extrudieren, Schrift mit Wrapper darüber und "Einprägen" wählen - fertig:




Aber dennoch möchte ich gerne grundsätzlich wissen, wie das mit Cinema 4D denn nun einfach, zuverlässig und immer gelingt. Das ist ja auch keine Gratis-Software, die nach Feierabend vom Studenten programmiert wurde (jedenfalls inzwischen nicht mehr).

Konntest du das Projekt denn erfolgreich abändern? Hast du vielleicht einen Download für mich, der zeigt, dass es geht? (Tipp: Der Provider, den ich weiter oben verwendet habe, gestattet das Hochladen, ohne sich vorher zu registrieren.)
 

KBB

Mod 3D | Blaubaer

Teammitglied
Konntest du das Projekt denn erfolgreich abändern?
Habe ich, mit den beschriebenen Mitteln. Und Einschränkungen. Löcher und Reste sind dann keine mehr drin, versprochen. Aber ich sage ja nicht umsonst, ich würde es nicht tun.

Nochmal: 3D Progamme sind keine CAD Programme. Saubere Ergebnisse wie mit Solid Works wirst Du nie und nirgends mit Boole in 3D Programmen hinbekommen. Die entstehenden Probleme sind systemimmanent: wir arbeiten mit Polygonen, nicht mit mathematischen Kurven wie CAD Software, und die ergeben beim Boolen immer irgenwelchen Ranz.
Das einzige, was da einigermaßen sauber parametrisch bleibt, ist der zu Anfang erwähnte Workflow über die Volumen, weil die neu remesht werden, und die am besten dann noch nachträglich per Hand remeshen/retopologisieren. Oder wie schon gesagt korrekt modellieren, oder, wenn Du schon SolidWorks nutzt, von dort exportieren.
 

Rainer Markiefka

Noch nicht viel geschrieben

Aloha,

ich meide Booleans schon seit Jahren wie der Teufel das Weihwasser. Irgendwo kommt dabei immer Mist raus, spätestens wenn man Geometrie sauber animieren muß. Ist in jeglicher 3D-Software das Gleiche. Ich mußte mich erst daran gewöhnen die Finger von den Booleans zu lassen. Man muss sich dann einfach zwingen sauber zu modelieren. Ist auf alle Fälle lernbar, und dann wird`s auch sauber.
 

KBB

Mod 3D | Blaubaer

Teammitglied
Na manchmal sind sie schon brauchbar oder notwendig. Bei manchen Bool-Animationen kommt man mit purem Modelling schlicht nicht ans Ziel. Aber alles parametrisch lassen wollen, ist dann halt ein typischer CAD‘ler Traum. Da darf man dann die wie auch immer gebackene Animation gerne noch nachbearbeiten, bevor man sie als Alembic speichert. Runde Objekte wie diese Uhr hier werden dabei nicht nur wegen des Phongs schnell zum Albtraum, oder einfach nur zum Stundengrab. Bei eckigen Dingen geht das schon sehr viel einfacher, diese Phongschäden entstehen dabei einfach seltener. Aber die sind ja nicht alles.

Apropos Parametrik:

Zitat von KBB:
Wenn sich das Editorfenster vor lauter Berechnugnen, die alle paar millisek. stattfindet, nicht mehr bedienen lässt, findet man Parametrik lange nicht mehr prickelnd :D
Dein Vorschlag ist ja grundsätzlich nicht schlecht ... Aber da frage ich mich (und das frage ich mich schon seit Jahren): Warum macht Cinema 4D das intern nicht automatisch selbst? Also einfach alle parametrischen Objekte intern in Meshes umwandeln und dann nur mit diesen Meshes rendern. Quasi dem Benutzer parametrische Objekte anbieten, aber intern immer mit Meshes arbeiten. Das hatte ich vor 10 Jahren schon als Feature Request eingereicht. Es interessiert bei Maxon aber niemanden. Du siehst, ich stehe mit diesem Hersteller schon länger auf Kriegsfuß.
Genau das macht die Software doch. Und zwar zigmal die Sekunde. Jedesmal, wenn die Kamera gedreht wird, oder wenn Du irgendeinen Parameter veränderst. Sobald das passiert, wird die Szene oder zumindest der Teil komplett konvertiert und per OpenGL angezeigt im Editor. Auch vorm Rendern wird die ganze Szene in jedem Frame komplett neu berechnet, um gerendert werden zu können. Die Renderer verstehen nämlich alle nur Dreiecke, egal ob’s die Editoranzeige ist oder der Physical oder Corona, oder Vray..
Was Du gerne möchtest: die Szene nur 1x konvertieren und dann so im Speicher halten. Ja das würde eine sehr viel smoothere Anzeige bedeuten. An sowas merkt man aber auch, dass Du Dich mit der Software noch nicht wirklich gut auskennst. Ist kein Ding, wir haben alle klein angefangen ;)
Dieser Vorgang wäre aus vielen Gründen sinnvoll, und vielleicht auch manchmal schneller. Es gibt durchaus Leute, die Cinema an seine (RAM)Grenzen bringen. Bei sagen wir 48GB RAM, heute auch keine Seltenheit mehr, und einer Szene intern von 25 GB brächte das den Rechner sofort zum Erliegen. Die Szene würde bei einer Konvertierung nämlich einfach verdoppelt. Bzw. wird sie. Passiert nämlich auch jedem Rendervorgang im AR oder PR, aus genau den o.g. Gründen.
Ok, nehmen wir eine Szene, die nur 6GB hat. Jetzt will man daran auch nur einen Würfel verschieben - die muss sofort wieder hin und her konvertiert werden. Manchmal ändert man aber was Großes, eine Simulation wird neu berechnet. Und gleichzeitig muss die Software alle möglichen Schritte fürs Undo bereit halten. Was ist jetzt sinnvoller - sich nur den Würfel merken, es wurde ja nur was Kleines geändert, oder lieber die ganze Szene neu konvertieren, die Sim nimmt davon 90% ein? Ich glaube man kann so schon erkennen, dass es *etwas* schwierig wird, einen Allgorithmus zu programmieren, der nicht nur vorausahnen kann, wie man gerade arbeiten will, sondern auch noch *schneller* ist als das aktuelle System, und auch noch alle Daten immer im Speicher behält ohne auszulagern etc. Wie sagt man dem Kunden, der es gerne schnell, gut und günstig haben will? „Take two“ ;) Oder auch, Du kannst nicht alles haben ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben