Leftwing Geschrieben 13. Februar 2021 Melden Share Geschrieben 13. Februar 2021 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 zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 13. Februar 2021 Melden Share Geschrieben 13. Februar 2021 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 zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 13. Februar 2021 Melden Share Geschrieben 13. Februar 2021 Ja. so wie Sascha geschrieben hat, während ich schrub. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Leftwing Geschrieben 13. Februar 2021 Autor Melden Share Geschrieben 13. Februar 2021 Cool ist, wie geholfen wird. Damit meine ich nicht nur die Antwortdauer von 1 Stunde. Vielen Dank! Setze mich heute Abend dran und berichte, ob es (bei mir) geklappt hat. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Leftwing Geschrieben 14. Februar 2021 Autor Melden Share Geschrieben 14. Februar 2021 @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 ... 😁 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 14. Februar 2021 Melden Share Geschrieben 14. Februar 2021 Naja, immer her damit 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.