Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011
GaRv3

Editor-Freeze bei zu vielen Box-Collidern

Recommended Posts

Hallo zusammen,

ich habe ein paar Objekte, die über seeeeehr viele Box-Collider verfügen.
Ich möchte hier bitte nicht über die Frage sprechen, ob Objekte so viele Collider brauchen. In diesem speziellen fall ist es so, da es keine andere Möglichkeit gibt, die Form des Objekts genau genug abzubilden, denn ein Mesh-Collider müsste convex sein, was in dem Kontext aber nicht funktioniert.

Mein Problem ist nun folgendes:
Beim öffnen der Szene, starten des Play Modes und selektieren eines der Objekte hängt der Editor immer für einige Sekunden.

Beim Selektieren eines Objekts liegt das in erster Linie am Rendern des Inspektors - InspectorWindow.DrawEditors() braucht mal eben 8,5s und BoxColliderEditor.OnEnable() dauert bei z.B. 562 BoxCollidern über 3,5s. Nach dem Selektieren des Objekts hängt der Editor also erst mal gute 12 Sekunden.

Schlimmer ist es beim Wechsel in den Play Mode bzw. Laden der Szene. Hier hängt der Editor mehrere Minuten, ich kann mir aber noch nicht genau erklären, wieso dies so extrem ist. Eigentlich sollte das ja nicht mit dem Inspektor zusammenhängen. Es ist auch unabhängig davon, ob ich ein Objekt selektiert habe.

Das Editorscript der Objekte setzt die HideFlags der BoxCollider immer entsprechend, sodass sie nicht im Inspektor angezeigt werden. Dadurch geht das Selektieren des Objekts ab dem zweiten mal gewohnt schnell. Anscheinend werden die HideFlags aber nicht gespeichert, sodass die Collider bei erneutem Selektieren nach dem Starten/Stoppen des Play Modes bzw. Neuladen der Szene wieder erscheinen und ich die erwähnte Verzögerung habe.

Hat jemand eine Idee, wie ich die Collider dauerhaft ausblenden kann und woher die extrem langen Wartezeiten beim Starten/Stoppen/Laden kommen?

 

Vielen Dank und beste Grüße
GaRv3

 

EDIT: Ich konnte nun zumindest herausfinden, was beim Verlassen des Play Modes den Freeze verursacht: Prefabs.MergePrefabs braucht 585 Sekunden(!). Woran kann das liegen? Ich habe zwar einige Prefabs in der Szene, aber das kann nicht normal sein und ist mir bisher so auch noch nie aufgefallen.

EDIT 2: Das erste Problem (langsames Rendern des Inspectors) habe ich nun gelöst, indem ich die HideFlags der Collider in OnEnable() des GameObjects selbst setze und nicht im dazugehörigen EditorScript. Merke: Beim Selektieren eines Objekts wird es zunächst selbst aktiviert und erst dann der Inspektor geladen.
Bleiben noch die Prefabprobleme!

EDIT 3: MergePrefabs braucht auch beim Starten des Play Modes 612 Sekunden.

Share this post


Link to post
Share on other sites

Hy, wir programmieren für dich Apps(Android & iOS):

Weiterleitung zum Entwickler "daubit"

Gegenfrage, brauchst du wirklich 562 BoxCollider? Was willst du denn eigentlich machen?

Zitat

ich habe ein paar Objekte, die über seeeeehr viele Box-Collider verfügen.

Wenn es nur ein paar Objekte sind, warum nimmst du statt dutzenden BoxCollidern in diesem Falle nicht lieber ein MeshCollider. Die sind zwar in der Brechnung etwas langsamer, aber denke mal immer noch bei weiten schneller als so viele BoxCollider. ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×