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

HenriChinasky

Members
  • Content count

    17
  • Joined

  • Last visited

Community Reputation

0 Neutral

About HenriChinasky

  • Rank
    Member

Recent Profile Visitors

112 profile views
  1. Textur mit mehreren Tiles => mehrere Materials?

    Hey, ich denke, das ist die simpelste Möglichkeit für dich. Wenn du ein 3D Modell des Panels in 3DS Max o.Ä. erstellst, dann kannst du deine Textur so skinnen, dass der jeweilige Teil des Bildes über der jeweiligen Stelle des Panels sitzt. Wenn du jedoch in Unity einzelne Planes erstellst, so brauchst du für jedes Plane das etwas anderes zeigen soll ein einzelnes Material. Solange du nicht tausende Knöpfe gleichzeitig auf diese Weise anzeigst, sollte das die Performance nicht beeinträchtigen!
  2. Inspector Winkel im Script nutzbar machen

    Wow, danke euch beiden! Einfach nur genial! Der GetRealAngle-Code ist ja aber auch mal super praktisch... Verrückt, dass in dem Unity Forum Mega Thread da keiner drauf gekommen ist.
  3. Inspector Winkel im Script nutzbar machen

    Stimmt schon, aber ich wollte eigentlich nur eine Kamera haben die sich von links nach rechts und zurück dreht
  4. Inspector Winkel im Script nutzbar machen

    Den Thread hab ich auch gefunden... Super verwirrend. Dachte halt, dass es vielleicht doch eine etwas einfachere Lösung geben muss... Werde mal ein bisschen weiter rumprobieren und meine Lösung auf jeden Fall hier posten. Wird schon irgendwie lösbar sein.
  5. Inspector Winkel im Script nutzbar machen

    Hmm, wüsste nicht wie es ohne while Scheife gehen sollte? Bin grad etwas verwirrt. Was spricht denn gegen die Methode? Meinst du in der Update Funktion? Aber da kann ich ja keine Wartepunkte setzen (waitforsecond), oder irre ich mich? Und was genau meinst du denn mit clampen?
  6. Inspector Winkel im Script nutzbar machen

    Danke für die Antworten, obwohl ich noch nicht ganz verstanden habe wie ich die System.Reflection anwenden würde. Der Tipp, den Inspector Wert als 360 - Wert selbst umzurechnen würde mich wiederum - selbst wenn es technisch geht - vor ein anderes Problem stellen. Das ist mein simpler Code: while(isRotating) { while(transform.localEulerAngles.y < maxY) { transform.localEulerAngles = new Vector3(initialEulerX, transform.localEulerAngles.y + 0.3f, initialEulerZ); yield return new WaitForSeconds(0.02f); } yield return new WaitForSeconds(3.0f); while (transform.localEulerAngles.y > minY) { transform.localEulerAngles = new Vector3(initialEulerX, transform.localEulerAngles.y - 0.3f, initialEulerZ); yield return new WaitForSeconds(0.02f); } yield return new WaitForSeconds(3.0f); } Das "while (transform.localEulerAngles.y > minY)" wäre ja dann Blödsinn, wenn ich zum Beispiel bei y = 0 starte, dann auf maxY = 60 drehe und dann zurückdrehen will auf -60, also 300. Dann ist der Wert ja schon zu Beginn des zweiten Zyklus geringer als der Endwert... Hmm...
  7. Inspector Winkel im Script nutzbar machen

    Hallo Leute, ich stehe wieder vor einem Problem und hoffe ihr habt einen Tipp für mich. Was ich machen möchte klingt erst einmal sehr einfach. Ich möchte ein "Überwachungskamera"-Prefab erstellen, was von Level Designern in der Scene platziert werden kann. Die Kamera soll sich von und bis zu einem bestimmten Winkel drehen - das ganze pingpong artig hin und her - so wie aus zahlreichen Spielen bekannt. Ich dachte, dass die einfachste Lösung wäre, dass der Designer einen minimal und einen maximal Y-Winkel angibt, den er anhand der Werte oben rechts im Transform Inspektor ermittelt. Nun ist mir klar geworden, dass diese Werte getweakt sind um die Quaternion Werte leichter lesbar zu machen. Das führt dazu, dass transform.localEulerAngles.y wohl nicht den Wert angibt, den der Designer im Editor ablesen kann. Wie geht ihr mit dieser Schwierigkeit um? Gibt es wirklich keine Möglichkeit auf den Wert im Inspector zuzugreifen?
  8. Daten szenenübergreifend speichern: Playerprefs?

    Super. Danke für eure Tipps!
  9. Daten szenenübergreifend speichern: Playerprefs?

    Danke für die Antwort! Du meinst also am sinnvollsten wäre es eine statische Liste zu erstellen, in welche sich die besiegten Gegner bei ihrem Tod eintragen. Beim Laden der Scene überprüfe ich für jeden Gegner, ob er in der Liste vorhanden ist und kann so erkennen, ob er zerstört werden soll. Klingt an sich sehr vernünftig, aber was, wenn ich dann beim Speichern des Spielstands doch einmal bestimmte Veränderungen an der Spielwelt beibehalten möchte? Wäre dann wohl eines der Assets wie EasySave eine Lösung, mit denen ich eben jene Listen serialisiert speichern könnte, oder? Hätte ich eigentlich auch selbst drauf kommen können...
  10. Hallo Leute, ich bin gerade dabei ein System für unser Projekt zu entwickeln mit dem bestimmte Daten szenenübergreifend gesichert werden können. Am besten ich erkläre es anhand eines Beispiels: Der Spieler kann sich durch eine Scene bewegen in der es Gegner gibt. Der Spieler tötet einen Gegner. Im Anschluss betritt der Spieler ein Haus in der Scene, welches wiederum eine eigene Scene darstellt. Aus Speichergründen wird hierfür nicht die additive Lademethode verwendet, also die ursprüngliche Szene mit der Information, dass der Gegner getötet worden ist verschwindet. Wenn der Spieler dann wieder aus dem Haus hinaus geht, soll der Gegner jedoch natürlich weiterhin tot sein. Meine Lösung bisher war es jeden Gegner selbsttätig eine ID zuzuweisen zu lassen. Sobald der Gegner stirbt "registriert" er sich mit seiner ID in einem Script und gibt dort an getötet worden zu sein. Seine ID wird daraufhin mit dem Befehl PlayerPrefs.SetInt(ID, 1) als tot gespeichert. Sobald eine Scene geladen wird überprüft das Script ob die ID eines in der Scene vorhandenen Gegners bereits in den PlayerPrefs gespeichert und als tot registriert wurde. Funktioniert erst einmal wie geplant. Das Problem stellt sich insofern, als dass mir diese Methode sehr unübersichtlich vorkommt und im späteren Verlauf Probleme machen könnte. Zunächst muss ich jetzt schon bei jedem Spielstart die PlayerPrefs komplett löschen, da ich ja nicht sagen kann: Lösche nur alle Informationen zu toten Gegnern und behalte diese, welche sich beispielsweise auf Grafikeinstellungen beziehen. Daher lautet meine Frage: Gibt es eine einfachere Möglichkeit oder ein Asset, welches ihr empfehlen könnt, dass es mir ermöglich exakt dasselbe zu tun wie mit den PlayerPrefs, nur dass ich vielleicht mehrere solcher Dateien erstellen kann, also eine Datei nur für Dinge die bei jedem Spielstart zurückgesetzt werden und zusätzlich eine die andere Einstellungen und den Spielstand speichert? Wie löst ihr solche Datensicherungen zwischen Scenes? Ich könnte natürlich ein zwischen den Scenes persistentes Script erstellen, dass die getöteten Gegner in einer Liste speichert, aber dann wäre ich wieder Limitert, was das Beenden und Speichern des Spiels angeht. Von Seiten der Engine kann PlayerPrefs ja wohl kaum für diese Aufgabe gedacht sein, oder? Danke für Antworten und Anregungen, Daniel
  11. Okay, vielen dank für eure Hilfe. Ich habe das Asset DevTools was sowieso deprecated ist gelöscht. Darin war eine .dll mit der Änderungen an dem Editor vorgenommen worden waren. Irgendwie ist der Ordner von meinem alten in mein neues Projekt gerutscht. Ich traue mich noch nicht weitere Assets zu importieren aber da das Asset Unity 2017 sicherlich nicht unterstützt könnte ich mir sehr gut vorstellen, dass es daran gelegen hat. Vielen Dank nochmal, das Schreiben mit euch hat mich jedenfalls vorerst zur richtigen Lösung geführt!
  12. Jap, du hast wohl leider Recht... Was mich nur so verwundert ist, dass es nach dem Löschen eines Assets geklappt hatte ein Editor Script zu importieren oder nachdem ich Fraps geschlossen hatte einmal. Schon sehr seltsam der ganze Fehler. Also ich weiß wirklich nicht was ich noch machen soll... Das einzige was mir noch einfällt um das Problem einzugrenzen ist zu Posten was konkret im Editor Log zwischen den TypeLoadExceptions und dem Crash steht: Refreshing native plugins compatible for Editor in 3.64 ms, found 7 plugins. Preloading 2 native plugins for Editor in 0.28 ms. Platform assembly: C:\Unity2017\Editor\Data\Managed\Mono.Cecil.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\Unity.SerializationLogic.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\Unity.DataContract.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\UnityScript.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\Unity.Legacy.NRefactory.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\System.Xml.Linq.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\Unity.IvyParser.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\Boo.Lang.dll (this message is harmless) Non platform assembly: C:\Unity2017\Editor\Data\UnityExtensions\Unity\UnityVR\Editor\UnityEditor.iOS.Extensions.Xcode.dll (this message is harmless) Non platform assembly: C:\Program Files (x86)\Microsoft Visual Studio Tools for Unity\15.0\Editor\SyntaxTree.VisualStudio.Unity.Messaging.dll (this message is harmless) Assertion failed on expression: 'm_ArrayField != SCRIPTING_NULL' (Filename: C:\buildslave\unity\build\Runtime/Mono/SerializationBackend_DirectMemoryAccess/LinearCollectionField.cpp Line: 33) Crash!!! Könnte man daraus nicht schließen, dass es sich vllt um eine .dll Datei handelt, so wie letztes mal? Dann wär die Suche ja zumindest extrem eingegrenzt. "Refreshing native plugins compatible for Editor" würde auch erklären warum nur Editor Scripts betroffen sind, weil bei denen die .dlls neu geladen werden?
  13. Danke fürs Lesen und für die Tipps. Dass es an der Festplatte oder an der Unity Installation liegt kann ich ausschließen, da bei beidem die Gegenprobe gemacht. Das mit Hintergrundprogrammen ist eine gute Idee, leider in meinem Fall nicht die Ursache. Ich nutze sehr viele unterschiedliche Script Assets und vermute, dass irgendeines davon der Übeltäter ist. Hat irgendwer eine Ahnung ob man mit dem Editor Log etwas anfangen kann? Da heißt es in etwa: Reloading assemblies after script compilation. Begin MonoManager ReloadAssembly Platform assembly: C:\Unity2017\Editor\Data\Managed\UnityEngine.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\UnityEditor.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\Unity.Locator.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\I18N.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\I18N.West.dll (this message is harmless) //usw... Dann zufälligerweise (?) das Asset was ich gerade neu hinzugefügt habe Non platform assembly: D:\PFAD\Assets\Cinema Suite\Cinema Director\System\Editor\DirectorControl\DirectorEditor.dll (this message is harmless) Loading D:\PFAD\Assets\Cinema Suite\Cinema Director\System\Editor\DirectorControl\DirectorEditor.dll into Unity Child Domain Platform assembly: C:\Unity2017\Editor\Data\Mono\lib\mono\2.0\System.Core.dll (this message is harmless) Platform assembly: C:\Unity2017\Editor\Data\Managed\ExCSS.Unity.dll (this message is harmless) //und direkt danach TypeLoadException: Could not load type 'AC.Action' from assembly 'Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. (Filename: Line: -1) TypeLoadException: Could not load type 'AC.Action' from assembly 'Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. (Filename: Line: -1) TypeLoadException: Could not load type 'AC.Action' from assembly 'Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. (Filename: Line: -1) //darauf folgen mindestens hunderte TypeLoadExceptions von allen möglichen Scripts (Auch aus dem UnityEngine Namespace) und schließlich: TypeLoadException: Could not load type 'vEnumFlagAttribute' from assembly 'Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. (Filename: Line: -1) Assertion failed on expression: 'm_ArrayField != SCRIPTING_NULL' (Filename: C:\buildslave\unity\build\Runtime/Mono/SerializationBackend_DirectMemoryAccess/LinearCollectionField.cpp Line: 33) Crash!!! Kann jemand daraus irgendetwas ableiten? Liege ich eurer Ansicht nach richtig in der Annahme, dass der Fehler der den Crash verursacht als: Assertion failed on expression: 'm_ArrayField != SCRIPTING_NULL' (Filename: C:\buildslave\unity\build\Runtime/Mono/SerializationBackend_DirectMemoryAccess/LinearCollectionField.cpp Line: 33) beschrieben wird?
  14. Hallo Leute, ich weiß wirklich nicht mehr weiter. Ich hatte bereits vor einiger Zeit genau dasselbe Problem mit einer älteren Unity Version: https://forum.unity.com/threads/unity-editor-crashes-when-compiling-certain-imported-scripts-need-help-desperately.468946/ Das Problem lag darin, dass der Unity Editor immer gecrasht ist, wenn ich versucht habe irgendein Script aus einem Editor Folder in mein Projekt zu importieren. Wenn ich das Script dann nicht vor dem nächsten Start wieder gelöscht habe, öffnete sich Unity überhaupt nicht mehr und ich musste die komplette Library neu erstellen lassen. Nach ewigem rumprobieren hatte ich damals eine .dll Datei im Projekt gefunden die versehentlich doppelt drin gewesen ist, diese gelöscht und das Problem verschwand. Nun ist es in der aktuellen Unity Version zurückgekehrt und seltsamer denn je! Erst einmal dachte ich, es würde sich um exakt dieselbe Problematik handeln, aber ich fand keine doppelte .dll. Ich habe wirklich tagelang nichts getan außer rumzutesten, war schon völlig verzweifelt und habe schließlich angefangen Assets zu löschen, die ich nicht akut gebraucht habe und im Anschluss immer versucht ein Editor Script zu importieren. Schließlich habe ich ein Asset gelöscht, was es mir tatsächlich ermöglicht hat das Script zu importieren. Seltsamerweise trat der Crash beim nächsten Script aber erneut auf! Ich habe wieder ein Asset gelöscht und siehe da: Ich konnte erneut ein weiteres Editor Script hinzufügen. Danach hat auch das wahllose löschen von Assets zu keinem Erfolg mehr geführt. Noch verzweifelter als zuvor ist mir im Crash-Log aufgefallen, dass Fraps mit einer .dll vertreten gewesen ist. Ich dachte in meiner Verzweiflung, dass vielleicht hier irgendeine Inkompatibilität besteht die mir nie in den Sinn gekommen wäre, habe Fraps geschlossen und unglaublicherweise wurde das Script ordnungsgemäß und ohne Crash importiert. Ich glaubte endlich das Problem identifiziert zu haben und dummerweise war ich so übermütig, dass ich sofort eines der vorher gelöschten Assets wieder eingefügt habe - was zu einem Crash geführt hat. Ich weiß nicht was ich tun soll. Mir ist klar, dass die beste Lösung wäre ein neues Projekt zu erstellen und alle Assets und Scripts nach und nach zu importieren um das Problem auszumachen, aber aufgrund der Komplexität des Projekts und der vielen Querverweise innerhalb der Scripts würde das unglaublich viel Zeit und kleinteilige Arbeit in Anspruch nehmen, ohne Garantie, dass am Ende dann nicht wieder alles crasht. Deshalb meine Frage: Hat irgendwer schon etwas ähnliches erlebt? Gibt es irgendeine Funktion oder auch ein Asset was es mir ermöglicht nachzuvollziehen wodurch der Crash zustande kommt? Ich weiß, dass es schwer ist darauf eine hilfreiche Antwort zu geben, aber mir bleibt kaum etwas anderes übrig als darauf zu hoffen, dass jemand eine ähnliche Erfahrung gemacht hat. Jeder Tipp könnte hilfreich sein! Der Fehler im Log lautet nichtssagend: mono.dll caused an Access Violation (0xc0000005) in module mono.dll at 0033:ae68e36c.
  15. Progress im Hintergrund

    Das gleiche Problem wie im anderen Post. Keine Ahnung ob man als Profi-Programmierer versteht was du meinst, ich als Durchschnitts-Begabter habe überhaupt nichts verstanden. Was meinst du mit Progress? Zeig doch einfach mal dein ganzes Script, dann kann man dir vielleicht auch helfen, nichts für Ungut!
×