Jump to content
Unity Insider Forum

Thariel

Members
  • Content Count

    480
  • Joined

  • Last visited

  • Days Won

    18

Thariel last won the day on March 4

Thariel had the most liked content!

Community Reputation

98 Excellent

About Thariel

  • Rank
    Advanced Member
  • Birthday 11/30/1988

Profile Information

  • Gender
    Male
  • Location
    Bern
  • Interests
    Krafttraining, Spieleentwicklung, Studio Fotografie

Recent Profile Visitors

11,654 profile views
  1. Ich finde die Musik einfach super 😄👍 Ich glaub ich lass' die grad ne weile laufen! Das SprunggerĂ€usch finde ich gut so.
  2. Ich habe gerade so ein System entwickelt und es "LoadBalancing" genannt. Dabei Lade ich alle Objekte aus einer XML Datei, aber ich Instanziere sie nicht direkt, sondern packe sie in eine Liste als eigene klasse "VirtualGameObject". Danach lÀuft eine Coroutine endlos, die nahe "virtuelle" Objekte Instanziert und weiter entfernte Destroy't und wieder als "VirtualGameObject" in die List packt.
  3. Wenn sich Unity aufhĂ€ngt liegt das oft an einer Endlosschleife. Ein while(true) ist immer riskant 😄
  4. Thariel

    Dark Theme

    Cool! Ich hab echt vor ca 2 Wochen Unity Plus gekĂŒndigt und fand es ziemlich schlimm, auf dieses "normale" Design wechseln zu mĂŒssen. Aber schon bald dĂŒrfen wir uns kostenlos wie professionelle Entwickler fĂŒhlen 😄
  5. Die grĂŒnen Linien der BoxCollider siehst du ja und die anderen wurden gezeichnet. Du kannst mit der Gizmos Klasse selber Linien und vieles mehr zeichnen: https://docs.unity3d.com/ScriptReference/Gizmos.html Zum Beispiel kannst du genau diese Funktion in dein Script kopieren und es wird eine gelbe Kugel im Editor Window gezeichnet. Du kannst deine eigene Funktion schreiben um Dinge zu visualisieren und so verstehen, ob dein Script richtig arbeitet. void OnDrawGizmos() { // Draw a yellow sphere at the transform's position Gizmos.color = Color.yellow; Gizmos.DrawSphere(transform.position, 1); }
  6. Die grösse des BoxCillider2D kannst du natĂŒrlich schon ermitteln. Hier siehst du alles Relevante zum BoxCollider2D: https://docs.unity3d.com/ScriptReference/BoxCollider2D.html Interessant sind da sicher size und bounds. Wenn dein Charakter zum Beispiel auf ein Gegner springen soll, so wie in Mario, dann kannst du einfach das Zentrum der Gegner-BoxCollider nehmen und die HĂ€lfte der Höhe der Box addieren. Das selbe machst du mit der Charakter Box, aber subtrahierst die Halbe Höhe. Wenn der Y Wert nun etwa gleich gross ist, ist der Charakter auf den Gegner gesprungen. Aber du kannst auch einfach mehrere BoxCollider nehmen. Das ist sicher am einfachsten. Du kannst auch nach der Kollision noch ein Linecast machen und dann hast du einen genauen HitPoint, aber die Seite musst du dann immer noch ermitteln. Es gibt da wirklich viele Möglichkeiten.
  7. Du hast bei der Kollision beide Objekte und kannst ganz einfach ermitteln, wo welches ist anhand von transform.position.
  8. Bin mir nicht sicher, aber ich wĂŒrde das nicht so machen, eher so: IEnumerator DestroyGraph() { foreach(GameObject obj in pooledObjects) { Destroy(obj); } yield return null; } WĂŒrde es auch nicht unbedingt in eine Coroutine packen.
  9. Du kannst mit Physics.OverlapSphere abfragen, ob der Platz frei ist, sofern du mit Collider arbeitest. Du kannst Spawn Points nutzen und jeden nur einmal nutzen. Wie schon erwÀhnt, könntest du die Objekte in einer Liste speichern und vor einem Spawn die Liste durchgehen und schauen, ob eines er bereits gespawnten Objekte in der nÀhe ist.
  10. Naja danke trotzdem 😄 Hab jetzt herausgefunden, dass ich parallel zum Shader ein C# Script erstellen muss, indem die Welle auf die selbe weise berechnet wird, um die Höhe zu ermitteln. Da mir das zu schwer ist, generiere ich nun die Wellen direkt in einem Script... also nicht mehr im Shader. Jetzt klappt eigentlich alles, auch die Berechnung der Wellenhöhe, aber die Performance ist einfach katastrophal! NatĂŒrlich brauche ich nicht fĂŒr einen grossen Ozean jede Welle in jedem Frame neu zu berechnen. Ich suche nun nach Möglichkeiten, das ganze massiv zu beschleunigen. Zum Beispiel habe ich den Ozean in Tiles unterteilt und nur ein Tile berechnet und das Ergebnis auf alle Übertragen. Leider nur mit eher wenig Erfolg. Auch die ÜbergĂ€nge sind sichtbar. Kennt jemand gute Techniken um die Performance zu verbessern?
  11. Hi Ich habe mit Amplify Shader und einem Tutorial ein ziemlich schöner Ozean erstellt. Jetzt möchte ich die Höhe des Wassers an einer bestimmten Position ermitteln um den Spieler schwimmen und tauchen zu lassen. Hab dazu schon recherchiert und herausgefunden, dass einige die Wellen mit einer bestimmten Funktion (Sinus/Gerstner) im Shader generieren und mit der selben Funktion einfach das nochmal parallel in einem Script berechnen. Dann mĂŒsste die Höhe stimmen. Aaaaber ich erstelle die Wellen mit zwei Noise Generatoren. Kann mir da jemand erklĂ€ren, wie ich die Höhe der Wellen ermitteln kann?! Der "Ozean" ist ĂŒbrigens ein ganz normales Plane.
  12. Diese Entscheidung kann dir niemand abnehmen, aber ich finde beide Ideen ziemlich Schwer. Ich wĂŒrde die Konzepte weiter ausarbeiten bis du dich entscheiden kannst. Ausserdem wĂŒrde ich mir nicht zuviel auf einmal vornehmen... aufstocken kannst du dann immer noch.
  13. Und was ist, wenn du oben im MenĂŒ auf GameObject->UI->Button gehst?
  14. Meinst du ein 3d Balkendiagramm in der "Spielwelt" und jetzt willst du ein UGUI Text ĂŒber einem Balken fliegen lassen? Das geht ganz einfach, indem du dieses Script auf den UGUI Text legst und das Objekt (dein Balken) als Referenz hinzu fĂŒgst. public Transform tObject; void Update() { transform.position = Camera.main.WorldToScreenPoint(tObject.position); }
×
×
  • Create New...