Jump to content
Unity Insider Forum

KaBau

Members
  • Posts

    174
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by KaBau

  1. Ich lagere häufig verschiedene Bewegungen in eine Coroutine aus. Dabei wird in einer vorgegebenen Zeit eine Bewegung / Drehung etc. vom Zustand A zum Zustand B durchgeführt. Am Ende ist aber nie das wirkliche Ziel erreicht, sondern immer nur fast (so wie du es oben geschrieben hast). Deshalb setzte ich nach der vorgegebenen Zeit die Werte wie von @chrische5geschildert manuell innerhalb der Coroutine auf meinen wirklich gewollten Wert.

  2. Ja, es gibt zum Thema Daten speichern und auslesen viele Themen hier im Forum und viele Tutorials. Ich habe aber folgendes Verständnisproblem, zu dem ich nichts gefunden habe:

    Damit Daten beim Spielstart gelesen werden können, müßen diese vorhanden sein. Beim allerersten Spieldstart habe ich noch keine Daten erstellt und gespeichert, somit können keine geladen werden. Muss ich also nur für das erste Starten ein Script erstellen, welches die Basisdaten erstellt? Wenn ja, wie kann ich dieses im Rahmen der Programmierung flexibel gestalten (ich weiß jetzt noch nicht, was ich alles gespeichert haben möchte)?

    Nur zur Information: ich wollte mit dem Asset "Save Game Free" für freigeschaltete Level, erspielte Ausstattung etc. arbeiten. Einfache Daten wie z.B. die Lautstärke mit den PlayerPrefs.

  3. Das muss aber von außen passieren. Wenn das Game-Objekt deaktiviert ist, ist somit auch das Script auf diesem Game-Objekt deaktiviert und macht somit nichts. Oder du hast ein Empty Game-Objekt und das zu aktivierende Objekt als Child. Dann kann im Empty Game-Objekt dein Aktivierungs-Script liegen, welches das Child nach einer bestimmten Zeit aktiviert.

  4. Mit der Plane unter dem Terrain versuchst du ja einen anderen LOD Grad zu erstellen, der aber eine gerade Kante hast. Kannst du nicht ein riesiges Terrain mit einer groben Auflösung erstellen oder zwei bis drei unterschiedliche 3D Objekte als Prefab mit einer groben Auflösung, welche jedes für sich ein "Tortenstück" ist? Diese könnten dann unterschiedlich angeordnet werden, so dass etwas Abwechslung entsteht. Diese Prefabs haben nicht eine gerade Kante und der Eindruck eines Horizont entsteht.

    Oder du erstellst mehrere Zylinder um die Szene und gibst denen eine Textur mit Bergen (so eine Art Paralax Scrolling in rund). Die Texturen haben zum Boden die Farben / Muster des Boden und weiter oben Grauwerte. Durch das Ändern der Farbe der Textur je nach Tageszeit wird der Bereich der Grauwerte stärker angepasst wie der untere farbige Bereich. Könnte dann so wie auf diesem Foto aussehen (OK, ist nun kein Ebene, aber ich denke mir, dass du weist, was ich meine):
    https://pixabay.com/de/photos/nepal-sonnenaufgang-berge-bergige-2184940/
     

  5. Wie umfangreich sind denn die Objekte, die du generiert / instanzierst? Wenn es nur ein paar sind, kannst du sie doch einfach außerhalb des sichtbaren Bereich parken und bei Gebrauch in das Sichtfeld schieben.

    Was sind das für Objekte? UI Elemente, Grafiken (was ja UI Elemente wären), 3D Objekte... ?

    • Like 1
  6. HIer eine überarbeitete Version:

    https://drive.google.com/file/d/1HHfnNe-oSfKz9fCfzoPLspSSQyad4Tvr/view?usp=sharing

    Am 3.4.2021 um 11:03 schrieb vreezer:

    Vielleicht sollte die noch etwas mehr hervorgehoben, pulsieren oder leuchten? 

    Ich habe hier eine Animation in der UI eingefügt.

     

    Am 3.4.2021 um 11:03 schrieb vreezer:

    In manchen Shootern wird die Steuerung zum Bildschirmrand etwas versetzt dargestellt

    War von mir schon eh vorgesehen, dass jeder dieses individuell in den Einstellungen anpassen kann. Noch ist das aber nicht möglich, da die Einstellungen noch nicht fertig programmiert sind. Jedoch habe ich testweise hier nun die Werte 1,6 für die x-Achse und 2,1 für die z-Achse voreingetragen.

    Am 3.4.2021 um 11:03 schrieb vreezer:

    Normalerweise kann man ja meistens so gerade eine Welle von Gegnern wegputzen

    Später nach dem Aufrüsten des Schiff ist das auch möglich. Am Anfang - wie hier im Demo - hat man aber noch nicht diese Feuerkraft. Ich mag nicht die "Bullet-Hell" Shooter, bei denen der gesamte Bildschirm voll ist mit den eigenen Schüssen und den Schüssen der Gegner.

    • Like 1
  7. So, ich hoffe das folgendes funktioniert:

    https://drive.google.com/file/d/1m7Kbk9FDJ1KSF50u6x9lz-IeU_Xz23rC/view?usp=sharing
    Das ist ein Link zum Demo des ersten Level. Da ich noch über kein Konto im App Store verfüge, gibt es natürlich bei der Installation eine entsprechende Meldung.

    Die Anzeige für die nächsten Energiebomben habe ich wie oben erklärt geändert. Jedoch nicht nur mit dem Alphakanal, sondern zusätzlich mit der Änderung der Farbe von Grün zu Gelb. Im Hilfetext (über den Pausebutton im Spiel selber zu erreichen) habe ich das Dauerfeuer ergänzt. Einstellungen können noch nicht vorgenommen werden. Die gesammelten Rohstoffe können noch nicht zum Aufwerten des Schiff genutzt werden. Dieses hat übrigends die Grundausstattung vor allen Verbesserungen.

    Ich wünsche euch viel Spaß beim Spielen.

    Edit: Es handelt sich hierbei um eine APK Datei für Android. Zum Installieren müsst ihr in den Einstellungen erst das Installieren von fremden Quellen (also nicht dem Google Play Store) zulassen.

    • Like 1
  8. Hallo,
    bitte deute das Folgende nicht falsch, aber versuch doch einige Regeln des Miteinander einzuhalten:
    - Wie @malzbie schon geschrieben hat, ist es unheimlich schwierig deine Texte zu lesen. Das liegt zum einen an den fehlenden Satzzeichen, zum anderen an deiner verwirrenden Groß- und Kleinschreibung und daran, dass du warscheinlich genauso drauflosschreibst, wie du sprichst. Versuch daran mal zu arbeiten, damit die Menschen, welche in Ihrer Freizeit hier helfen, nicht erst raten müßen, wass du meinst.
    - "
    Ich habs Jetzt geschafft aber es funktioniert trotzdem nicht." Dir ist schon klar, dass dieser Satz ein Widerspruch darstellt: "geschafft" und "funktioniert ... nicht" passt nicht zusammen. Überleg bitte, was du uns eigendlich mitteilen möchtest.
    - Wenn du etwas "geschafft" hast, teile uns bitte mit, was du nun geändert hast um zu diesem geänderten Ergebnis zu kommen und teile  und gleich mit, wie dieses Ergebnis nun aussieht.
    - Wenn etwas "trotzdem nicht" funktioniert, benötigen die Menschen hier genaue Angaben, was nicht funktioniert. Das kann alles sein von "Programm stürzt immer ab", über "die Plattformen sind zu weit auseinander" bis hin zu "das Grün ist nicht richtig".
    - Schon deine erste Frage "Wie kann ich das machen das es alles auf einer geraden Linie generiert wird und nicht nur nach unten" birgt so viele Möglichkeiten der Interpretation: was ist überhaupt dein Ziel?  Wo soll diese Linie sein?  Was ist mit "alles" gemeint?  Auf dem Bild wandern die Platformen doch zwischendurch wieder nach oben, oder nicht? Wieso setzt du die Plattformen nicht im Vorfeld, sondern willst sie erst zur Laufzeit des Spiel generieren?

    Wie in deinen anderen Beiträgen dir schon häufig mitgeteilt wurde: tu dir selber einen Gefallen und fang von Vorne an zu lernen.

  9. vor 27 Minuten schrieb Paulk1611:

    wenn ihr meint das ich das sollte mach ich das

    Es ist immer sinnvoll sich die Grundlagen eines Hobby anzueignen. Ich selber programmiere nun seid einigen Jahren, möchte aber meinen, dass ich bisher nur an der Oberfläche der Möglichkeiten gekratzt habe. Ich habe zuerst ein allgemeines C# Buch genutzt und parallel ein Unity Buch.

  10. Hallo @malzbie und @grinseengel, danke für das Lob und die Anregungen. Ach ja: es nun nun doch ersteinmal der erste, und nicht wie angekündigt das zweite Level geworden. Von dem kennt ihr inzwischen eh den Endgegner und den Hintergund.

    Aber noch im einzelnen:

    Am 2.3.2021 um 15:50 schrieb malzbie:

    Ich finde es etwas ungewöhnlich, dass bei den  Füllanzeigen oben die 0 ist,

    Da hatte ich mir bisher noch keine Gedanken gemacht. Aber du hast recht, häufig sind die Anzeigen anderst rum. Werde ich eventuell ändern.

    Am 2.3.2021 um 15:50 schrieb malzbie:

    Besser wäre es, wenn man irgendwie erkennen könnte, wann die nächste Energie kommt

    Stimmt. Ich werde mal probieren den Alpha Kanal der grünen Dreiecke in der Leiste in Abhängigkeit von der Entfernung der nächsten Energie zu setzen.

    Am 2.3.2021 um 15:50 schrieb malzbie:

    Aber hat man immer Autofeuer

    Nein. Bei Handys kann durch zwei Finger das Autofeuer unterbunden werden - beim Desktop durch die rechte Maustaste. Werde ich in der Hilfe ergänzen.
    Später ist es so, dass die Feuerrate steigt, sprich die Zeit zwischen zwei Schüßen wird geringer. Dabei wird auch mehr Energie verbraucht und man muss zwangsläufig das Dauerfeuer abschalten. Das war eine meiner ersten Ideen für das Spiel. Zumahl mit erhöhter Feuerrate die Energiebomben auch zum Explodieren gebracht werden können. Sind dann halt Bomben und zerstören Gegner in der direkten Umgebung. Man muss sich also entscheiden, ob man das nun nutzen möchte und dafür eine Zeit ohne Schüße auskommen muss, oder nicht.

    Am 3.3.2021 um 16:06 schrieb grinseengel:

    aber es ist ein tolles Projekt geworden

    Na ja, "geworden" klingt wie fertig. Ist leider noch nicht der Fall. Mir fehlt z.B. noch mein gesamtes Shop-System, der Entgegner auf dem Mond, der komplette Hintergrund des letzten Level Erde ...
    Werde euch also noch weiter mit Zwischenständen versorgen, bevor es fertig ist. Wobei: ist ein Spiel überhaupt irgendwann fertig?

  11. Ich habe mich nun für DoTween entschieden. Ich finde es toll, wie man den Bewegungen noch zusätzlich eine Dynamik mitgeben kann, wie sie auf der Seite

    https://easings.net/

    zu sehen sind. Die Animationen meines Menü waren damit schnell erstellt. Und nun ärgere ich mich, dass ich das nicht schon viel eher gefunden habe. Obwohl: dadurch, dass ich erst mit Coroutines selber Bewegungen erstellt habe (z.B. Kamerawackeln oder Drehung meines Player) verstehe ich natürlich viel beser, was im Hintergrund passiert - und das ist auch viel wert.

    Hallo @Sascha: gibt es eigendlich irgend etwas, zu dem du kein eigenes Asset erstellt hast? 🙂 Danke aber für dein  Angebot zur Nutzung von eben diesem Code.

  12. Hallo,

    immer wieder stoße ich auf das Thema Tween. Dabei werden meistens die beiden Assets DoTween und LeanTween genannt. Gefühlt würde ich sagen, dass Bewegungen damit einfacher zu programieren sind. Da eine Frage "Welches Asset ist besser?" nicht zu beantworten ist (weil stark von den eigenen Anforderungen abhängig), möchte ich gerne von euch wissen, welche Erfahrungen ihr mit dem einen oder dem anderen Asset gemacht habt. Dann kann ich für mich entscheiden, mit welchem der beiden Assets ich mich näher beschäftigen möchte.

    Danke.

  13. Um nicht immer die gleiche Gegnerbewegung zu zeigen, habe ich bei mir ein EmtyGameObjekt erstellt, welches mit einer festen Geschwindigkeit zu einem Zufallspunkt wandert. Hat es diesen Punkt erreicht, wird ein neuer zufälliger Punkt als Ziel erstellt:

    public class RandomMoveOverPlayground : MonoBehaviour
    {
        public float enyXMin = -7.0f;
        public float enyXMax = 7.0f;
        public float enyYMin = -0.1f;
        public float enyYMax = 0.1f;
        public float enyZMin = -3.0f;
        public float enyZMax = 20.0f;
        public float enyMoveSpeed = 0.07f;
        Vector3 endPosition;
    
        private void Start()
        {
            NewRandomPosition();
        }
    
        void NewRandomPosition()
        {
            float x = Random.Range(enyXMax, enyXMin);
            float y = Random.Range(enyYMax, enyYMin);
            float z = Random.Range(enyZMax, enyZMin);
            endPosition = new Vector3(x, y, z);
        }
        
        void FixedUpdate()
        {
            transform.position = Vector3.MoveTowards(transform.position, endPosition, enyMoveSpeed);
    
            if (transform.position == endPosition)
            {
                NewRandomPosition();
            }
        }
    }

    Mein Endgegner folgt nun diesem EmptyGameObjekt:

    public class TransformFollowGO : MonoBehaviour
    {
        [SerializeField]
        Transform targetGO;
        public float moveSpeed; //EnyB2Side1Main greift hierrauf zu
    
        
        void FixedUpdate()
        {
            if(targetGO != null)
            {
                transform.position = Vector3.Lerp(transform.position, targetGO.position, moveSpeed); // eine Drehung erfolgt nicht
            }
        }
    }

    Das ganze sieht dann wie folgt aus (die gelbe Kugel folgt dem EmptyGameObjekt):

    https://youtu.be/jSAVpcX5oc0

  14. Ach Mist - da wollte ich doch nur das Mutterschiff erstellen und habe nun doch ersteinmal etwas anderes gemacht: den Hintergrund meines Level 4 werde ich doch noch einmal komplett neu modellieren. Man fliegt hierbei über zwei Frachtschiffe, die "Arrow" und die "Head". Der ursprügliche Hintergrund war doch immer etwas zu gleich, da ich nur 3 Arten von Frachtkontainer hatte. Das wirkte nicht gut. Anbei nun das Blendermodel (noch ohne Texturen) der "Arrow":

    613794168_Lvl4_HintergrundArrow_Blender.thumb.jpg.656a26a41027017cba970a9af4ceede9.jpg

    Hallo @grinseengel, es wird natürlich eine Übersicht der einzelnen Level geben, wobei jeder Level mit 4 verschiedenen Schwierigkeitsgraden gespielt werden kann. Das habe ich aber derzeit nur recht einfach, es wird später weiter durchgearbeitet. Man kann damit natürlich durch die verschiedenen Level wechseln.

  15. Anbei ein Video mit dem Hintergrund vom Level 2, Sektor C-6-4:

     

    Ich habe nun wie @Thariel es vorgeschlagen hat den Pitch der Schüsse etwas geändert. Schreibt mir bitte, ob ich die Werte (nun von 0,95 bis 1,40) noch weiter setzen soll, oder ob es so passt.

    Als Nächstes werde ich das Level 2 komplett zusammenstellen. Dafür muss ich aber ersteinmal das Mutterschiff erstellen, welches am Anfang des Level den Spieler aus seiner Hangerbucht entlässt.

    • Like 1
  16. Ich habe es mit Kollisionsboxen gelöst, welche aber nicht am Player hängen, sondern eigenständig in einem Empty Game Objekt als Child eingeordnet sind (es bewegt sich nicht mein Player nach vorne, sondern das Level bewegt sich). Somit kann ich bei einzelnen Boxen auch unterscheiden zwischen Ermitter vor dem Player und Ermitter hinter dem Player. Beim Plazieren der Gegner muss ich mir keine Gedanken machen, dass irgendetwas falsch errechnet ist. Ich verschiebe immer wieder meine Ermitter, weil ich feststelle, dass der Abstand zwischen zwei Gegnern noch zu dicht oder zu weit ist.

×
×
  • Create New...