Jump to content
Unity Insider Forum

All Activity

This stream auto-updates     

  1. Past hour
  2. Hallo zusammen Hab von meinem Professor eine ziemlich schwere Aufgabe bekommen die ich in möglich kurze Zeit schreiben muss. Also es handelt sich über eine Facharbeit und das Thema ist:"Klimawandel -wahrheit oder lüge". Mir ist schon jetzt bewusst, dass es heute sehr viel Material über dieses Thema gibt. Das aber über was ich am meisten sorgen habe. Ist wie kann ich genau erkennen welche Statistiken heute richtig sind und welche nicht. Ich möchte nicht, dass es sich in meine Facharbeit Daten befinden, die irgendwie komisch aussehen. Am Ende wird von diese Statistik meine Abschlussnote hengen. Habt ihr vielleicht ein Vorschlag was ich tun kann?
  3. Today
  4. MaZy

    Shadow Bug

    Es gibt zwei Dinge die das verursachen können. Mesh. Das Tier hat zum Beispiel auch solche Lücken. Das Problem hab ich z.B. gehabt, wenn ich MagicaVoxel benutzt habe. Dort waren sehr viele Flächen. Einzige Idee war einfach wo anders nochmal zu exportieren und dabei das Model zu optimieren (automatisch). Ansonsten Lights, Mal normal bias runter drehen.
  5. Mit Covert.toSingle kannst du ein Sting in ein Float wandeln. Wenn deine Werteabfrage an sich schon funktioniert, du also nur noch den Sting in ein Float wandeln willst, sollte das hier funktionieren: gameobjectPostionY = Convert.toSingle(GetDataValue(items[num], "wert:"));
  6. Grüße! Ich hab hier ab und an kleine Schatten Bugs, wie hier auf dem Bild: https://www.imagebanana.com/s/1668/AE8WCYwa.html Kann sich das wer erklären? Was könnte am Licht falsch sein? Grüße von Kojote
  7. Ich habe ein GUI Menu in Photoshop erstellt. Ein Button hat einen Glow-Effekt. Sobald ich die High Definition Render Pipeline installiere, verliert der Button-Glow die sanfte Transparenz. Der Glow-Effekt wirkt glotzig und klobig. Der Effekt tritt auf sobald ich unter ProjectSettings/Player den Farbraum von Gamma zu Linear einstelle. Wie kann ich meine Sprites mit der HDRP pixel-perfect darstellen lassen?
  8. Hello, I have a "Casual Ball" Game with 2 scenes, once the Menu and the Game. So if I start the Game in the Game Scene I have a Pause Button in the top right corner, the Button is in a UI canvas. But if I start the Game in the "Menu Scene" and I hit the play button it gets me to the "Game Scene" and I can play but the Pause Button isn't there, the whole canvas isn't in the Hierarchy. The same the other way around (little different), if I am in the "Game Scene" and hit the Pause button and then the Menu button, I get to the "Menu Scene" but there I have to set the Buttons inside the canvas to visible. I hope you can understand it my english isnt the best.
  9. Yesterday
  10. Habs verstanden, dankeschön
  11. Kojote

    Camera

    Grüße! Ich hab hier ein Camerascript, welches ich gern umschreiben würde, leider fällt mir keine passende Lösung ein. Genau genommen, geht es um dieses Stück hier: m_CurrentDist = Mathf.SmoothDamp(m_CurrentDist, targetDist, ref m_MoveVelocity, m_CurrentDist > targetDist ? clipMoveTime : returnTime); m_CurrentDist = Mathf.Clamp(m_CurrentDist, minDistanceZoom, maxDistnceZoom); m_Cam.localPosition = -Vector3.forward * m_CurrentDist; Der Rest der If-Anweisung ist von mir: if (Input.GetAxis("Mouse ScrollWheel") != 0f) { float scroll = Input.GetAxis("Mouse ScrollWheel") * scrollSensitivity; scroll *= (this.m_CurrentDist * 0.3f); this.m_CurrentDist += scroll * -1f; this.m_CurrentDist = Mathf.Clamp(this.m_CurrentDist, minDistanceZoom, maxDistnceZoom); m_Cam.localPosition = -Vector3.forward * m_CurrentDist; } else { m_CurrentDist = Mathf.SmoothDamp(m_CurrentDist, targetDist, ref m_MoveVelocity, m_CurrentDist > targetDist ? clipMoveTime : returnTime); m_CurrentDist = Mathf.Clamp(m_CurrentDist, minDistanceZoom, maxDistnceZoom); m_Cam.localPosition = -Vector3.forward * m_CurrentDist; } } Die Else macht folgendes. Kollidiert die Kamera mit einem Objekt, weicht sie automatisch aus, dazu verändert sie auch ihre Position und Entfernung zum Spieler. m_CurrentDist ist dabei für die Entfernung zuständig. Diese Variable würde ich gern manipulieren. Den Wert im Inspector verändern funktioniert. Nur leider mein If- Statement nicht, der Scroll funktioniert zwar, wird aber ständig durch die Else zurück gesetzt. Habt ihr da ne Idee? Hier noch mal die gesamte Late-Update: private void LateUpdate() { float targetDist = m_OriginalDist; // initially set the target distance m_Ray.origin = m_Pivot.position + m_Pivot.forward * sphereCastRadius; m_Ray.direction = -m_Pivot.forward; var cols = Physics.OverlapSphere(m_Ray.origin, sphereCastRadius); // initial check to see if start of spherecast intersects anything bool initialIntersect = false; bool hitSomething = false; for (int i = 0; i < cols.Length; i++) // loop through all the collisions to check if something we care about { if ((!cols[i].isTrigger) && !(MalbersTools.CollidersLayer(cols[i],dontClip))) //is on a layer we don't want to clip { initialIntersect = true; break; } } if (initialIntersect) // if there is a collision { m_Ray.origin += m_Pivot.forward * sphereCastRadius; hits = Physics.RaycastAll(m_Ray, m_OriginalDist - sphereCastRadius); // do a raycast and gather all the intersections } else // if there was no collision do a sphere cast to see if there were any other collisions { hits = Physics.SphereCastAll(m_Ray, sphereCastRadius, m_OriginalDist + sphereCastRadius); } Array.Sort(hits, m_RayHitComparer); // sort the collisions by distance float nearest = Mathf.Infinity; // set the variable used for storing the closest to be as far as possible for (int i = 0; i < hits.Length; i++) // loop through all the collisions { // only deal with the collision if it was closer than the previous one, not a trigger, not in the Layer Mask if (hits[i].distance < nearest && (!hits[i].collider.isTrigger) && !MalbersTools.CollidersLayer(hits[i].collider,dontClip)) { nearest = hits[i].distance; // change the nearest collision to latest targetDist = -m_Pivot.InverseTransformPoint(hits[i].point).z; hitSomething = true; } } if (hitSomething) // visualise the cam clip effect in the editor { Debug.DrawRay(m_Ray.origin, -m_Pivot.forward * (targetDist + sphereCastRadius), Color.red); } // hit something so move the camera to a better position protecting = hitSomething; if (Input.GetAxis("Mouse ScrollWheel") != 0f) { float scroll = Input.GetAxis("Mouse ScrollWheel") * scrollSensitivity; scroll *= (this.m_CurrentDist * 0.3f); this.m_CurrentDist += scroll * -1f; this.m_CurrentDist = Mathf.Clamp(this.m_CurrentDist, minDistanceZoom, maxDistnceZoom); m_Cam.localPosition = -Vector3.forward * m_CurrentDist; } else { m_CurrentDist = Mathf.SmoothDamp(m_CurrentDist, targetDist, ref m_MoveVelocity, m_CurrentDist > targetDist ? clipMoveTime : returnTime); m_CurrentDist = Mathf.Clamp(m_CurrentDist, minDistanceZoom, maxDistnceZoom); m_Cam.localPosition = -Vector3.forward * m_CurrentDist; } } Grüße von Kojote
  12. Sascha

    Serialisierung

    Da hab ich was für dich: http://blog.13pixels.de/2019/an-intro-to-serialization-in-unity/ Kurz: Serialisierung heißt prinzipiell "Dinge in eine Reihe [Serie] packen". Da Dinge im Computer in der Basis immer eindimensional sind - seien es Daten auf der Festplatte oder Informationen in einem Netzwerkkabel - müssen komplexe Strukturen wie Objekthierarchien serialisiert werden, um in solche eindimensionale Dinge hineinzupassen. Aber... der Artikel ist da ein ganzes Stück genauer, auch im Unity-Kontext.
  13. Naja, Spielstände sind je nach Spiel unterschiedlich komplex. Das geht von supereinfachen Sachen wie einer einzelnen Zahl ("Bis zu welchem Level wurde freigespielt") über überschaubare Sachen ("Wieviele Sterne hat der Spieler jeweils in jedem Level Angry Birds") bis hin zu krassen Sachen wie einem Spielstand in Skyrim ("Welcher NPC lebt noch und was hält er vom Spieler, wo liegen was für Sachen herum, wie hat der Spieler seine Skillpunkte verteilt, welche Items besitzt er, ..."). PlayerPrefs sind supereinfach zu benutzen, um einzelne Werte abzuspeichern. Beispiel eins und zwei sind damit daher sehr gut zu machen. Komplexe Sachen wie Nummer drei dagegen - da hört der Spaß dann auf und du bist mit mächtigeren Systemen besser beraten. Was Manipulierbarkeit angeht... mach dir mal über Cheater erstmal keinen Kopf. Wer cheaten will, wird cheaten können. Absolute Sicherheit gibt es einfach nicht. Überlege dir daher: Wie schlimm ist es wirklich, wenn ein Spieler schummelt? Ich würde mir niemals den Stress machen, bei einem Singleplayer-Spiel Cheatschutz einzubauen. Soll doch jeder Spieler selbst für seinen Spielspaß verantwortlich sein. Da würde ich erst mit anfangen, wenn jemand anderen Spielern den Spaß verhageln kann. Und wie gesagt, wer cheaten will, wird cheaten. Auch wenn du selber eine Savegame-Datei anlegst, deren Inhalt krass verschlüsselt ist. Wo ein Wille ist, ist auch immer ein Hack. Selbst, wenn du dir die riesige (!) Arbeit machen solltest, ein halbwegs sicheres System zu bauen, ist das Savegame-System nur einer von vielen Angriffspunkten. Im Zweifelsfall kommt der Nutzer mit Low-Level Memory Access daher und dann kann dein Spielstand noch so gut verschlüsselt sein. Also... mach dir da keine Sorgen. Lohnt sich einfach nicht, da Energie reinzustecken.
  14. Stimmt, daher auch kein Text. Habe die Funktion "LoadTheStadtInfo() gestrichen. Die Klasse "Stadt" enthält nur noch die Elemente des Dictionary. Die Funktion "ShowInfo()" sieht so aus: public void ShowInfo() { InfoText.enabled = true; SceneActivate(); sceneName = SceneManager.GetActiveScene().name; stadtText.text = Stadt.TheTargets[sceneName]; } Das Stadt-Script wurde einem Empty GameObject zugewiesen und voila, it works !!!.......Bis zu den nächsten Hürden. Besten Dank, Sascha und ein schönes Wochenende Nordseekrabbe
  15. Luis

    Serialisierung

    Hi, ich wollte fragen, was genau Serialisierung ist. Kann man das so sagen, dass beim Serialisieren Daten in einer bestimmten Form in eine andere Form umgeschrieben werden? Ich bin mir sehr unsicher, ob das stimmt. Viele Grüße, Luis!
  16. Okay danke, das erleichtert mir das ganze wesentlich xD. Könntest du mir das mit dem "Sie skalieren nicht mit" nochmal etwas genauer erklären? Als ich danach gesucht habe, hab ich nur argumentationen gefunden wo behauptet wird sie wären leicht manipulierbar und so🤔
  17. Hallo, ich habe ein kleines Problem mit der Benutzung des Gyroskops. Mein Setup: Ich habe eine Szene, in der sich eine Kamera (+ Cube als Repräsentierung des Handys) mit dem Gyroskop bewegen soll. Ich habe mein iPhone (mit der App Unity Remote) mit einem Kabel, an meinen Rechner angeschlossen und es über Edit > Projects Settings > Editor > Unity Remote > Device ausgewählt. Ich habe das Verwendete Skript mal herunter gekürzt: using System.Collections; using System.Collections.Generic; using UnityEngine; public class GyroTest : MonoBehaviour { private GameObject camHolder; // Start is called before the first frame update void Start() { camHolder = new GameObject("Camera Holder"); camHolder.transform.position = transform.position; transform.SetParent(camHolder.transform); camHolder.transform.rotation = Quaternion.Euler(90f, 90f, 0f); } // Update is called once per frame void Update() { transform.localRotation = Input.gyro.attitude * new Quaternion(0, 0, 1, 0); } } Das Problem: Ich sitze hier jetzt leider ratlos da, weil die Rotation nicht wie erwartet funktioniert. Ich versuche es mal zu beschreiben: Wenn ich mein Telefon entlang der Z-Achse rotiere, tut dies meine Camera auch. Rotiere ich es mit der Y-Achse, erhalte ich nur ein "Zittern". Um die X-Achse, rotiert die Kamera in Unity um mehrere Achsen. Ich weiß, dass diese Beschreibung das Problem eher semigut erläutert, daher habe ich mein Projekt als Unity Package beigefügt. Vielen Dank Gyroskop.unitypackage
  18. Du übergibst einen string "_stadtText" (warum auch immer der Parametername mit Unterstrich anfängt...) und machst damit nichts. Ich bin mir recht sicher, dass das so nicht richtig ist
  19. Okay, Fehler ist weg, nachdem ich { } nach der if-Abfrage hinzugefügt habe. Hatte ich nach Hinzufügen von Debug.Log vergessen, so schnell entstehen (banale) Fehler mit schweren Folgen. public static void LoadTheStadtInfo(string _stadtText) { sceneName = SceneManager.GetActiveScene().name; Debug.Log("sceneName ist " + sceneName); if (TheTargets.ContainsKey(sceneName)) { Debug.Log("sceneName ist" + sceneName); stadtText = TheTargets[sceneName]; } } In der Klasse "Stadt" ist stadtText ein string, in der Klasse "InputFieldScript" ist stadtText eine public Text Variable. Deshalb erscheint wohl bislang im UI-Text kein Text. In der Funktion "ShowInfo()" fehlt ja wohl noch die Verbindung. public void ShowInfo() { InfoText.enabled = true; SceneActivate(); Stadt.LoadTheStadtInfo(Stadt.stadtText); stadtText.text = Stadt.stadtText; Obwohl keine Fehlermeldung auftaucht, bleibt der erhoffte Text aber aus. Nordseekrabbe
  20. Wer auch immer das sagt, hat keine Ahnung. PlayerPrefs sind genau dafür da. Sie skalieren nicht sehr gut mit einem Projekt mit - du willst also keinen Skyrim-Spielstand über PlayerPrefs speichern - aber um ein Dutzend Bools abzuspeichern ist die Klasse perfekt und angenehm unkompliziert.
  21. Ja hallo, und das wolltest du uns jetzt erstmal vorenthalten oder was?
  22. Benutze mal bitte den <>-Knopf über dem Textfeld, und packe da deinen Code rein, dann kann man den sogar lesen Erstmal: Also, entweder die Variable ist vom Typ string, oder sie ist vom Typ UIText. Beides geht nicht. Bei diesem Code: if (TheTargets.ContainsKey(sceneName)) { stadtText = TheTargets[sceneName]; } kann dieser Fehler unmöglich™ auftreten. Leere einmal deine Konsole (nicht, dass das ein alter Fehler ist, der einfach immer noch in der Liste steht, obwohl er nicht mehr aktuell ist) und schaue danach, in welcher Zeile er wirklich auftritt.
  23. Hallo, Auch von mir ein Willkommen 😊 Also Zeichnen kannst du ja (Neid 😉) Wenn das mit dem Programmieren genau so gut hinhaut, kann das ja nur was werden. Gruß Jog
  24. Danke, Sascha, verstanden. Die Funktion sieht inzischen so aus: public void LoadStadtInfo() { sceneName = SceneManager.GetActiveScene().name; Debug.Log("SceneName ist " + sceneName); // es wird der korrekte Stadtname der aktuellen Szene benannt, hier Bamberg if (TheTargets.ContainsKey(sceneName)) { stadtText = TheTargets[sceneName]; } } wobei "public Dictionary<string, string> TheTargets = new Dictionary<string, string>(); " und "string sceneName;" "public string stadtText;" deklariert sind (stadtText ist UIText) als Beispiel ein Element der Dictionary TheTargets.Add("Bamberg", "In mehr als 1000 Jahren ist ein einzigartiges historisches Stadtbild gewachsen....."); Leider erscheint der Fehler: "The given key was not present in the dictionary" Wo hat sich da ein Fehler eingeschlichen ? Nordseekrabbe
  25. Die Frage ist eher 'wo fang ich an..?' 😅 Also zunächst einmal muss ich unterscheiden zwischen aktuellen Test-Projekten und größeren vorausgeplanten Projekten. Aktuell versuche ich nämlich noch den Code von "Super Sparty Bros." nach meinen Bedürfnissen anzupassen. Wie schon oben erwähnt ist das ein Übungs-Projekt der Michigan-State-University. Klar ich könnte mich dort auch in den Foren beteiligen, aber auf englisch ist das immer so eine Sache.. Eine Sache an der es hapert ist zum Beispiel das Implementieren eines Charakter-Select Systems. Alles was ich im Netz bislang gefunden habe lässt sich einfach nicht mit dem Code des Spiels übereinbringen. Ich bin schon am überlegen ein Projekt basierend auf einem dieser anderen Codes anzufangen, aber fühl mich irgendwie noch zu unsicher um mein sicheres Gerüst zu verlassen... 😬 Hab halt schon das ein oder andere mal die Erfahrung gemacht dass bei "for beginners"-Videos schon das meiste Wissen vorausgesetzt wird, paradoxerweise. Hier sind ein paar der Charakter-Sprites die ich entworfen habe (abgesehen von Sparty). Mario und Nyancat hab ich zum Spaß auch bereits drin. ^^ Extra-Leben und bröckeliger Boden waren eigentlich recht einfach zu scripten. Wasser hab ich auch animiert (wenn auch sehr simpel) und es gibt auch eine Flut die nach oben steigt; allerdings hab ich mich noch nicht damit befasst wie ich sie zurücksetzen lasse wenn der Spieler gestorben ist. ^^' Schon seltsam wenn man das Wasser auf einmal über sich sieht.. 🤔 Damit zusammenhängend häng ich auch daran fest wie ich den Spieler zu einem Checkpoint zurücksetzen lasse, auch wenn im Script eigentlich ein paar Zeilen stehen laut denen das möglich sein sollte... Ich hab dann auch noch einen atmosphärischen Wechsel in Form eines langsamen Sonnenaufgangs, was ganz gut funktioniert. Also was Grafiken und den Animator betrifft bin ich soweit ja schon ganz gut am Start. Nur beim Scripten verlässt mich immer wieder mal die Hoffnung, ob es denn überhaupt alles noch einen Sinn hat. 😅😔 Naja.. neben diesen Versuchen beschäftige ich mich auch noch mit dem gestalten meines Einsteiger-Projekts "Random Kingdom". Da hab ich zwar noch nix in Unity, aber dafür diverse Konzepte und Spielgrafiken. Also im Grunde ist es eine Art Zelda-Klon, aber (wie eigentlich jedesmal) hat es sich mit der Zeit stückchenweise immer mehr davon entfernt (auch wenn es verhältnismäßig noch das am ähnlichsten gebliebene Projekt dieser Art ist). Es soll dieses ganze Prinzip von "episches Königreich in dem der Held los zieht um eine Prinzessin zu retten" auf die Schippe nehmen. Im High-Concept Dokument hab ich es so formuliert: „Random Kingdom“ is a funny as lovely retro-charming parody of classic action-adventure games with strong gameplay and a huge 2D-world to explore." Ich hatte vor längerer Zeit mal auf die schnelle mir In-Game-Screens gebastelt, in dem Format eines DS-Bildschirms, und mithilfe des M3's auch auf dem DS direkt anschauen können. Als ich das anderen gezeigt hatte hatten sie tatsächlich zunächst versucht es zu 'spielen'.. 😄 Hier ne kleine Auswahl von Sprites. Ich dachte mir als erstes Projekt ganz praktisch und vergleichsweise simpel. Aber solang ich die wesentlichsten Funktionen noch nicht mal auf die Reihe bekomme zu scripten, brauch ich auch noch nicht damit anzufangen es in Unity zu übertragen ...oder? Nun..., kommen wir zu meinem Hauptprojekt, "Xektha". Viele Jahre lang war es nur eines meiner vielen Nebenprojekte, und das obwohl es eigentlich mein ganzes Leben über präsent war. Ausgedacht hab ich mir die ersten Figuren nämlich schon als Kind, und hab mit Microsoft Paint angefangen die Figuren auf ebenfalls mit Paint gemalten Hintergründen zu bewegen. Es wirkte quasi wie ein Point-and-Click-Adventure mit RPG-Einlagen. Irgendwann konnte ich sogar meine Schwester dafür begeistern, sodass wir eine Zeit lang zu zweit gestaltet und gespielt haben. Wir haben auch vorher schon viel mit Figuren gespielt, Welten aufgebaut und echt spannende Abenteuer erlebt! Bei manchen Geschichten wünschte ich mir sogar dass wir sie aufgeschrieben hätten. Aber naja.. ^^ Jedenfalls hatte ich als Teenager bereits konkretere Ideen für ein Action/Adventure zu der Serie, und hab auch schon passende Grafiken dazu gestaltet. Damals viel es mir mit dem Animieren aber noch besonders schwer, weshalb ich nicht weit kam. Inzwischen gefallen sie mir auch nicht mehr so gut, ebenso wie bei meinen handgezeichneten Bildern. Vor kurzem hab ich mich mal wieder ran gewagt neue Sprites zu erstellen, mit dem Anspruch eine gewisse Atmosphäre zu erzielen, auf ganz einfache Art. Ich hab eine Art Cel-Shading Stil im Kopf mit knalligen großflächigen Farben und starken Kontrasten. Mir gefällt es jetzt auch schon ganz gut, auch wenn es noch nicht ganz ausgearbeitet ist. Dass ich Cel-Shading erwähne liegt übrigens daran dass ich vor habe irgendwann im Verlaufe der Serie auf 3D umzusteigen, und es mir bereits ausgemalt habe wie das dann aussehen könnte. Die 2D-Sprites wollte ich entsprechend angleichen an diese "Vision", um einen gewissen Wiedererkennungswert im Stil der Serie zu erzielen. Und ja, es ist als Serie geplant, also eine Art "Lebenswerk". Ich hab nämlich festgestellt dass die Gestaltungsweise dieser Figuren viel stärker symbolisiert was mich ausmacht, als all meine anderen Schöpfungen. Also hab ich kurzerhand beschlossen es von nun an zu meinem Haupt-Ding zu machen, und mir ein ausführliches Konzept zu erarbeiten. Gesagt, getan. Statt 2 Teil-Serien mit insgesamt 14 Hauptcharakteren hab ich es nun erweitert auf 4 Teil-Serien mit insgesamt 30 Hauptcharakteren. Jede der Teil-Serien spielt auf einer anderen Insel mit einem Team aus jeweils 7+ spielbaren Figuren, einer in sich eigenen sowohl als auch einer gesamtheitlichen Storyline, und auch jeweils einem eigenen Genre. Da wären also zum einen "Action/Adventure+Hack'n'Slay", "Strategie+RPG", "Jump'n'Run+Shooter", als auch "Tower-Defense+Survival". Wie ihr seht hab ich jeweils 2 Genres gemischt, nach eigenen Vorlieben. Ich werd hier allerdings jetzt nicht näher drauf eingehen; das heb ich mir dann vielleicht doch lieber für einen anderen Thread auf. 😄 So viel nur erstmal, um schonma eine grobe Vorstellung davon zu bekommen womit ich mich so beschäftige. Hier jetzt noch ein paar Bilder zu "Xektha"..: Ich halte die Details möglichst simpel, plane aber dafür umso mehr dieser Details zu integrieren. Beim ersten Bild zum Beispiel noch Pilze, Kiesel, unterschiedliche Pflanzen, usw. Mein Ziel ist es außerdem möglichst viele Interaktionsmöglichkeiten mit den verschiedenen Bestandteilen der Welt zu erschaffen. Ein paar Altersstufen der Charaktere Katho, Cinthi, Lika und Wave. [Konzept] In ihrer Welt sind Masken übrigens vergleichbar mit Unterhosen. Ein absolutes Tabu sie abzusetzen! 😉 Das Xektha-Kreuz, ein mächtiges elementronisches Artefakt; und zudem das Logo der Serie~ Sooo.... ich denke mal das reicht dann erstmal. Würde mich natürlich sehr interessieren was ihr bislang so davon haltet!
  26. Last week
  27. Hallo, Ich hab jetzt lange danach gegooglet aber irgendwie finde ich nicht die passende Erklärung zum Speichern von meinem Spielstand. (Anfänger :P) Was ich erreichen will: Man befindet sich in einem 2D Raum und muss Objekte finden, rätsel lösen etc... (Escape Room) Jetzt ist es momentan so der Spieler klickt auf eine Tür die dann aufgeklappt wird. Für mich der Logische Weg: ein bool doorIsOpen zu erstellen. Auch für mich der Logische Weg es anzuzeigen: ein Button wo die Tür offen zu sehen ist und einer wo sie zu ist. Vor dem Laden jeder Scene wird dann verglichen was der gespeicherte zustand ist. Jetzt der Speicherungsteil. Jetzt hab ich ja aber mehr Objekte als diese eine Tür und manchmal vielleicht auch zwei Zustände die gespeichert werden müssen. Zudem soll immer automatisch gespeichert werden, praktischerweiße immer dann wenn sich der zustand geändert hat. Von den PlayerPrefs wird ja, warum auch immer, abgeraten diese zur Spielstandsspeicherung zu nehmen. Zu der Binary File Speicherungs gibt es zwar eine menge anleitungen aber die beziehen sich dann immer auf ein objekt.. meist der Spieler. Zudem wird doch wenn ich es richtig verstanden habe eine datei erstellt die meine alte überschreiben tut, bedeutet wenn zuerst Tür eins gespeichert hat und danach Tür zwei speichert ist der Tür eins Speicherstand doch überschrieben und existiert nichtmehr oder? Oder geh ich die Sache komplett falsch an? Wie würdet ihr das machen?
  28. Ja hab tatsächlich mittlerweile Rigidbody genommen.
  29. Hallöchen! Gibt's denn schon etwas Feines zu sehen?
  1. Load more activity

Announcements

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

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...