Footloose Geschrieben 28. März 2017 Melden Share Geschrieben 28. März 2017 Hey Ich hab da eine kleine Frage. Und zwar habe ich einen Ball: Wie ihr im Bild schon sehen könnt schaut der etwas nach unten, obwohl er eigentlich geradeaus schaut. Die Augen sind ein eigenständiges Objekt. Ich möchte dass die immer geradeaus zeigen (also später in Blickrichtung des Spielers). Ich möchte also dass sich nur die Kugel dreht und zwar nicht von selbst (daher ein Cube Collider) sondern nur wenn der Spieler die Kugel auch bewegt. Wie mache ich das? Edit: Es geht nicht darum wie man etwas dreht, sondern wie ich nur ein Objekt drehe. Also die Datei (.obj) besteht aus 3 Objekten, der Sphere, also die Kugel, sowie den weißen und schwarzen Augen. Und nur eines davon will ich bewegen. Liebe Grüße Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
SimpleScript Geschrieben 28. März 2017 Melden Share Geschrieben 28. März 2017 Hey, Deine 3 Objekte sind einzelen? Also lassen sich die Komponenten einzeln aus dem Mainobjekt ziehen? Falls ja würde ich einfach den Body in einen Script ansprechen und diesen rotieren lassen. Bsp: public Transform Body; void rotateBody(){ if(Input.GetKey(KeyCode.W)){ Body.rotate(0,0.1,0); } } Ist jetzt kein vollständiger Code sondern nur ein Denkanstoß. MfG Timm Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 28. März 2017 Melden Share Geschrieben 28. März 2017 Ich würde einfach die Augen nicht der Kugel unterordnen und mit dem Standard-Follow-Script die Position der Augen an die Kugel heften: public Transform target; void LateUpdate() { transform.position = target.position; } Die Blickrichtung wird etwas kniffliger. Deine Kugel wird sich nach ein paar mal um die Kurve rollen völlig krumm gedreht haben. Da ist dann nichts mehr mit Blickrichtung auslesen. Du musst die Rotation des Augen-Objekts entsprechend von etwas anderem auslesen. Möglich wäre z.B. Rigidbody.velocity der Kugel, und dann Transform.forward der Augen darauf setzen, bzw. auf eine Kopie des Vektors mit y = 0. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 28. März 2017 Autor Melden Share Geschrieben 28. März 2017 Kann ich die Augen in der Rotation nicht einfach der Kamera folgen lassen und in der Position der Kugel? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 28. März 2017 Melden Share Geschrieben 28. März 2017 Du kannst alles machen, was du dir vorstellen kannst Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 28. März 2017 Autor Melden Share Geschrieben 28. März 2017 Die Frage ist ob das Sinn macht. Aber ich schaue mir deine Vorschläge mal genauer an. Und ich habe die Objekte jetzt getrennt, also das schaut nun so aus. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
GoldBaercheN Geschrieben 28. März 2017 Melden Share Geschrieben 28. März 2017 z.b mit Transform.LookAt kannst du die Augen auf deine Camera ausrichten Dann aber die Augen wie gesagt als eigenes Obj und followen lassen [edit: hat Sascha schon geschrieben sry] Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 28. März 2017 Autor Melden Share Geschrieben 28. März 2017 schau ich mal danke Also es geht ja darum, dass die Augen immer in Blickrichtung schauen soll. Die Cam hab ich schon Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
devandart Geschrieben 29. März 2017 Melden Share Geschrieben 29. März 2017 Du kannst es entweder wie @Sascha beschreibt machen und mit der Velocity arbeiten oder einfach direkt den Input nehmen und daraus die Blickrichtung berechnen. Die Frage ist, ob Du auch nach unten gucken willst, wenn er runterfällt oder hochgucken, wenn er springt. Dann wäre das mit der Velocity wesentlich einfacher. Ansonsten nimmst Du einfach X- und Z-Achse deines Inputs, baust daraus einen Vector(x, 0, z) und lässt die Augen relativ vom Körper da hingucken, ggf. noch mit etwas Lerp, damit es "smooth" ist. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.