@spefyjerbf @asteroidbook345 @Avro683Lancaster
.
Thanks for the reply! I just need you to review my work for the purely physics-based section, the conversion of physics into funky trees hasn't been done completely yet. That's for me to work on and fix! Anyhow, here's the documentation of my process.
Perhaps. However, you can now improve them using the new system, especially with transformations of the function sin(Time) to create pistons motions that you precisely now the cycling periods of. Just go and improve them.
@ChisP
.
If you want the maximum angle to be 20º and have the input be the sine of Throttle, just set the angle range for hinge rotator to 20º and set input to sin(Throttle). I'm not sure exactly what you want otherwise.
@ChisP
. idk wat u say
Jokes aside, please be more specific. Which part are you working with, what do you want to part to when you do something? I can't help you unless you're really specific.
@randomusername
.
Division shouldn't be a problem. Have you tried spacing them correctly / using parentheses? exp(0.5) is not equivalent to ^0.5. ^ does not work, you have to do pow(x, p) to raise x to the power of p.
@randomusername
.
From my first impression, I'd expect it's a syntax error- but I can't be sure. What exactly isn't working? The behavior of the function?
@Minecraftpoweer
.
Try using torque to your advantage. Instead of bundling pistons close together like that, how 'bout a piston thing on top? Like this.
Also, have you truly looked for every option in order to achieve said action? One thing I detest is uninformed people who simply complain whilst not trying hard enough to resolve their issues. I'm fairly certain it's still possible- I've seen a mobile build with custom thumbs recently.
.
Also, submit a uservoice or something, not complain on the forums. This isn't the place to do that. Get directly to the devs, not the community. Please do consider that devs have been working hard to push out this recent update.
ActiveLimit is simply a number, different for each piston. For piston 1, use ActiveLimit = 0, for piston 2, ActiveLimit = 0.125, and I think you know the rest of the drill. Just replace the word with the respective number.
The first segment of the statement checks if the respective piston should be activated or not. That is, it checks if the level of throttle is appropriate for the piston to activate, and returns 1 if it is true. The second segment is the actual input.
Anyway, try it out and tell me if it doesn't work.
@Minecraftpoweer
.
Your idea is very possible and quite interesting, to say the least. It's possible for sure, but I just need some time to think. I'll get back to you when I have a working system.
@Minecraftpoweer
.
Maybe, but you'll have to be a bit more clearer. If you can get me a diagram or something that'd help. I definitely think whatever it is you want would be possible though.
@Minecraftpoweer
.
So you want them to activate ONLY when Throttle is at a certain value? You should've said that earlier! Try something like ceil(clamp01(Throttle - 0.124)*clamp01(0.126 - Throttle)). This will make it such that the said piston only activates when Throttle is at the specific value. The numbers should be the same from the last time I told you, but follow the format above and have the first number be "number" - 0.01, the second number be "number" + 0.01. Remember, the "number" here is the 0.125, 0.25, 0.375 etc.
@wonkapilot
.
It's quite difficult to figure out, I somehow have to self-study linear algebra to do this. Hahaha... It'll take some time, I'm seeking assistance from college people I know.
@spefyjerbf
.
You might be able to calculate the required thrust amount for an engine to produce just the right amount of impulse (F*t) in order to reduce speed exactly to 0, dependent on the aircraft's initial speed.
@goboygo1
Let's say your input is VTOL, and the AG 1. Then:
VTOL * abs(Activate1)
If you don't want the rotator to reset every time you "deactivate" it, then set zeroOnDeactivate = false. This will lock it in place whenever it's "deactivated".
@Minecraftpoweer
.
Procedural inputs, huh. Just was messing around with it the other day. If you have 8 pistons to do that ordered extension, you need to use comparison operators– each at 1/8th increments of Throttle. So, Throttle = 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, and 1. For piston 1, have ceil(clamp01(Throttle - 0.125)) as the input, the second ceil(clamp01(Throttle - 0.25)), and so on, you get the drill. This should work in the way you mentioned.
I can't believe you actually figured it out. Rocket-based systems ATGMs in SP have suffered from insane accelerations and speeds that destroy maneuverability, I didn't know it was this elegant of a solution.
@spefyjerbf @asteroidbook345 @Avro683Lancaster
.
Thanks for the reply! I just need you to review my work for the purely physics-based section, the conversion of physics into funky trees hasn't been done completely yet. That's for me to work on and fix! Anyhow, here's the documentation of my process.
@PointlessWhyshouldi
.
massScale to 0, disableAirraftCollsions to true, or damperMultiplier
@PointlessWhyshouldi
.
Create a formula for the RPM of your engine. Input that into the dial.
Perhaps. However, you can now improve them using the new system, especially with transformations of the function
sin(Time)
to create pistons motions that you precisely now the cycling periods of. Just go and improve them.@Davidzhang2671
.
Thanks! Much appreciated.
@Thueerra
.
You need to set it under the
inputController
tab. It works just fine.@AtlasSP
+1.
clamp01(x)
is your friend.@Thueerra
.
Set
zeroOnDeactivate
tofalse
.@ChisP
.
If you want the maximum angle to be 20º and have the input be the sine of Throttle, just set the angle range for hinge rotator to 20º and set
input
tosin(Throttle)
. I'm not sure exactly what you want otherwise.@ChisP
.
What exactly do you want the part to do? The conditions for activation? The amount of angle to rotate? etc. etc.
@ChisP
.
What do you mean by "base"? I don't think I'm the best person to ask...
@ChisP
.
idk wat u say
Jokes aside, please be more specific. Which part are you working with, what do you want to part to when you do something? I can't help you unless you're really specific.
@AircraftoftheRedStar
.
Layered VTOL engines.
@randomusername
.
Huh, okay...
@randomusername
.
Division shouldn't be a problem. Have you tried spacing them correctly / using parentheses? exp(0.5) is not equivalent to ^0.5. ^ does not work, you have to do
pow(x, p)
to raise x to the power of p.@randomusername
.
From my first impression, I'd expect it's a syntax error- but I can't be sure. What exactly isn't working? The behavior of the function?
@randomusername
.
Eh? You need help with anything?
@DPSAircraft
.
This is an invalid statement. Also, what are you trying to say? It's not making any sense.
+1@benjiboyy06
.
What exactly do you want? Be specific.
Your plane file is likely corrupted. Did you mess with XML? Any mods?
@Gusti1301
+3.
It's not meant to fly high. I don't think you understand what this is.
@Minecraftpoweer
.
I guess so. Well, that's the problem with complicated builds in general :P
@Minecraftpoweer
.
Try using torque to your advantage. Instead of bundling pistons close together like that, how 'bout a piston thing on top? Like this.
@Minecraftpoweer
.
IDK where you got that, lol. I just meant bundle multiple pistons together to make the arm stronger. Your flat piece method might work as well.
@Minecraftpoweer
.
Add some sort of mechanical support beam or use multiple pistons for each segment.
Awesome, smart solutions to problems.
+1@IndustrieMilitariStatali
+1.
Hope you read the description- it's simple. Just grab the top part and put it on the belly of your plane.
@Minecraftpoweer
.
Sure thing, glad I helped out.
@jamesPLANESii
+4.
Nah, I never learnt programming. Funky trees is my first exposure to it, really.
@Minecraftpoweer
.
Sure, looking forward to seeing the system on your build.
@Minecraftpoweer
.
I tried it out myself, I think this is what you want! Here's a link to a video demonstrating it.
Use funky trees. It's more universal and is superior.
+1No, it's done using DesignerSuite.
Also, have you truly looked for every option in order to achieve said action? One thing I detest is uninformed people who simply complain whilst not trying hard enough to resolve their issues. I'm fairly certain it's still possible- I've seen a mobile build with custom thumbs recently.
+4.
Also, submit a uservoice or something, not complain on the forums. This isn't the place to do that. Get directly to the devs, not the community. Please do consider that devs have been working hard to push out this recent update.
@Minecraftpoweer
.
Hey, sorry for the slight delay. It was 4am at the time so I had to fetch some sleep. Anyway, here's a working system. Use this:
ceil(clamp01(Throttle - ActiveLimit))*clamp01(8*(Throttle - ActiveLimit))
ActiveLimit is simply a number, different for each piston. For piston 1, use ActiveLimit = 0, for piston 2, ActiveLimit = 0.125, and I think you know the rest of the drill. Just replace the word with the respective number.
The first segment of the statement checks if the respective piston should be activated or not. That is, it checks if the level of throttle is appropriate for the piston to activate, and returns 1 if it is true. The second segment is the actual input.
Anyway, try it out and tell me if it doesn't work.
+1@Minecraftpoweer
.
Your idea is very possible and quite interesting, to say the least. It's possible for sure, but I just need some time to think. I'll get back to you when I have a working system.
@Minecraftpoweer
.
Maybe, but you'll have to be a bit more clearer. If you can get me a diagram or something that'd help. I definitely think whatever it is you want would be possible though.
@Minecraftpoweer
.
So you want them to activate ONLY when Throttle is at a certain value? You should've said that earlier! Try something like
ceil(clamp01(Throttle - 0.124)*clamp01(0.126 - Throttle))
. This will make it such that the said piston only activates when Throttle is at the specific value. The numbers should be the same from the last time I told you, but follow the format above and have the first number be "number" - 0.01, the second number be "number" + 0.01. Remember, the "number" here is the 0.125, 0.25, 0.375 etc.@WNP78
.
Would
AngleOfSlip
be the angle between the aircraft's current direction and the direction of its velocity vector (assuming no wind)?@spefyjerbf
+2.
Even better, a system with thrusters in x, y, and z directions to reduce all velocity.
@DPSAircraft
.
I forgot, it'd work with
abs(Activate1)
.@wonkapilot
.
It's quite difficult to figure out, I somehow have to self-study linear algebra to do this. Hahaha... It'll take some time, I'm seeking assistance from college people I know.
@spefyjerbf
.
You might be able to calculate the required thrust amount for an engine to produce just the right amount of impulse (F*t) in order to reduce speed exactly to 0, dependent on the aircraft's initial speed.
@goboygo1
Let's say your input is VTOL, and the AG 1. Then:
VTOL * abs(Activate1)
If you don't want the rotator to reset every time you "deactivate" it, then set
zeroOnDeactivate = false
. This will lock it in place whenever it's "deactivated".ceil(clamp01(GS - 20))*Brake*abs(Activate3)
should evaluate to a value of 1 only when GS > 45mph, Brake is pressed, and AG 3 is enabled.Repost of your previous?
@Minecraftpoweer
+1.
Procedural inputs, huh. Just was messing around with it the other day. If you have 8 pistons to do that ordered extension, you need to use comparison operators– each at 1/8th increments of
Throttle
. So, Throttle = 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, and 1. For piston 1, haveceil(clamp01(Throttle - 0.125))
as the input, the secondceil(clamp01(Throttle - 0.25))
, and so on, you get the drill. This should work in the way you mentioned.@trolman
.
You did linear algebra and figured it out?
@FlipposMC
+1.
If you wanted, you could also make it such that gear just wont deploy above a certain speed- that might be more useful.
@JohnnyBoythePilot
.
Any part with an
inputController
class, under the attributeinput
.I can't believe you actually figured it out. Rocket-based systems ATGMs in SP have suffered from insane accelerations and speeds that destroy maneuverability, I didn't know it was this elegant of a solution.
+5