Jump to content
Unity Insider Forum

Kollision von zwei Würfeln - 2x den Sound abspielen?


Recommended Posts

Hallo!

Schon lange versuche ich mich mit Unity zu beschäftigen - aber leider komme ich immer nur kurz dazu. Jetzt wieder ein Versuch, intensiver einzusteigen.

Bin jetzt auf folgendes Problem gestoßen: wenn ich mehrere Würfel fallen lasse (um den Wurf von z.B. 6 Würfeln zu simulieren), will ich bei Collision natürlich nur einen Sound abspielen lassen.

Aus meiner Sicht kann ich hier nicht einfach ein OnCollisionEnter (oder ähnliches) an die Objekte hängen und dann einfach einen Sound abspielen. Das hätte ja zur Folge, dass wenn "Würfel 1" und "Würfel 2" aneinanderstoßen, der Sound 2x abgespielt wird. Ich glaube, dass bei einer Kollision zwischen zwei Objekten ein Sound "genügt".
Wenn der Würfel an die Wand stößt, ist OnCollisionEnter üblicherweise wohl auch nicht an der Wand, so dass in dem Fall der Sound auch nur 1x gespielt werden würde.

Wie kann ich in so einem Fall vorgehen, dass eben (zwei Objekte die allein für sich bei Kollisionen gegen die Wand einen Sound abspielen) nicht 2x der Sound gespielt wird, sondern nur 1x?

Hoffe, die Frage ist verständlich ausgedrückt.

Viele Grüße
Leftwing

Link to post
Share on other sites

Das ist eine ziemlich coole Frage. Ich glaube, die einfachste Lösung ist, ein Merkmal der Würfel zu nehmen, das 1. vergleichbar und 2. immer unterschiedlich ist. Dann vergleichen sich beide Würfel mit dem jeweils anderen und der "höhere" (oder halt der "niedrigere") übernimmt die Aufgabe, den Sound abzuspielen. Anbieten würde sich da die Instance ID.

private int myRigidbodyId;

private void Awake()
{
  myRigidbodyId = GetComponent<Rigidbody>().GetInstanceID();;
}

private void OnCollisionEnter(Collision collision)
{
  if (myRigidbodyId < collision.rigidbody.GetInstanceID())
  {
    PlaySound();
  }
}

 

Link to post
Share on other sites

@Sascha und @malzbie
Die Lösung ist so schlicht und einfach, dass ja jeder darauf hätte kommen können.
Keine Zauberrei, keine Magie, nur simpel - schlicht genial!

Nochmal: Vielen Dank!

Ihr könnt euch nicht Vorstellen, welche Unmenge an Folgefragen die Lösung mit sich bringt ... 😁

  • Like 1
Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...
×
×
  • Create New...