Jump to content
Unity Insider Forum

Objekte folgen, frei einstellen, über x- & y-Achse


Daniel0493

Recommended Posts

Hallo, ich habe ein 2. Problem zu dem bereits im Allgemein Thread,

Das ist die Aufgabe:

 Erstellen Sie eine Szene mit zwei Kugeln. Eine Kugel soll durch einen CharacterController zu steuern sein. Die andere Kugel soll diese Kugel mit einem frei einstellbaren Abstand verfolgen. Legen Sie ein entsprechendes Skript an. Über das Register Inspector sollen sowohl der Abstand der Verfolgung auf der x- und y-Achse als auch das zu verfolgende Objekt eingestellt werden können. Reichen Sie für die Lösung das Skript ein.

Das ist das Script:

2078365414_UTY05CVariablen-MicrosoftVisualStudio16_10.202216_09_41(2).thumb.png.20d009b0f0acd41da303091dc91fb7b8.png

Wie ich öffentliche Felder für die X & Y Position setze ist mir durchaus bewusst, aber danach explodiert mein Kopf, mir sind mehrere Varianten eingefallen bzw. habe ich welche im Internet gefunden, allerdings haben diese nicht zum gewünschten Ergebnis verholfen.

Und bitte erstmal kein Komplizierten Code den ich nicht verstehe, per Vector3.Lerp wäre vollkommen in Ordnung (stehe noch am Anfang).

Wie bereits geschrieben, will mir einfach keine Lösung einfallen, bzw. keine Funktionierende, darum bitte ich um Hilfe.

Es sollen beide Varianten möglich sein bzw. versteh ich das so, das das Objekt nur eine gewisse Distanz zurücklegen soll, oder denke ich da wieder zu kompliziert und es ist eig. ganz einfach?

MfG

Daniel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

Ich verstehe die Aufgabe so, dass das Objekt B auf die Spielfigur (A) zugeht, bis sie auf den eingestellten Abstand heran gekommen ist.

Dafür kannst du Vector3.MoveTowards benutzen. Da packst du zwei Vektoren und eine Entfernung rein. Die Methode gibt dir dann den Punkt zurück, den man erreicht, wenn man bei A Richtung B losgeht und dabei maximal die Entfernung zurück legt. Ist die übergebene Entfernung größer als der Abstand zwischen A und B, kriegst du einfach B zurück.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Sascha:

Moin!

Ich verstehe die Aufgabe so, dass das Objekt B auf die Spielfigur (A) zugeht, bis sie auf den eingestellten Abstand heran gekommen ist.

Dafür kannst du Vector3.MoveTowards benutzen. Da packst du zwei Vektoren und eine Entfernung rein. Die Methode gibt dir dann den Punkt zurück, den man erreicht, wenn man bei A Richtung B losgeht und dabei maximal die Entfernung zurück legt. Ist die übergebene Entfernung größer als der Abstand zwischen A und B, kriegst du einfach B zurück.

Hmmmm... über MoveTowards hatte ich hier bereits was gelesen, allerdings weiß ich nicht ob das auch so von der aufgabenstellung gewünscht ist, da ich bissher nur mit dem Vector3.lerp gearbeitet habe..

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Stunden schrieb Sascha:

Um Lerp zu benutzen, bräuchtest du den Anstand zwischen A und B, z.B. mit Vector3.Distance. Dann teilst du den Mindestabstand durch diesen Abstand und nimmst das als t. Ist ein bisschen unnötig umständlich, geht aber auch.

Ehm... okey 😅

Bräuchte dabei wohl doch dann mehr hilfe als es nur zu beschreiben, wo muss ich was machen? 😅

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich frage mich ja, wieso in einem Kurs Aufgaben gestellt werden, wenn vorher nicht das Nötige vermittelt wurde.
Ich kann mir nicht vorstellen dass ein Kurs so aufgebaut ist, dass die Teilnehmer "irgendetwas" machen sollen und sich dafür auch "irgendwo" die Techniken aneignen sollen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 16.10.2022 um 19:36 schrieb Daniel0493:

Erstellen Sie eine Szene mit zwei Kugeln. Eine Kugel soll durch einen CharacterController zu steuern sein. Die andere Kugel soll diese Kugel mit einem frei einstellbaren Abstand verfolgen. Legen Sie ein entsprechendes Skript an. Über das Register Inspector sollen sowohl der Abstand der Verfolgung auf der x- und y-Achse als auch das zu verfolgende Objekt eingestellt werden können. Reichen Sie für die Lösung das Skript ein.

Das ist das Script:

2078365414_UTY05CVariablen-MicrosoftVisualStudio16_10.202216_09_41(2).thumb.png.20d009b0f0acd41da303091dc91fb7b8.png

 

Am 21.10.2022 um 17:23 schrieb chrische5:

Hallo

 

Was ist denn deine konkrete Frage?

 

Christoph

Dies ist die Aufgabenstellung.

vor 12 Stunden schrieb malzbie:

Also ich frage mich ja, wieso in einem Kurs Aufgaben gestellt werden, wenn vorher nicht das Nötige vermittelt wurde.
Ich kann mir nicht vorstellen dass ein Kurs so aufgebaut ist, dass die Teilnehmer "irgendetwas" machen sollen und sich dafür auch "irgendwo" die Techniken aneignen sollen.

Das hatte ich eig. Auch gedacht, allerdings habe ich anscheinend den kurs genommen, wo sowas inhalt ist, hatte schon mehrfache aufgaben, wo ich das internet bzw. Youtube zu rate ziehen musste, um überhaupt einen anhaltspunkt zu bekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 months later...

Ich sitze am gleichen Problem für den Kurs. Es ist schon eine Weile her bei dir aber wie hast du das am Ende gelöst? Ich denke ja das ich dem CharacterController eine find.Object Sphere mitgeben muss und Felder für das Festlegen der Distanz und dann if und else für die Einhaltung der eingegeben Distanz. (Also, das Object würde stehen bleiben bei == eingegebene Distanz, oder dem CharacterController folgrn wenn != eingegebener Distanz. 

Aber irgendwie stecke ich hier immer noch fest.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...