Fehler bei Optimise: Assertion Failed

  • ERROR: SplitPortalPolyhedronByPlane: polyhedron didn't cross plane
    [yes to trap, no to exit, cancel to ignore]
    wenn ich abbrechen klick: SplitPortalPolyhedronByPlane: polyhedron didn't cross plane ---> DromEd wird beendet. Glücklicherweise konnte ich noch kurz davor abspeichern, denn sonst wäre 1 Stunde im Eimer gewesen :D.[ich sollte öfter speichern].
    Nicht dass es ein großes Problem wäre, denn optimise ist ja nicht soo wichtig, aber ich wollte mal wissen, was das zu bedeuten hat. Kann mir da jemand helfen?


    Grüße The Niggster

  • Zitat

    Original von The Niggster
    Nicht dass es ein großes Problem wäre, denn optimise ist ja nicht soo wichtig


    *Hust* Das will ich jetzt mal gekonnt überlesen haben ;)
    Eine Mission sollte immer optimiert werden weil dabei Polygone gemerged werden und somit die Polygonanzahl im Level reduziert wird.
    Ohne Optimierung sind viele FM's überhaupt nicht spielbar...


    Nun zum Fehler:
    Nach meiner Erfahrung tritt dieser dann auf, wenn du "merkwürdig skalierte" Brushes verwendest oder sie nicht am Grid ausgerichtet hast.
    Auch Rotationen von Brushes kann zu dem Fehler führen. Also Winkel wie 312.56° oder Cube-Abmessungen wie 13,63x14.21x7.65 sollte man vermeiden.

  • Ich würde dir empfehlen die Brushgröße immer als ein Vielfaches von 2 oder 1/2 zu wählen (bei einem 16er Grid). Je unförmiger die Brushes sind, desto eher passiert es, dass z.B. zwischen zwei Solid-Brushes (z.B. 2 Hauswände) eine Lücke entsteht, die vlt. nur 0,01 DU breit ist. Im Spiel wird man das kaum wahrnehmen, allerdings kostet dich das einige Extrapolygone was die DarkEngine u.U. zum Absturz bringen kann.


    Zudem hat es denn Vorteil, dass du die Texturen genauer anpassen kannst, weil diese auch pro Stufe um ein Vielfaches von 2 vergrößert / verkleinert werden (ich glaube es war um den Faktor 4).

  • Ja danke, das mache ich normalerweise ja auch [bei regelmäßig geformten Cubes], aber ich hatte Dodecahetrons benutzt um damit Felsen nachzubauen, die nun halt unregelmäßig geformt waren. Aber jetzt weiß ichs ja, danke!

  • Wenn du nur Deko-Felsen brauchst, kannst du auch Objekte nutzen.


    Da gibts z.B. die "breaker1" und "breaker2" aus der 2. OM in T2. Oder physical->debris->rubble: rockformlarge | rockformmed | rockformsmall | rockformledge.


    EDIT:


    Hier auf der Seite gibts auch noch einen recht schicken Felsen: JasonOtto.NET (ganz Unten Rechts auf der Seite). Die Texturen kannst du ja nach Belieben vertauschen.

  • Ja okay danke für den Tipp, aber meine Felsen sollen noch um einiges Größer sein als diese da. So, nun habe ich nur gnaze Zahlen verwendet bei der Size und bei der Rotation, z.b Size 44.20.52, Rotation 140, 0, 280. Und der Fehler tritt schon wieder auf. Außerdem habe ich mal wieder hilight_check und hilight_do_snap gemacht. Trotzdem kein Erfolg.

  • Hier die Resultate der Suche auf ttlg.com:



    und hier: error


    Ich würde jetzt stark darauf tippen, dass die Erklärung von Belboz zutrifft...deine Dodecahetrons könnten anderes Brushes zu oft splitten und damit diesen Fehler auslösen. Mach mal ein Backup deiner Mission, lösch dann die Dodecahetrons und versuch es noch einmal. Wenn dann der Fehler nicht mehr kommt, solltest du versuchen die Felsen auf eine andere Art zu bauen.

  • Gut ich habs korrigiert! Nun klapps wieder. danke intruder!


    EDIT: Zu meinem Ärgenis tritt dieser fehler seitdem ich das korrigiert habe immer häufiger auf. Jetzt tritt er alleine auch schon beim Arbeiten mit cubes und cylinders auf! Das ist richtig blöd, denn es hindert mich am weiterarbeiten! Wie bekomme ich das wieder gescheid hin, oder ist es normal, dass der Fehler schon auftritt, wenn man mit Cubes und cylinders arbeitet?
    Hier das Problem: Es tritt in dieser Situation der Fehler auf, wenn ich optimize mache!

  • Es wird wahrscheinlich daran liegen, dass du viele Dodekaeder verwendest, die sich gegenseitig schneiden. Da Dodekaeder (wie der Name bereits andeutet) sehr viele Teilflächen haben, muss eine andere Oberfläche im Fall eines Schnittes in sehr viele kleine Flächen unterteilt werden. Wenn dann beide Schnittobjekte Dodekaeder sind, wird es besonders kritisch da dabei noch mehr Teilflächen gebildet werden müssen. Und da stößt die DarkEngine an ihre Grenzen weil diese Zahl nicht sehr hoch ist. Das gleiche Problem bekommt man u.A. wenn man auf einer sehr langen Mauer Zinnen platziert.


    Was deinen Screenshot angeht:


    Im "front-View" ganz unten Rechts: die beiden orthogonalen Dodekaeder könnten Probleme bereiten. So wie es aussieht schneiden sie sich und dabei tritt wahrscheinlich der oben beschriebene Fall ein.
    Wenn du dann noch andere Brushes hinzufügst, werden die Flächen noch weiter unterteilt usw...bis es kracht.


    Was könnte helfen:
    1. Wenn ein Brush einen Dodekaeder schneidet, dann möglichst nur an einer Face, weil dann nur diese gesplittet werden muss.
    2. Versuche die Höhlen / Gänge so zu bauen, dass sich die Brushes möglichst wenig überschneiden

  • Schau dir mal diese Dodekaeder genauer in diesem Bild an, denn eigentlich schneiden sie sich untereinander gar nicht! Nur die Wand wir geschnitten, daher kann ich mir ja auch nicht den Fehler erklären.
    Wo liegt denn dann das problem? [ich habe mal diese ganzen Gänge gelöscht, dann optimize gedrückt und es hat funktioniert. Ich schätze dann, dass es an den Gängen liegen muss oder?] ABer warum nur?
    hier das Bild:

  • hm komisch, vllt kann man durch die gänge zu weit gucken und sieht zuviel von den anderen Dodekaedern ... dromed is da manchmal etwas eigen.


    einfach wild rumprobieren hilf oft.


    lg, turi

  • Ja ich probiere mir die Finger wund :D. Aber da gibts noch eine Sache die ich hier net verstehe: Bei diesem Speicherstand konnte ich noch perfect optimze machen und es kam kein fehler, obwohl ich mit Dodekaedern und Cylinders gearbeitet hatte. Wie kann denn das nun sein??? ?( Wenn ich aber bei dem Speicherstand was dazufüge kommt dann sofort wieder der Fehler. :( Das hindert mich voll am weitermachen!
    hier das Bild:

  • hm was fügst du denn hinzu oder probierst du immer was anderes?


    nur ein kleines beispiel: ich wär fröhlich am bauen und hatte 0 fehleranzeigen bei dromed, füge ein paar fensterläden (shutter) hinzu und plötzlich taucht beim optimize der fehler auf. ich lösche nur die shutter und der fehler ist weg auch der monolog schweigt wieder fröhlich vor sich hin. ich füge die shutter erneut hinzu, achte aber dieses mal darauf, diese gleich an meinen grid anzupassen (also ordentliche koordinatenendungen auf .00, .25, .50 oder .75) und der fehler zeigt sich nichtmehr unter optimize.
    du siehst also, das dieser error nicht nur abh. von den brushes ist, sondern auch auftritt im zusammenspiel von brushes vs. objekten.


    schieb deine objekte mal ein wenig hin und her, lösche zur not mal was weg (kannst es ja später wieder hinzufügen.)


    wieso der fehler bei mir da auftrat kann ich bis heute nich erklären, die mission umfasste zu diesem zeitpunkt vllt erst so an die 100 brushes und weit gucken konnte man überhaupt nicht.


    ich empfehle dir wie auch schon intruder, die monolog-log mitlaufen zu lassen, die gibt manchmal wirklich hilfreiche hinweise noch bevor dromed sich selbst abschiesst und wirklich schwer zu lesen ist der monolog nicht wirklich mit ein bisschen übung.
    zur not kannst dann hier im forum auch einen thread aufmachen mit monolog-aussagen die du nicht lesen bzw. verstehn kannst.


    so long und lass dich nich von oberzicke dromed ärgern ;) turi

  • Zitat

    Original von Turcaill
    wieso der fehler bei mir da auftrat kann ich bis heute nich erklären, die mission umfasste zu diesem zeitpunkt vllt erst so an die 100 brushes und weit gucken konnte man überhaupt nicht.


    Kann ich Dir erklären: Alle Objekte die das "Blocks Vision" Attribut gesetzt haben (dazu zählen insbesondere Türen und eben auch Fensterläden) erzeugen wenn man sie schließt eine schwarze Fläche, durch die man nicht durchschauen kann (zu erkennen z.B. an einem schwarzen Rand bei falsch dimensionierten Türen). Diese schwarze Fläche ist dafür verantwortlich, dass AIs nicht durch Türen hindurchschauen können. Dafür ist es jedoch notwendig die Sichtlinien der AIs an diesen Flächen zu unterbrechen. Diese Flächen berechnet Dromed offenbar schon vorweg während eines Portalize oder Optimize. Und hier ist das Problem. Bei einem Optimize weden zudem auch noch Polygone und vor allem Zellen zerlegt und anders wieder zusammengefügt, um die Sicht- und AI-Pfade besser berechnen zu können. Sind hier diese sog. Blockable-Brushes nicht exakt zu dem Grid ausgerichtet, passiert hier genau das gleiche, wie wenn Solid- oder Airbrushes nicht exakt ausgerichtet sind, es entstehen z.B viele sehr flache Quarder, die die Anzahl der Polys und Zellen in einem Bereich in die Höhe schießen lassen.

  • Oh mann oh mann! Das hat auch leider nix mit den Objekten zu tun. Ich hab einfach mal alle entfernt und es nochmals probiert, aber wie immer hört DromEd dann auf X(. Schaut euch mal die FM von Christine an, Abgründe . Hier benutzt sie meiner Meinung nacha uch Dodekaeder und alles scheint ja zu funktionieren. Ich wollte diese Idee für Felsen übernehmen, aber daraus wurde ja leider nix. Weiß jemand weiter? Soll ich villeicht nochmals den Teil mit den Felsen und Höhlen löschen und nochmal neu versuchen? Einen alten Speicherstand laden oder so?


    Mfg The Niggster

  • Zu einem alten Speicherstand zurückkehren wird das Problem nicht beheben. Wenn es auch nicht wie von Sinister erwähnt an den Objekten liegt, dann ist DromEd deine Levelgeometrie in einigen Bereichen einfach zu komplex.


    Du kannst versuchen, die Höhle mit Zylindern zu bauen und mithilfe von Pyramiden Stalagtiden und Stalagmiten um der Höhle ein natürlicheres Aussehen zu verleihen. Selbst mit Cubes und Wedges lassen sich gute Höhlen bauen, es braucht dann allerdings mehr Brushes als wenn man es über Dodekaeder realisiert. Aber die Variante mit den Cubes und Wedges hat den Vorteil, dass man selber die Schnittflächen genau kontrollieren kann, was beim Dodekaeder ja leider nicht der Fall ist.


    Eine zweite Möglicheit wäre die, einfach einen leeren Cube zu erstellen und mithilfe von Felsen Objekten eine natürliche Form nachzubilden. Besonders diese etwas größeren Breaker1 & 2 bieten sich aus meiner Sicht dafür an.

  • Ja daran hatte ich ja auch schon gedacht aber:

    Zitat

    Zu meinem Ärgenis tritt dieser fehler seitdem ich das korrigiert habe immer häufiger auf. Jetzt tritt er alleine auch schon beim Arbeiten mit cubes und cylinders auf!


    Ich habs schon versucht und der Fehler kam trotzdem! Ich habe aber herausgefunden, dass irgendwie bei mir die Cubes und die ganzen ander [cylinder, wedges und so] nicht in meinem Gitter mehr einrasten!!! Das könnte doch den Fehler aufgerufen haben oder? Kann mir jemand sagen, wie das passieren konnte bzw wie ich es wieder richtig hinbiegen kann?


    EDIT:
    JUHU!!! =) =) =) geschafft! Das problem lag wie vermutet bei dem Grid!!! ALso bei meinem Grid war USE ausgeschaltet, also nicht rosa. Ich habe über die Suchfunktion erfahren, dass erst wenn use an ist, die Brushes in das Gitter einrasten,w as bei mir die ganze Zeit nicht der Fall war und deshalb ein Poly_Problem auftrat!


    WIR MERKEN UNS: Immer schön "USE" eingeschaltet lassen, dann sollte so ein fehler nicht auftreten!

  • Das kann diesen Fehler ausgelöst haben, ja.


    Zum Beheben als erstes mal wieder das Grid einschalten.
    Dann mit der üblichen Prozedur (Gridsize auf die kleinste von Dir bewusst verwendete Rastergröße stellen) und die beiden folgenden Befehle in dieser Reihenfolge ausführen:


    hilight_check_snap
    hilight_do_snap


    Durch Deine Mission laufen und alles an Brushes nochmal kontrollieren.