In order to keep it a little bit original, I decided to allow the gondolas to swing.
Add brake system to the gondola hinges, like I haven’t already tried to add it a gazillion times
Rework the arm movement so it won’t jump when the angle variable is altered and look really odd
Rework the rotation of the cross so it won’t make the gondolas spazz out when a frame gets dropped
Add restraint system to the gondolas
Add lowering floor
Optimize the models
Dress it up with textures and hundreds of super fancy lights
Implement the gamemodes described below in a cycling manner: regular ride, gamemode 1, gamemode 2, gamemode …, regular ride, gamemode 1 and so on.
Gamemodes (subject to change):
Balloon battle: shoot balloons and get units depending on balloon size.
Russian roulette: bet units and ride the machine as it terminates the gondolas one by one. Surviving will result in a refund among the lines of three times the bet amount, which is a gain of two times the bet amount.
Time to… uhh… do some extra research on this thing.
As an update, I’m currently working on smoothing the swing motion and the restraint system. As for the latter, I cannot get it to work. Does anyone here have an idea on how to apply physics to a child actor in a blueprint? The child actor here is the gondola. It either hangs completely still or simply falls off the hinge.
I’ve ridden on one of those multiple times.
I’ve since stopped because my most recent ride on one, it juddered heavily at random points during the ride, before being subsequently shut down for repairs after I’d gotten off. Creepy stuff.
Same!!! It started raining on a suspended swing spinner thing I was on and all the carts started hitting each other and it was like super scary and stuff and I’m not gonna forget being 3 stories from the ground in that thing.
Not entirely sure what you are attempting but you could try spawning a new actor at the world position of the ride actor. Child actors don’t have all the cool features. You should also look into physics hinges and constraints.
I am using physics constraints. They worked flawlessly in the video, but in the video the gondolas are nothing more than static meshes. The thing is that static mesh components have the “enable physics” option in the blueprint details tab, whereas child actors do not have this option. I have already tried enabling physics on the static mesh within the gondola actor, but that simply led to the mesh falling infinitely. I’ll try moving the hinge into the gondola actor now.
I’ll just drop this here, even though I didn’t get as far as I wanted:
Fully functional restraints. Each restraint has its own randomized speed when it closes or opens. It’s also possible to switch between seats now.
And now I am stuck with getting the swing movement right. Here’s the deal:
The maximum swing angle (0…120 degrees) is increased and decreased by pressing the t and g keys respectively. The swinging motion is then created by multiplying this maximum angle by a sine wave.
However, by just linearly increasing and decreasing this angle, you could see the arm make sudden movements, as shown at the end of the video in the OP. To make matters worse, the gondolas physically respond by this sudden jump in the direction and/or speed.
In order to combat this, I want the value to accelerate and decelerate, as shown in this graph:
But implementing this in the Blueprint led to absolute spaghetti, and it only did the acceleration-to-constant-speed part. I then decided to turn every mathematical function into a Blueprint function in a function library, to make the main code easy to read. But now it’s not working properly, and debugging functions in a Blueprint function library is sure as hell not possible due to a bug in the Unreal editor.
So here I am now, blindly reconnecting nodes in Blueprint, trying to get this damn thing to work.