Jump to content
Unity Insider Forum

Kunga

Members
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Kunga

  • Rank
    Newbie
  • Birthday 08/12/1994

Contact Methods

  • Website URL
    http://youtube.com/kunga

Profile Information

  • Gender
    Male
  • Location
    NRW

Recent Profile Visitors

662 profile views
  1. Und heute doch nichts mehr an Unity gemacht.. wolte eigentlich unbedingt :D

  2. Kunga

    Realtime Strategy Camera (RTS) mit Kollision

    Hey, danke für deine Idee! Hast ja total recht, lieber immer nur dorthin casten wohin ich mich auch bewege. Spart, wie du ja bereits sagst, ein bisschen Code und ich denke auch mal Performance. Ich werde das mal einbauen. Ich weiß nur noch nicht genau was du mit "durch Meshs schauen" meinst und der "Clipping Einstellungen". Das werde ich mir auf jeden Fall mal anschauen gleich. Deine Idee klingt auch ganz gut, danke dir. Wirklich interessant zu sehen welche Lösungswege verschiedene Benutzer gehen würden. Sollte ich mit der Idee von DieKuensteDesBosses nicht weit kommen, werde ich mal versuchen deine umzusetzen. Natürlich freu ich mich noch auf weitere Ideen von anderen Benutzern, falls ihr welche haben solltet. Gruß, Kunga
  3. Guten Abend die Herren und Damen, ich habe bereits Google durchforstet und die Suchmaschine dieses Forums und ich habe gemerkt, Kollision und Kamera ist ein echt großes Thema. Ich habe viele Vorschläge gefunden und Methoden, jedoch funktioniert nicht alles davon bei mir, deshalb brauche ich euren klugen Rat, damit meine Kamera optimal funktioniert. Wie ihr dem Titel entnehmen könnt entwickle ich eine Realtime Strategy (RTS) Camera. Folgende Möglichkeiten sind vorhanden, um die Kamera zu bewegen: zoomen: Mausrad scrollen rotieren: rechts Maustaste gedrückt halten und nach links oder rechts bewegen nach links: linke Pfeiltaste Taste "A" Maus an den linken Bildschirmrand bewegen nach oben: oben Pfeiltaste Taste "W" Maus an den oberen Bildschirmrand bewegen Für rechts und nach unten gilt das selbe, ich denke ihr habt das Konzept dahinter verstanden. Vielleicht hilft noch die Information, dass meine Kamera mit einem Winkel von 45° nach unten blickt. Aktuell habe ich das so gelöst, dass ich einen Raycast nach rechts, links, vorne und hinten caste und somit erlaube, ob man sich nach links und so weiter bewegen kann oder nicht. Hier ein kleines Codebeispiel, um es nachvollziehen zu können: // C#-Snippet für Bewegung der Kamera if (!Physics.Raycast (transform.position, Vector3.forward, 3f)) { if (Input.mousePosition.y > Screen.height - scrollZone || keyUp) { transform.Translate (moveForward * movementSpeed, Camera.main.transform); keyUp = false; } } // C#-Snippet für zoomen in die Welt if (!Physics.Raycast (transform.position, Vector3.down, 1f)) { if (Input.GetAxis ("Mouse ScrollWheel") > 0) { transform.Translate (zoom * zoomSpeed, Camera.main.transform); } } if (Input.GetAxis ("Mouse ScrollWheel") < 0) { transform.Translate (-zoom * zoomSpeed, Camera.main.transform); } Das ganze ist leider nicht so sauber wie es ich möchte, da ich manchmal dennoch durch den Boden kann an bestimmten Hügeln auf der Welt und je nach Position durch die Wand gucken kann. Jetzt zu meiner Frage: Ist es sinnvoll bei meiner Kameraart mit Raycast zu arbeiten und sollte ich vielleicht noch Raycast zeichnen die diagonal laufen? Sprich nicht nur nach vorne, hinten, unten, oben, links und rechts, sondern noch diagonal nach rechts, links, vorne, hinten und so weiter. Ich hoffe ihr versteht was ich meine. Oder gibt es noch eine ganz andere Möglichkeit die sauber ist und meine Kamera nicht durch den Boden glitchen lässt, beispielweise mit Collidern oder so? Sorry für den langen Post und die ganzen Fragen, aber wäre cool wenn mir jemand helfen kann. Gruß, Kunga -- EDIT | LÖSUNG GEFUNDEN -- Hey nochmal, ich habe eine Lösung gefunden, mit der ich aktuell sehr zufrieden bin. Dennoch würde ich mich sehr über Feedback freuen beziehungsweise bessere Methoden. Ich überprüfe via Raycast ob etwas in der Nähe ist und wenn ja, bewege ich die Kamera nach oben. Bis jetzt konnte ich mich somit nicht durch den Boden oder durch die Wand glitchen. Für RTS Kameras ist das denke ich eine sehr gute Lösung. // C#-Snippet if (Physics.Raycast (transform.position, Vector3.left, raycastDistance) || Physics.Raycast (transform.position, Vector3.right, raycastDistance) || Physics.Raycast (transform.position, Vector3.forward, raycastDistance) || Physics.Raycast (transform.position, Vector3.back, raycastDistance)) { transform.Translate (Vector3.up, Space.World); } Edit 2: Okay, nach bisschen rumprobieren ist dieses Ergebnis doch nicht ganz optimal. Sie funktioniert zwar, aber nicht einwandfrei.
  4. Mhh, hätte nicht gedacht, dass ich nicht weiß wo ich anfangen soll :D

    1. Bemmi83

      Bemmi83

      Das geht mir jeden Morgen nach dem aufstehen so ;-)

    2. Kunga
    3. Bemmi83

      Bemmi83

      ;-) Geht dein Projekt gut voran?

  5. Kunga

    Rotation nach Mausgeschwindigkeit regeln

    Danke dir, das ist eine ganz gute Lösung, gefällt mir. Du musst nur statt transform.Rotate(Input.GetAxis("Mouse X)); transform.Rotate(new Vector3(0, Input.GetAxis("Mouse X"), 0), Space.World); machen, sonst spuckt der dir eine Fehlermeldung aus wegen falschem Parameter. Aber danke dir, hab es hinbekommen und finde es gut so. Bei dem Beispiel oben jetzt dreht sich die Kamera dann um die Y-Achse der Welt und nicht die der Kamera selbst. Vielen danke nochmal! Gruß, Kunga
  6. Guten Abend liebes Forum. Aktuell hänge ich an der Entwicklung einer Kamera die zu meinem Spiel passen soll. Ich möchte, dass sich die Kamera dreht, wenn der Spieler die rechte Maustaste gedrückt hält. Soweit so gut, habe das auch hinbekommen. Nur gefällt mir das nicht ganz so, da die Rotation immer gleich schnell ist, egal wie schnell man die Maus dabei bewegt. Weiß jemand wie ich die Rotationsgeschwindigkeit durch die Geschwindigkeit der Maus regulieren kann? Also wenn sich die Maus langsam bewegt, ist die Rotation auch sehr langsam und umgekehrt. So sieht mein aktueller Code aus: // C# if (Input.GetMouseButton(1)) { if (Input.GetAxis("Mouse X") < 0) { transform.Rotate(Vector3.up, Space.World); } else if (Input.GetAxis("Mouse X") > 0) { transform.Rotate(-Vector3.up, Space.World); } } Würde mich über Vorschläge freuen. Schönen Tag! Gruß, Kunga
  7. Kunga

    Hallo!

    Auch dir dankeschön .
  8. Kunga

    Hallo!

    Ja danke, das werde ich haben . Das habe ich zum Teil ja auch schon! Vielleicht bist du ja mal über meinen YouTube-Kanal gestolpert?
  9. Kunga

    Hallo!

    Hallo an von mir an die deutsche Unity-Community! Ich bin schon etwas länger hier im Forum unterwegs und schaue mir die ein oder anderen Projekte von euch an und bin über manche ganz begeistert, habe mich jedoch nie zu Wort gemeldet. Irgendwann dachte ich mir, dass ich mich doch mal langsam vorstellen könnte. Nun ja, hier bin ich! Mein Name ist Nikolas, bin 22 Jahre alt und studiere Medieninformatik. Unity kenne ich schon sehr lange, habe mich aber irgendwie nie dazu aufrappeln können, damit anzufangen. Da ich aber sehr gerne programmiere und schon seit meiner Kindheit ein leidenschaftlicher Gamer bin, hatte ich natürlich immer den Traum ein eigenes Spiel zu entwickeln. Mal schauen, vielleicht passiert das ja jetzt mit Unity. Auf jeden Fall bin ich mir seit Tagen die offiziellen Tutorials von Unity am Geben und mir gefällt Unity wirklich sehr. Das ist einfach so gut durchdacht! Mal schauen, vielleicht darf ich euch ja irgendwann hier mal mein erstes Spiel vorstellen. Grüße Kunga
×