Wie hebe ich Objekte auf und werfe sie?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Ich hab deine Frage nicht komplett verstanden, also was nicht geht, oder was schon geht.

Vielleicht reicht es dir das Objekt einfach an den Spieler zu parentieren? das Rigidbody solltest du dann aber kinematic machen beim tragen.

transform.position = col.transform.position;
transform.SetParent(col.transform);
rb2D.isKinematic = true;

https://docs.unity3d.com/ScriptReference/Transform.SetParent.html

Beim werfen machst du das dann rückgängig, und gibst deine force drauf also:

Transform playerTransform = transform.parent;
transform.SetParent(null);
rb.isKinematic = false;

Vector2 direction = new Vector2(playerTransform.forward * power,-0.2f)
rb2D.AddForce(direction, ForceMode2D.Impulse);

Das ist jetzt alles ungetestet, aber so würde ich es versuchen.

https://docs.unity3d.com/ScriptReference/Rigidbody2D.AddForce.html

https://docs.unity3d.com/ScriptReference/Rigidbody2D.html

Woher ich das weiß:Berufserfahrung