Tombola
Recreating a Tombola rotation effect in Unity. Tombola drums are roataing boxes usually used to shuffle prizes to be drawn at random.
From Wikipedia
In the United Kingdom, a tombola is a form of raffle in which prizes are pre-assigned to winning tickets. ... Players pay for a ticket, which they then draw at random from a hat or tombola drum, and can instantly see whether or not they have won a prize.
I’ve been looking recently at games studios around the Sydney area. One company called SMG Studios has a site with a neat spinning tombola like menu. It feels so satisfying to click and has a lot of crazy results. What does SMG stand for? Soap Media Group? Who knows... I hope it’s one of the many combinations that can be generated from the Tombola.
I thought I would try recreating the tumbling menu using Unity and animation events. Animation events let you call methods at a set point on the timeline.
Here is my Unity implementation and Code. It’s pretty close. I did miss the nudge on the logo when boxes are clicked. Unity’s lighting is a little darker and the menu scale is a little off but I'm happy with the result.
The set up was pretty straight forward,
- Unity primitives for the rectangles.
- Use the Animation window to rotate the primitive over three seconds.
- Adjust the animation curves to add some easing to the rotation.
- Set up the Animator to have a trigger, that when enabled rotates the object.
- Add an animation avent on the timeline to trigger the animator.
That's it! The text is generated at random from a list held in a scriptable object. When the rotation is triggered we generate some new text.
I did run into an issue. If triggering an animation event at the end of an animation it fails to work. I’m not sure why. To get it working I needed to add the event a few frames before the end.