Jump to content
Unity Insider Forum

Jog

Members
  • Posts

    208
  • Joined

  • Last visited

  • Days Won

    12

Jog last won the day on February 20

Jog had the most liked content!

Profile Information

  • Gender
    Male
  • Location
    Saarland (Ich weiß nur, dass ich nichts weiß, aber das weiß ich ganz genau! ))
  • Interests
    Programmieren, Modellieren, Musik machen

Recent Profile Visitors

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

Jog's Achievements

Advanced Member

Advanced Member (3/3)

35

Reputation

  1. Hallo, Es gibt immer andere Möglichkeiten, manchmal hilft es etwas um die Ecke zu denken. ( Schlangenlinien Flug, mmmh da war doch was, ach ja Sinus Cosinus ) transform.Translate(Vector3.forward * Time.deltaTime * drivespeed); Wenn du z.b. eine Sinusfunction einbauen würdest fliegt die Rakete einen Sinusbogen zum Ziel. transform.Translate(new Vector3(Mathf.Sin(Time.time) * 0.9f, 0, 1) * Time.deltaTime * drivespeed); Gruß Jog
  2. Hallo, Welche Fehlermeldung du genau erhältst wäre schon hilfreich. Ich rate mal ins blaue. In der class MathQuestion hast du public List<int> fakeAnswers; eine Liste referenziert die aber noch auf null zeigt. In der anderen Classe greifst du mit question.fakeAnswers.Add(_result); auf die fakeAnswers Liste zu die noch nicht Initialisiert ist. In der class MathQuestion hättest du mit public List<int> fakeAnswers = new List<int>(); die Liste Initialisiert Sorry, Sascha war mal wie immer 1 Minute schneller😉 Gruß Jog
  3. Hallo, Du hast auf einem InputField 2* ein Event liegen dadurch wird die magier und back Methode gleichzeitig ausgeführt, z.b. würde set false und set true gleichzeitig gesetzt was natürlich Unsinn ist, und die Reihenfolge der Aufrufe ist auch nicht immer gleich. Deshalb ist es besser die Eingabe Auswertung im Script zu übernehmen. Siehe im obigem Beispiel. Gruß Jog
  4. Hallo, 1. Erzeuge ein InputField 2. Erzeuge ein Leeres GameObject und nenne es zum Beispiel „Eingabe „, weise dem GameObject Dieses Beispiel Script zu. using System.Collections; using System.Collections.Generic; using UnityEngine; public class InputAuswertung : MonoBehaviour { public void Auslesen(string input) // Muss public sein um im Inspector ausgewält werden zu können { if (input.Equals("Wer")) // ist input = Wer ? gibt true zurück wenn Ja { Wer(); // aufruf der Wer() Methode } else if (input.Equals( "was")) // ist input = was ? gibt true zurück wenn Ja { was(); // aufruf der was() Methode } else // wenn nicht tue dieses { Debug.Log("Falsche Eingabe !"); } } //*********************************** private void Wer() { Debug.Log("Die Methode Wer() wurde Aufgerufen"); } //**************************************** private void was() { Debug.Log("Die Methode was() wurde Aufgerufen"); } } 3. Im Inspektor gehst du bei InputField auf OnEndEdit(String) auf das + Zeichen und machst einen Linksklick . Bei None(Object) ziehst du das GameObject „ Eingabe“ bei No Function wählst du InputAuswertung -> Auslesen aus. OnEndEdit(String) löst ein Event aus wenn die Eingabe mit der Returntaste oder einem Klick außerhalb des Eingabefeldes beendet wurde und ruft die dort hinterlegte Methode auf. Hoffe das es dir etwas Hilft. Gruß Jog
  5. Hallo, Wahrscheinlich hast du vergessen im Inspector der Liste die GameObjecte zu zuweisen. Gruß Jog
  6. Hallo, Selber kann man keine Themen Löschen. Aber man sollte wenn man eine Lösung gefunden hat die Lösung im Thema Posten. Dann haben Leute mit dem selben Problem auch etwas davon. PS. Eigentlich wollte ich eine Lösung für das Problem Posten, macht nun ja auch keinen sinn mehr, außerdem wenn man weiß, dass es gelöst wurde braucht man sich die Arbeit auch nicht mehr unnötiger weise zu machen. Gruß Jog
  7. Hallo, Oder mit der ToString-Methode. Jeder Datentyp kann mittels seiner geerbten ToString-Methode in den Datentyp string umgewandelt werden. Beispiel : ..... .... public int Summe; void Update() { ZahlText.text = Summe.ToString(); // Wandelt den Datentyp int in den Datentyp string um. } Gruß Jog
  8. Hallo, Mir ist aufgefallen das ich seit ein paar Tagen keine Unity Insider Forum E-Mail Benachrichtigungen vom Forum mehr erhalte. In den Einstellungen ist alles markiert. Liegt vielleicht ein Problem mit dem Server vor? Gruß Jog
  9. Hallo, Einen Hab ich noch 😉 LateUpdate Wird zwar oft nicht verwendet oder vergessen dass es die überhaut gibt, ist aber in machen Situationen wichtig. Die Methode LateUpdate() wird aufgerufen, nachdem alle Update-Funktionen aufgerufen wurden, aber noch vor dem Rendern. Dies ist nützlich, um die Skriptausführung zu ordnen. Zum Beispiel sollte eine Verfolgerkamera, in der LateUpdate() Methode implementiert sein, da Objekte nachverfolgt werden, die möglicherweise in Update oder FixedUpdate Funktionen bewegt wurden. Dies sollte sicherstellen dass, alle verfolgten Objekte bewegt wurden, bevor die Kamera aktualisiert wird, um ein „Nachspringen“ der Kamera zu vermeiden. Gruß Jog
  10. Jog

    2023

    Hallo, Wünsche euch allen ein erfolgreiches und Stressfreies Jahr. Gruß Jog
  11. Hallo, Ich wünsche euch allen, 12 Monate Gesundheit, 52 Wochen Glück, 365 Tage ohne Stress, 8784 Stunden Liebe, 527040 Minuten Freude, 31622400 Sekunden Programmieren ohne Bug, In diesem Sinne Frohe Weinachten.⛄ Gruß Jog
  12. Hallo, Hab mal ein Beispiel von Unity eingedeutscht. Vielleicht hilft das dir weiter. Quaternion.eulerAngles public Vector3 eulerAngles; Gibt die Euler-Winkeldarstellung der Drehung zurück oder legt diese fest. Euler-Winkel können eine dreidimensionale Drehung darstellen, indem drei separate Drehungen um einzelne Achsen durchgeführt werden. In Unity werden diese Drehungen um die Z-Achse, die X-Achse und die Y-Achse in dieser Reihenfolge durchgeführt. Sie können die Drehung einer Quaternion festlegen, indem Sie diese Eigenschaft festlegen, und Sie können die Euler-Winkelwerte lesen, indem Sie diese Eigenschaft auslesen. Wenn Sie die .eulerAngles-Eigenschaft zum Festlegen einer Drehung verwenden, ist es wichtig zu verstehen, dass Sie zwar X-, Y- und Z-Drehungswerte zur Beschreibung der Drehung angeben, diese Werte jedoch nicht in der Drehung gespeichert werden. Stattdessen werden die X-, Y- und Z-Werte in das interne Format der Quaternion konvertiert. Wenn Sie die .eulerAngles-Eigenschaft lesen, konvertiert Unity die interne Darstellung der Drehung der Quaternion in Euler-Winkel. Da es mehr als eine Möglichkeit gibt, eine bestimmte Drehung mithilfe von Euler-Winkeln darzustellen, können sich die Werte, die Sie zurücklesen, erheblich von den von Ihnen zugewiesenen Werten unterscheiden. Dies kann zu Verwirrung führen, wenn Sie versuchen, die Werte schrittweise zu erhöhen, um eine Animation zu erzeugen. Weitere Informationen finden Sie im unteren Skripting-Beispiel. Um diese Art von Problemen zu vermeiden, wird empfohlen, mit Drehungen zu arbeiten, indem Sie beim Lesen von .eulerAngles nicht auf konsistente Ergebnisse angewiesen sind, insbesondere wenn Sie versuchen, eine Drehung schrittweise zu erhöhen, um eine Animation zu erzeugen. Im folgenden Beispiel wird die Drehung eines GameObject mithilfe von eulerAngles basierend auf dem Input des Benutzers veranschaulicht. Das Beispiel zeigt, dass wir uns nie darauf verlassen, die Quanternion.eulerAngles zu lesen, um die Drehung zu erhöhen, sondern sie mit unseren Vector3 AktuellerEulerWinkel festlegen. Alle Rotationsänderungen treten in der AktuellerEulerWinkel-Variablen auf, die dann auf die Quaternion angewendet werden, um das oben erwähnte Problem zu vermeiden. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ExampleScript : MonoBehaviour { float rotationSpeed = 45; Vector3 AktuellerEulerWinkel; Quaternion AktuelleRotation; float x; float y; float z; void Update() { if (Input.GetKeyDown(KeyCode.X)) x = 1 - x; if (Input.GetKeyDown(KeyCode.Y)) y = 1 - y; if (Input.GetKeyDown(KeyCode.Z)) z = 1 - z; // Ändern des Vector3, basierend auf der Eingabe multipliziert mit Geschwindigkeit und Zeit AktuellerEulerWinkel += new Vector3(x, y, z) * Time.deltaTime * rotationSpeed; // Verschieben des Werts von Vector3 in das Quanternion.eulerAngle-Format AktuelleRotation.eulerAngles = AktuellerEulerWinkel; //Wende die Quaternion.eulerAngles-Änderung auf das gameObject an transform.rotation = AktuelleRotation; } void OnGUI() { GUIStyle style = new GUIStyle(); style.fontSize = 24; // Verwende eulerAngles, um die Euler-Winkel der in Transform.Rotation gespeicherten Quaternion anzuzeigen GUI.Label(new Rect(10, 10,0, 0), "Rotation X:" + x + " Y:" + y + " Z:" + z, style); //gibt den Quanternion.eulerAngles-Wert aus GUI.Label(new Rect(10, 60, 0, 0), "AktuelleRotation: " + AktuellerEulerWinkel, style); //gibt die transform.eulerAngles des GameObject aus GUI.Label(new Rect(10, 110, 0, 0), "GameObject World Euler Winkel: " + transform.eulerAngles, style); } } Bin auch nicht gerade ein Quaternion Freak.🙂 Gruß Jog
  13. Hallo, Auch von mir ein Willkommen und viel Spaß mit Unity! 🙂 Gruß Jog
×
×
  • Create New...