Can someone please take a moment to explain how to set up custom curves on pistons speeds?

I've tried to set these up so many times, but no matter how I arrange the numbers, when I go to test, I just have a dead piston 😣

What I need to do is have a piston begin movement from 0 to full speed in about 2-3 seconds, then travel the full distance in about 20 seconds, and take 2-3 seconds slowing down at the end.

Using other curves that are predefined, no matter how you set those up, won't solve the issue of the piston spending 40% of the travel time in the last 5% of the actual travel. This is extraordinarily painful waiting to make sure the piston is not still micro moving because it still hasn't reached the end.

I've got a project that I'm working on now that will use about 50-60 pistons, and I need to set them all up to work like this in some form.

TIA if some one can explain how to set this up with custom curves, because the default I have to set to the slowest speed that works for the start in order to keep things from exploding, but then that makes the rest of the motion take 2* too long for what it's supposed to do and then never seems to end and be fully extended as it should be. I come back in 5 minutes and it's way past where I want it and still moving 🥸

Tags
Question

15 Comments

  • Log in to leave a comment
  • Profile image

    @TronicOrbital had an "undisclosable incident" yesterday so never got the dampers done until now, but up and live finally :)

    +1 1.9 years ago
  • Profile image

    @TronicOrbital I know it does work, I made a mock up and even used a heavier weight on the end to make sure the joints wouldn't break, so I know it definitely works. The real devil is in the details (in a literal way) 😅

    +1 1.9 years ago
  • Profile image

    @TronicOrbital it's coming for sure, I will not be deterred 😂. I've been on this section of it for about a week and a half getting all the angles worked out (it starts folded up) and then making it not explode or just break apart. Since I made the gears I've tried to make whatever else functional in a realistic way, no cheating with hidden rotors, pistons, or motors, unless the game just flat out won't cooperate.

    +1 1.9 years ago
  • Profile image

    @TronicOrbital yeah, I've been doing collision mechanics almost entirely in here because unlike most other games, they're actually useful for realistic things. I've got it thought through and I can see a way I can ultimately link this up to the final step which does require control, and because of the linkable parts plus the damper (which after working I'll upload because holy crap it's useful for large heavy movements, IDK why we don't have one but I put about 10 parts together and it works perfectly), I can tie it all together and just make that the control point at the bottom instead of trying to control it at the top (where it makes sense, but, I can make it work after all in the end)

    1.9 years ago
  • Profile image

    What I'm making starts as a 3 * 4 * 16 m box and expands to 8 * 80 * 99m, and then folds back to the 3 * 4 * 16 to be able to move it.

    If I had only a nickel for every time this thing exploded so far.... Let's just say I wouldn't need to work for a bit 😂

    1.9 years ago
  • Profile image

    @TronicOrbital not quite. The entire process is mechanical, and uses collision as part of it being folded for transport. The collision of the piston isn't the issue, it's the other parts and joints. The piston pulls on a circular line around something else with a few joints that unfold an opposite way then continues to pull and lifts the rest of the sections upwards. Adding my custom damper I've been able to get it to unfold and almost completely recollapse without exploding, but I still have to use manual control in a couple places. It needs to start slow and then go full speed after a few seconds (after the pulling radius expands from .4 meter radius to 5.5 meter radius. Slow at the start keeps it from snapping the other joints apart but going slow at the end means ultimately the far side of what it's folding up will move about 5 meters in the course of 3 minutes while the piston finishes the last tiny bit of movements.

    I can bypass this with vizzy, but then I also have to consider the return to 0 aspect. I can put this piston in step 3, make it expand, and then by the beginning of step 4, it's in a normal position to pull back to 0 and expand the design. Then after folding, do the same thing so that when the stage 3 is folded at 90° it's still at 0. Hard to explain but I've got it worked out. Just hate putting and "on or off" thing to a slider because we can't make more, but action groups just add it to xml

    1.9 years ago
  • Profile image

    @TronicOrbital one other note, before I went to sleep last night I worked out a 7 meter long spring loaded damper, which greatly helps with the initial motions, so even the speed in general is ok, it's just the stinkin end part of the travel that's driving me nuts. I made a demo example to show what I mean

    1.9 years ago
  • Profile image

    @TronicOrbital it's the way I'm deciding to figure out how to work that in. I did it before with my Donkey 5.5 k (pitch roll yaw and throttle move the hydraulics in that one.

    I'm just trying to set pistons to action groups. What I'm making requires the sliders to be used as little as possible, because there will be about probably close to 40+ actions, about 90+ pistons I'm thinking, and two seats.

    One benefit to using the action groups over the sliders, once you EVA, slider controlled items return to 0, whereas action groups parts won't move. So that's another reason I'd like it on an action group. The piston I'm fighting with is step 4 of like 9 unfolding, so if the slider isn't zero with build in a good way when you EVA.... Kablooie

    1.9 years ago
  • Profile image

    @SamTheFox I just Uploaded "piston insanity demo" showing what I'm talking about if you want to take a look, maybe that will help explain what I mean and what I'm trying to do

    1.9 years ago
  • Profile image

    too long didn't read all the way 😵‍💫

    1.9 years ago
  • Profile image

    I did get some of the things figured out, but advanced properties keep getting erased from the designer after launching and coming back, so I don't know if it's part of what I'm saying or not how I'm getting it working. I have to keep turning on the button for advanced properties, and sometimes reloading, my custom curve values are not there, sometimes they are, just the last value is missing for some reason. I type it back in, test, come back, third or 4th set of numbers are gone again. Still spending 40% of it's time in the last 5% of motion no matter what I set the tanget options for. using a linear, smooth, smooth clamped, or any LERP curve does not change the behavior either. It's like nothing will make the piston move just as fast at the end as it did when it first started. Real life hydraulics don't behave this way, so why do the game pistons behave this way? (Besides, ok, it looks cool folding fins out, but that's about it. Mechanically useless otherwise unless you map the input to vizzy and use direct input to with the sleep command to make it move at the right speeds. Only other option is wait forever)

    1.9 years ago
  • Profile image

    @SamTheFox I'm referring to the actual movement of the piston itself in relation to an input. What is happening, I activate a piston. It takes about 1.5 seconds to reach full speed. So like the first 5% of the total travel, it's full speed. It then travels 90% of it's remaining distance at the same speed. Using a slow piston speed of like 10%, it would take the piston about 8 seconds to travel this 90%. The last 5% of travel, it takes another 8 seconds just to move, eh, barely noticeable, but moving along nonetheless. I am being driven nuts trying to make the last 5% move just as fast as the starting 5%, not spend 10 seconds in 95% of the range and 8 seconds in the last 5% of the range. 40% of the time spent in motion, is spent barely moving for way too long of a time.
    Using slow piston speeds you notice it, and I have to use hidden edit and set it to about 3-4% speed in xml, otherwise it snatches itself apart, but then the last .02 M the piston moves out of 4 M, it takes about 2 minutes to complete, but the first part is over in about a minute, just zooms to speed, then it's like "are you ever going to be done? When? sheesh!!"

    1.9 years ago
  • Profile image

    make bezier curves using pistons

    1.9 years ago
  • Profile image

    More thought leads me to a solution where I can work around this with using the input mapping with vizzy. Compound angles and changes of length on the way the model folds I can have a slider mapped to it and program it to extend when something else is moving and retract back to 0 in a controlled way, but also solve the issue of sliders going to 0 when you EVA. Action groups stay on or off, but sliders always 0, so in the case of this particular project, it will make a big boom going EVA either deployed or folded 😂. Be much better to just map the curve to behave in a way that works with the rest of it. Shouldn't move when you leave it, there's 8 sliders plus throttle, but it still isn't enough and the 0 things makes it not work well with pistons or rotors when you EVA and the craft is not how it was when it started out

    1.9 years ago
  • Profile image

    Ok, I think I'm figuring some of it out.
    (Input is?,output of piston will be|input is, output will be|tangent in, ?????|tangent out, ????)

    Not sure what the ???? Is in all of it yet, still poking, and the curve output doesn't seem to make any difference to the way it moves, so still poking that too. I assume the tangent parts are what I'm really after, but still have forever and a day on time spent in the last 5% of the movement. I've worked around this in the past by mapping "input received then apply a value it should move to a slider to make the speed right, and piston speed maxed out, but I need the sliders for something else on this one, so more investigation is needed I think

    1.9 years ago

2 Upvotes

Log in in to upvote this post.