2016-04-08 12 views
0

Also ich habe dieses leere Spielobjekt, das rotiert. Jetzt hat dies ein Kugelobjekt als Kind. Wenn sich das Elternpunktobjekt dreht, scheint sich die Kindkugel um es herum zu drehen. Ich möchte die Geschwindigkeit dieser Kugel kennen, speziell ihre tangentiale Geschwindigkeit.Wie erhält man die tangentiale Geschwindigkeit des rotierenden Objekts?

Wenn ich debugge, finde ich alle Komponenten der Kugel Starrkörpergeschwindigkeit/Winkelgeschwindigkeit zu sein (0,0,0). Kann mir bitte jemand sagen, wie kann ich das erreichen ..

+0

Drehen Sie das übergeordnete GameObject mit Physik (zB 'AddTorque()') oder manuell per Skript (zB. 'Transform.rotation' ständig aktualisieren)? – Serlite

+0

Ich benutze 'transform.RotateAround (Target.position, Target.up, _directionOfMovement * _speedWithoutInput * Time.deltaTime)' wo ich mein Elternpunktobjekt als Ziel übergeben – Jajan

+0

Wenn Sie 'transform.RotateAround()' verwenden, das bedeutet, dass Sie die Transformation direkt und nicht durch die Physik manipulieren. Dies bedeutet, dass eine Geschwindigkeit vom Rigidbody des Kindes nicht möglich ist - Sie müssen dies manuell mit Ihrem Wissen über Geometrie/Physik berechnen. Es kann jedoch gemacht werden, wenn Sie dem Elternteil ein Rigidbody geben und es mit Physik drehen (zB ['Rigidbody.AddTorque()'] (http://docs.unity3d.com/ScriptReference/Rigidbody.AddTorque.html) Lass es mich wissen, wenn du stattdessen diesen Weg gehen willst. – Serlite

Antwort

0

Wenn Sie das Objekt drehen, indem Sie seine Transformation manipulieren, macht der Starrkörper keine Arbeit. Versuchen Sie, es mit dem Starrkörper zu drehen, und Sie sollten einige Geschwindigkeits-/Winkelgeschwindigkeitswerte sehen.

+0

Werde das versuchen .. Danke @ Mikes3ds – Jajan

Verwandte Themen