Jump to content
Unity Insider Forum

[ Unity 5, Anfänger] Nach Zwischenspeichern und Gamemodus-Test werden einige Inspector-Einstellungen zurückgesetzt. Bug oder mein Fehler?


Teetasse

Recommended Posts

Hallo :)

 

Vorweg: Ich bin gänzlich neu auf dem Gebiet der Spiele-Engines und ggf. habe ich etwas falsch gemacht. Angefangen habe ich erst gestern mit Unity 5 und bin aktuell einfach nur am Herumspielen und ein paar Sachen am ausprobieren.

 

Ich hatte nun gestern zweimal einen Fehler mit dem Inspector.

 

1.) Ich habe über 2 Stunden hinweg versucht den Third-Person-Controller auf meine Map zu bekommen und hatte dabei zwei Probleme: Beim ersten, welches ich nicht lösen konnte, drehte sich die Kamera (+ Figur) immer nur um maximal 180° und sprang dann zurück in die Ausgangsausrichtung.

 

Beim zweiten Problem hockte die Figur in der Luft. Dies konnte ich temporär immer lösen indem ich einen Capsule Collider hinzugefügt habe und hier den Wert der Y-Achse geändert oder "Is Trigger" aktiviert habe. Nur wurde das immer wieder von Unity zurückgesetzt, nachdemich den Gamemodus verlassen hatte, obwohl es funktioniert hat. :blink:

 

2.) Mein zweiter noch nervigerer Bug war heute Nacht aufgetreten. Ich hatte mir die Sonne(Directional light) so gedreht wie ich sie haben wollte und im Inspector Einstellungen an Licht, Kamera, Wasser und Texturen vorgenommen. Danach bin ich auf "Save Scene" und "Save Project". Und was passiert? Von Jetzt auf gleich war ich wieder auf einem Stand von einer Stunde zuvor. Ich habe auch ganz sicher keinen alten Speicherstand geöffnet, da ich zuletzt 4 Stunden zuvor etwas gespeichert hatte. :wacko::huh:

 

 

Vorm Speichern hatte ich noch einen Screenshot erstellt. Außerdem noch einen danach:

 

Vor dem Speichervorgang:

bildschirmfoto2015-03lbuc0.png

 

Danach, von jetzt auf gleich:

bildschirmfoto2015-03rcu8o.png

 

 

Allgemein muss ich sagen dass mir die Software an vielen Stellen SEHR verbugt und irgendwie unzuverlässig vorkommt. Gerade eben als ich mein Projekt wieder geöffnet habe, funktionierte nun auf einmal mein First Person Character nicht mehr, reagiert nicht auf die Maus und hängt nun unter der Map. Aktuell bekomme ich den auch nicht mehr hoch. Das lief gestern die ganze Zeit Problemlos. Auch als ich das Projekt noch einmal geöffnet hatte, nachdem ich es gespeichert hatte.

 

Vielleicht weiß ja jemand wo bei mir der Fehler liegt und was ich falsch gemacht haben könnte. Danke schon mal :lol:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jup also das mit deinem Speichern ist ein klarer Fall von Unwissenheit :) Wirklich interssant das du so eine Stunde lang weiter gearbeitet hast.

 

Hier zur Erklärung:

 

Auf deinem Ersten Screenshot ist zu erkennen das dein Spiel leuft während du den Screenshot gemacht hast. (Play Button dunkel blau)

 

Du kannst zwar wärend das Spiel leuft Einstellungen veränderung und mit den Shader etc rumspielen aber diese Änderungen werden beim beenden des laufenden Spiels nicht übernommen.

 

Du solltest dir also angewöhnen erst das Spiel zu beenden und dann Änderungen vorzunehmen. Du kannst aber wärend der Laufzeit testen wie zb dunkleres Licht wirkt etc aber wie gesagt diese Werte werden nicht übernommen.

 

Am besten du testet das mal dann wirst du sehen was ich meine.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke mal, du hast im PlayMode gespeichert. Alle Änderungen, die du im Spielmodus (also wenn Play aktiv ist) gemacht hast, werden von Unity zurückgesetzt. Da hilft auch dein Speichern nichts.

 

Das ist deshalb so, weil man manchmal mit bestimmten Werten nur herumspielen möchte. Wenn Du Einstellungen getroffen hast, die dir gefallen, kannst Du im Inspector bei einem Script o. Transform. o.ä. rechts oben klicken, "Copy Compenent" auswählen und an der gleichen Stelle bei nicht aktiven Modus "Paste Component Values" auswählen. Dies funktioniert aber nur für ein Script!

 

 

Edit: Bäääm, eine Minute zu spät ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ahhh, super, besten Dank Euch beiden für die schnelle Aufklärung! Ein klarer fall also von Fail by User :lol:

 

Das erklärt auch warum die Capsule Collider-Einstellungen ebenfalls nicht übernommen wurden - das hatte ich ja ebenfalls während des Spielens gesetzt :D

 

Die Funktion mit "Copy Compenent" hört sich ebenfalls äußerst hilfreich an.

 

Danke habt mir sehr geholfen, Ihr glaubt gar nicht wie oft mein Gesichtsausdruck gestern ins frustrierte entglitten ist ... -_-

 

 

Nun mal schauen dass ich den Controller wieder zum Laufen bekomme und dann kanns weiter gehen.

 

Gruß ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das muss technische Gründe haben warum Unity die änderung während des Playmodes nicht übernimmt oder zumindest warum Unity nicht nachfragt ob man die änderungen übernehmen möchte. Versteh auch nicht genau warum das nicht möglich ist. Hätte mir das auch schon einige male gewünscht aber das ist wirklich nur ne kleinigkeit.

 

Vielleicht weiß ja jemand anderst warum das nicht möglich ist die Einstellungen direkt nach dem Beenden zu übernehmen hat das nen Grund ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke der Grund ist, dass Unity nicht unterschieden kann, ob du manuell Änderungen vornimmst, oder die Änderungen durch Scripte passieren - oder eine fiese Mischung aus Beidem. Letztlich kann sich ja jede Variable im Spiel ändern - und stell dir nur vor, du spielst, beendest den Playmode und alle Objekte sind an den Positionen, an denen sie am Ende deiner Play-Session waren.

 

Das wäre fatal.

 

Insofern ist es zwar manchmal nervig, aber meistens ein ziemlicher Segen - nur denkt daran kaum jemand. Bei ScoreFlash habe ich einen Mechanismus eingebaut, der den Zustand aus dem Playmode speichert. Das ist schon möglich (und hier kann während des Spielens "verstellt" werden). Wobei mir die Implementierung ein paar Mal bei Versionswechseln von Unity kaputt gegangen ist. Der AudioMixer (neu in Unity 5) hat diese Möglichkeit auch.

 

Und: Alles, was im Projekt gespeichert ist (also auch Prefabs und Materialien) ist auch "persistent". Beim Ändern von Materialien muss man also aufpassen: Die werden nicht zurückgesetzt. Und Prefabs kannst du im Projekt ändern - diese Änderungen bleiben auch erhalten (werden aber normalerweise nicht automatisch in der aktuellen Szene übernommen).

 

Ein Trick, um nicht versehentlich Änderungen im Playmode zu machen, weil man nicht daran denkt, dass man im Playmode ist: In den Einstellungen (Mac: Unity / Preferences; Windows: Edit / Preferences) im Bereich "Colors" gibt es "Playmode tint" ... das habe ich immer auf eine grelle Farbe gestellt (voll krass rot ;-) ). Das kann man nicht übersehen ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

An und für sich ist es, wenn ich so überlege, doch ne ganz praktische Sache um schnell etwas zu testen. :) Habe mir nun den Tipp von Jashan zu Herzen genommen und die übrigen Fensterelemente im Play-Modus kontrastreicher eingefäbrt: Mittelgrau :)

 

Btw: Gestern bekamm ich tatsächlich folgende Warnmeldung: "You must exit play modus to save the scene!" Warum da nun auf einmal und nicht vorher, weiß ich aber nicht.

 

Ich muss sagen, ich bin etwas naiv dran gegangen :D Irgendwie ist es aber stellenweise fast komplizierter sich einzuarbeiten als in 3ds Max :D Gerade mit den ganzen Skripten :wacko: Meine Third-Person-Steuerung funktioniert noch immer nicht. Die Pfeiltasten sind quasi nur Oben/Norden, Rechts/Ost, Unten/Süden und Links/West -_-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...