Wecoc
Pinball Wizard
- Joined
- Dec 7, 2021
- Messages
- 80
- Reaction score
- 124
- Points
- 40
- Favorite Pinball Machine
- Cirqus Voltaire
Even though default Spinning Disks work pretty well (and the XML allows customization), with BAM we can also recreate them using a Trigger and two Timers instead, which allows some extra features.
- You can read exactly when the ball enters or exits the spin disk
- You can do something exactly when the spin disk stops rotating completely
By default, you can only read that "motor-wise" instead of "rotation-wise"; with a Trigger you have more control.
- You can get the current angle by script
Some pinballs use the Spinning Disk as a roulette, but you can't do that with a default Spinning Disk.
Instead, using a Trigger, you can simply get the current angle with
You can even rotate it manually to a certain angle or do a defined number of spins.
Spinning disk roulette in No Good Golfers. Image from IPDB.
I believe the road "pointer" in the pinball Formula 1 works similarly.
- The spin disk affects the ball, but the ball doesn't affect the spin disk
The ball can cause the default FP spin disk to rotate a little when disabled and when passing over it slowly. That's not very realistic for normal spin disks, and also would cause problems on the roulette case already mentioned, so this doesn't happen anymore. It could of course be implemented back as well, by expanding the code.
- You can control via script the damping and motor power of the spin disk
You can now create custom values for those parameters. The damping was tweaked because the default one was way too loose.
There are also new parameters like the "Resistance" (speed reduction of the ball when it passes through the disk), and also "Spin Effect" (how much of the disk rotation affects the ball's trajectory)
- You can use sphere mapping to create spinning metal plates
Some classic pinballs use metal spinning disks, and using a Trigger allows that very easily.
You can also disable "Render model" and use an extra Toy, matching its rotation with the trigger's rotation. By doing that, you can make translucent spinning disks and place a bulb below, which also appeared on some classic pinballs.
The Demo includes a default spinning disk (right) and the new one using the code (left) for comparison. It also includes the three models (large, medium, and small).
- You can read exactly when the ball enters or exits the spin disk
- You can do something exactly when the spin disk stops rotating completely
By default, you can only read that "motor-wise" instead of "rotation-wise"; with a Trigger you have more control.
- You can get the current angle by script
Some pinballs use the Spinning Disk as a roulette, but you can't do that with a default Spinning Disk.
Instead, using a Trigger, you can simply get the current angle with
SpinDisk.Rotation
You can even rotate it manually to a certain angle or do a defined number of spins.

Spinning disk roulette in No Good Golfers. Image from IPDB.
I believe the road "pointer" in the pinball Formula 1 works similarly.
- The spin disk affects the ball, but the ball doesn't affect the spin disk
The ball can cause the default FP spin disk to rotate a little when disabled and when passing over it slowly. That's not very realistic for normal spin disks, and also would cause problems on the roulette case already mentioned, so this doesn't happen anymore. It could of course be implemented back as well, by expanding the code.
- You can control via script the damping and motor power of the spin disk
You can now create custom values for those parameters. The damping was tweaked because the default one was way too loose.
There are also new parameters like the "Resistance" (speed reduction of the ball when it passes through the disk), and also "Spin Effect" (how much of the disk rotation affects the ball's trajectory)
The concept of Resistance is very similar to speed-modifier magnets, which can also be made using a Trigger. When hit, the velocity of the ball is simply multiplied by a factor.
This is useful because some classic spinning disks had a certain "roughness" texture to slow the ball. An example would be the two disks in Casino.
You could make more advanced effects based on the current angle of the spin disk. Some classic pinballs use that, for example Twin Win or Fireball.
Code:
xBAM.Ball.SetVelocity xBAM.Ball.Velocity.X * 0.85, xBAM.Ball.Velocity.Y * 0.85
This is useful because some classic spinning disks had a certain "roughness" texture to slow the ball. An example would be the two disks in Casino.
You could make more advanced effects based on the current angle of the spin disk. Some classic pinballs use that, for example Twin Win or Fireball.
- You can use sphere mapping to create spinning metal plates
Some classic pinballs use metal spinning disks, and using a Trigger allows that very easily.
You can also disable "Render model" and use an extra Toy, matching its rotation with the trigger's rotation. By doing that, you can make translucent spinning disks and place a bulb below, which also appeared on some classic pinballs.
For some examples of translucent spinning disks, see Star Action and Planets.
The Demo includes a default spinning disk (right) and the new one using the code (left) for comparison. It also includes the three models (large, medium, and small).
Attachments
Last edited: