Jump to content
Unity Insider Forum

KaBau

Members
  • Content Count

    149
  • Joined

  • Last visited

  • Days Won

    6

KaBau last won the day on October 18

KaBau had the most liked content!

Community Reputation

21 Excellent

About KaBau

  • Rank
    Advanced Member
  • Birthday 08/03/1973

Profile Information

  • Gender
    Male
  • Location
    Hildesheim
  • Interests
    Modeleisenbahn Spur-N, Fotografieren

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Nur eine Überlegung, habe es selber nicht probiert: wenn es dir um das Sichtbar sein geht, kannst du nicht am Shader etwas ändern?
  2. Ich bin gerade dabei für mein zweites Level den Hintergrund zu erstellen - es wird im Sektor C-6-4 spielen. Hier die Vorlagen der Elemente, welche im Hintergrund zu sehen sein werden:
  3. Nur eine Überlegung, da ich so eine Fehlermeldung vor Kurzem beim Ändern des Alpha Wert von Shadern hatte: muss eventuell der zu ändernde Wert in Klammern mit Ausrufezeichen gesetzt werden und mit get... und set... geändert werden?
  4. Juhu, neuer Endgegner. Dieses mal in den Wolken des Jupiters. Special Thanks an @Jog für das Ende. Ergänzend zu den Credits der letzten Videos: Nun verwende ich auch zusätzlich Texturen von https://pixabay.com/de/
  5. Sorry das ich nun selber Antworte, aber nach etlichen weiteren Tutorials und dem Durchforsten der Unity - Documentation habe ich nun für mich eine Lösung gefunden (wie oben geschrieben hat mein GO schon einen Fade-Shader): [SerializeField] float fadeTime; [SerializeField] Renderer fadeObjekt; // hier das zu ändernde GO reinziehen public Color fadeAlpha; private void Start() { fadeAlpha = fadeObjekt.material.GetColor("_Color"); StartCoroutine("FadeOut"); } private void Update() { fadeObjekt.material.SetColor("_Color",fadeAlpha); } private IEnumerator FadeOut() { float duration = fadeTime; float fadeStart = 1f; float fadeEnd = 0f; for (var time = 0.0f; time<duration; time += Time.deltaTime) { var progress = time / duration; fadeAlpha.a = Mathf.Lerp(fadeStart, fadeEnd, progress); yield return null; } } Danke aber trotzdem, da ich aufgrund der oben von Kojote aufgeführten Scriptzeilen nun doch ein kleines bischen verstehe, was ich tue.
  6. Hallo @Kojote, ich versuche gerade, deinen Code zu übernehmen. Da ich aber mit der Programmierung von Shadern keine Ahnung habe, weis ich gar nicht, was ich hier mache. Und da es nicht läuft, habe ich noch weniger Ahnung, woran das liegen kann. Ich hatte alles ab "Initialisierung" in ein Script gesetzt (deinen ersten Abschnitt hatte ich als Erläuterung verstanden, welche nicht für die Funktion dieses Script notwendig ist) und dieses dem GameObjekt zugewiesen. Mir wird aber für die Zeile material = smr.material; aus der Start Methode folgende Fehlermeldung zurückgegeben: "NullReferenceException: Object reference not set to an instance of an object FadeInOut.Start () (at Assets/scripts/FadeInOut.cs:19)" Mein GameObjekt hat schon den Standard Shader mit dem Rendering Mode "Fade", ich muss also den Mode nicht auf "Fade" schalten. Ich habe in meiner Szene verschiedene Objekte mit demselben Shader, es sollen aber die Objekte unabhängig voneinander Ein- und Ausblenden. Das schreibe ich, da ich probehalber im Inspector eines GameObjekt den Alphawert über den Schieberegler geändert habe, und alle anderen GamObjekte sich mitgeändert haben - was so nicht von mir gewünscht war. Vielleicht kannst du (oder auch jemand anderes) mir helfen. Danke.
  7. Nun hatte ich wieder das Problem. Die Einstellungen waren wie von @TheMono bei mir richtig vorgenommen - trotzdem wollte Visual Studio keine Vorschläge machen. Was mir nun geholfen hatte: ich habe den Ordner "Library" im Verzeichnis meines Spiel ersteinmal umbenannt, um ihn später zu löschen. Nach einem erneuten Start von Unity wurde dieser natürlich neu erstellt (mit nur noch der Hälfte an Daten) und ich konnte Visual Studio wieder normal nutzen.
  8. Oh, ich stelle gerade fest, das a) das Space Shooter Tutorial schon recht alt ist und b) ich es auf der geänderten Unity-Seite auf Anhieb gar nicht mehr finde, sondern erst nach Eingabe von "space shooter tutorial", bzw. c) genau der Abschnitt mit dem sich bewegenden Hintergrund scheinbar gar nicht mehr in dem Tutorial enthalten ist. Deshalb hier mein Script, welches ich auf Grundlage des oben genannten Tutorial erstellt habe: public class BGScroller : MonoBehaviour { [SerializeField] private float scrollSpeed; [SerializeField] private float tileSizeZ; public bool scrollYes = false; [SerializeField] private float startScroll; private Vector3 startPosition; void Start () { Invoke("StartScrolling", startScroll); } private void StartScrolling() { startPosition = transform.position; scrollYes = true; } void Update () { if (scrollYes) { float newPosition = (Mathf.Repeat(Time.time * scrollSpeed, tileSizeZ)) - tileSizeZ; transform.position = startPosition + Vector3.forward * newPosition; } } } Das gesamte Thema um die Variable "scollYes" kann auch weggelassen werden. Auf Youtube ist noch eine gesamte Zusammenstellung des Tutorial enthalten. Ab ca. Minute 20 geht es hier um den Hintergrund: Ich hoffe, es hilft dir weiter.
  9. Bewegt sich dein Spieler, oder die Fläche unter dir? Für den zeiten Fall schau dir Mal das Space Shooter Tutorial direkt von Unity an. In einem Teil wird der Untergrund immer wieder neu versetzt.
  10. Wieder ist viel Zeit verstrichen, bis ich den nächsten Endgegner erstellt habe (nur Model, noch nicht programmiert). Level 3, Saturn: Die Flügel fahren erst später raus, sind also nicht von Anfang an zu sehen. Der lange Schwanz wird am Ende nach dem Player schlagen.
  11. Nach fast 1 1/2 Monaten habe ich endlich das Model und die Texturen eines weiteren Endgegner fertig gestellt. Dieses mal geht es zum Mars: Aus dieser sich drehenden Halbkugel fahren natürlich diverse Kanonen herraus, welche hier noch nicht zu sehen sind. Und zur Ergänzung des Endgegner aus meinem Betrag vom 6.Mai: Diese Kanone steht auf dem Jupitermond IO. Einfach mal "IO C64" googeln, dass wist ihr, was mein Vorbild war.
  12. Hallo @Fazeli24, unter habe ich meinen Player Controller für die Touch Steuerung gepostet und erklärt. Unter wiederrum ist mein Controller für die Maus- und Tastatur erläutert. Für Space Invaders musst du einfach eine Bewegungsachse weglassen. Es gibt nun in Unity aber ein komplett neues Input System, mit dem ich mich noch nicht auseinander gesetzt habe. Wenn du noch nicht zuviel Zeit mit deinem Controller verbracht hast, rate ich dir, gleich das neue Input System zu lernen. Ich denke mir, dass dieses irgenwann in ein paar Jahren zum Standard wird und das alte Input System "obsolete" wird und nicht mehr zu nutzen ist. So habe ich es im Laufe der Zeit mit dem einem oder anderem Befehl immer wieder gehabt. Somit ein allgemeiner Rat: nutze kein Tutorial und keine Scriptvorlage, welche älter wie 3 Jahre (habe ich für mich persönlich einfach mal so festgelegt) ist.
  13. Wer bei der Touch-Steuerung mein Script verwenden möchte, sollte bitte folgendes beachten:
  14. Ein weiterer Endgegner wurde mit Texturen versehen: Level 7, Asteroidenfeld. Wenn ich es nun als Bild sehe denke ich mir aber, dass doch zu viele Asteroiden zu sehen sind.
×
×
  • Create New...