ProfessorHase Geschrieben 8. Juli 2023 Melden Share Geschrieben 8. Juli 2023 Moin an alle! Als Kind habe ich stundenlang beyound colums gespielt. Link zu einem youtube video Heute >30 Jahre später habe ich es mir zur Aufgabe gemacht dieses Spiel möglichst originalgetreu in Unity erstellen. Die Spiellogik ist bereits vollständig umgesetzt. Nun fehlt mir ein Ansatz zum Erstellen der Animation zum Verschwinden der Blöcke. Es verschwinden ja 3 bis 5 Blöcke zeitgleich. Ich habe bereits 6 Animationen erstellt die exakt dem Original entsprechen. Wie kann ich in Unity ein und dieselbe Animation 3-mal zeitgleich starten? Eine coroutine mit transform.localscale auf 0 ist eine Notlösung, entspricht aber nicht dem look and feel des Originals. Die Blöcke werden nicht kleiner, sondern es zieht sich ja ein „schwarzer Rahmen“ von außen nach innen. Für Lösungsansätze wäre ich dankbar. Entweder wie ich mehrere Animationen zeitgleich starten kann, oder den visuellen Effekt anders nachbilden kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
ProfessorHase Geschrieben 8. Juli 2023 Autor Melden Share Geschrieben 8. Juli 2023 Bislang habe ich 6 Animationen als 6 Gameobjekte in der Szene. Ginge es wenn ich jedem einzelnen Block die Animation als Component anfüge? Gut, Versuch macht klug. Erwachsen daraus Probleme, wenn ich >100 Blöcke mit so viel Ballast im Spiel habe? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Lewo Geschrieben 8. Juli 2023 Melden Share Geschrieben 8. Juli 2023 Ich schätze, Du wirst die einzelnen Blöcke als Prefab hinterlegen müssen. Jedes Prefab hat dann einen eigenen Animator mit der zugehörigen Animation. Die Prefab.Blöcke werden dann instanziert und bei Bedarf wird die Animation gestartet. Wenn die Animation beim Zerstören der Blöcke erfolgen soll, kannst Du das in der OnDestroy Methode einbauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
ProfessorHase Geschrieben 8. Juli 2023 Autor Melden Share Geschrieben 8. Juli 2023 Danke für die schnelle Antwort. Prefabs waren die Böcke schon. Ich instanziere nun jeden neuen Block mit der zur Farbe passenden Animation "im Gepäck". Geht erstaunlich gut. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 8. Juli 2023 Melden Share Geschrieben 8. Juli 2023 Für so simple Sachen ist es vernünftig, Tweens gegenüber "echten" Animationen in Erwägung zu ziehen. Anstatt da einen so derartig simplen AnimationClip überall zu verteilen, kannst du auch einfach mit einer Coroutine die Größe immer weiter runter schrauben. Oder, und das würde ich hier empfehlen: Du benutzt ein beliebiges Tween-System. Damit sagst du "nimm dieses Objekt und animiere es über die nächsten x Sekunden hinweg auf Größe 0". Dann kannst du noch die Zerstörung des Objekts an das "Tween fertig"-Callback dranhängen und fertig bist du. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
ProfessorHase Geschrieben 8. Juli 2023 Autor Melden Share Geschrieben 8. Juli 2023 Danke fuer die weiteren Anregungen. Das mit dem skalieren in einer coroutine habe ich ja auch probliert, ich habe es in meinem Eingangspost beschrieben. Dies kommt aber nicht der originalen Animation gleich. Haette ich nicht den Anspruch es genau wie im Original aussehen zu lassen, wuerde ich es in Erwaegung ziehen. Wenn man bei dem youtube Film die Wiedergabegeschwindigkeit reduziert sieht man deutlich, dass die Bloecke nicht kleiner werden, sondern von aussen nach innen "beschnitten" werden. Dies in Unity nachzubilden gelang mir nur mit einer Animation. Ideen wie ich es anders loesen koennte sind willkommen. Das Stichwort Tween System kommt in jedem Fall auf meinen OneNote Notizzettel, dies kannte ich noch nicht, eventuell ist es in anderen Projekten hilfreich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 8. Juli 2023 Melden Share Geschrieben 8. Juli 2023 Ah okay... Dann schau dir mal das hier an: https://docs.unity3d.com/Manual/class-SpriteMask.html So ein Ding würde ich mit einem Tween schrumpfen lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
ProfessorHase Geschrieben 10. Juli 2023 Autor Melden Share Geschrieben 10. Juli 2023 Vielen Dank für den Gedankenanstoß in Sachen Maskieren. Ich habe es mit einer Maske, die die in einer coroutine skaliert wird, umgesetzt. Eine Maske hat den Vorteil, dass ich nur eine einzige, unabhängig von der Farbe des Blocks, benötige. Nun entspricht der visuelle Effekt genau meinen Vorstellungen, also dem Original. 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
ProfessorHase Geschrieben 29. Juli 2023 Autor Melden Share Geschrieben 29. Juli 2023 Dies ist der derzeitige Stand meines beyound colums remake. Aenlichkeiten im Design zu TETRIS unltimate sind nicht zufaellig. 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.