@Ownedpilot sure, you can post it
There is no auto pitch control, except for pitch adjustment when steering to reduce unwanted pitch, which is just made through trial and error. The ground effect is disabled on the rotor. The ground following feature comes from jets, see the VerticalEngine variable.
@Ownedpilot yeah it's quite hard to copy the handling, so i just made sure it had the same controls
Also the custom chase camera is probably quite jank
twitter if posted previously
discord is going to block images from being accessible outside discord soon
can try github but there is a significant chance of getting banned from there
@Rjenteissussy subtract the engine throttle input by the turning input, but this will only slow down the powered wheels
if you want to slow down the other wheels, you must assign another engine to them
How would you do it, remembering that the blueprint is still a 3d object rendered behind the plane? I can't imagine how it would work without orthographic and axis-aligned cameras
@ToeTips the small turbojet engines make basically no sound at low inputs. You can run it at low input and increase the thrust multiplier as needed
An open diff doesn't apply any torque, while a limited slip diff applies torque to balance the speeds of both wheels on an axle. This torque is just added to the engine torque.
idk how to make a good one either
One way i just thought of is to find the pull up input for your g limit at a bunch of speeds and altitudes, then you multiply the player's input by that value
No. Labels have some number formatting options and that's about it. String addition works in labels and the debug tool, and string comparisons work everywhere.
You can take the time from the last shot and run it through some kind of animation curve. You need variables to do this:
OnShot setter: rate(ammo("Cannon"))<0
TimeSinceLastShot setter: smooth(OnShot?0:1, OnShot?999999:1)
Note: In semi-auto mode, OnShot is true for 2 frames, but in full auto mode, it is true for 1 frame. If you are only using it for a visual animation, it's fine.
Use this for parabolic animation curve. I set it up quickly. Make sure to clamp piston output if you set the min value to something other than 0.
@INeedANewName
Consumer reason: in case the game is bad, you don't lose money. You can always wait until it's good before you buy it.
Economy reason: the companies get money even if the game is bad at launch --> companies make more games that are bad at launch
Exceptions are if you really trust the devs and publishers, or if you are a content creator
@LoneSpaceGaming you need the curly braces { }, the labels under the heli rotors do not have it. The { } tells the game that whatever inside is FT and should be evaluated. Without it, the game treats it as normal text.
In addition, the first line has a normal braces ( ) mismatch, and the first : should be ?. I am assuming that the n is the name of the variable. If you have used { } but the FT is not replaced with a value, it's because there is a syntax error. The dev console can sometimes tell you what is wrong.
The following is text copied from the label. If this isn't the area of concern, tell me. n(Time*800)/2 : 0) : 0
Offset_Z clamp01(WALK)*WALK_Start_Z
.
The physics is the same, or very similar, across platforms, as long as the physics quality is the same. It's possible that the builds you downloaded do not support low physics, which have very soft connections when rotators and pistons are used.
@ToeTips afaik the distance between the CoL and control surface doesn't matter
Generally, the further away the wing or control surface is from the CoM, the more rotation is produced. Even though the lift is the same, the rotation moment/torque around the CoM is greater.
@ToeTips abs converts negative numbers to positive. It's not a condition statement
Just find some good values that you can replace 90 with at different speeds, try to fit a curve to it, and write it in FT
Build knob with range 0 to 2. Use a variable for the knob position. In this case 0 is stop, 1 is idle/start, 2 is normal. Make sure that as the knob turns, the value changes.
Optionally, you can use a setter to round the knob position value when the knob is not moving. This will provide a notching effect to your knob (I have code for this).
Add a setter for each variable you want to get out of the knob position. You should use the round function in the comparison. Example setters (your variable names may be different:
No, you cannot set variables inside of an input, including label { } inputs. The = operator in FT compares two values. If LeftEngineMode is currently 1, then LeftEngineMode=1 becomes true.
.
If you want to convert a single numeric variable to multiple true/false variables, you must use one variable setter for each new variable. For example:
Setter of LEngIdle is LeftEngineMode=1
Currently, you can't make string variables, but you can make enumerators by choosing a set of values for your variable, like normal is 1, idle is 2, and stop is 3. You can check against each value in the ternary structure like: EngineMode=1 ? ... : (EngineMode=2 ? ... : ...)
Body and animations are very nice
Not sure if I'm doing something wrong (no control list) but engine curve feels extremely peaky, so it's impossible to drive normally. For example, you can't do a second gear start. Also, negative stability on straights.
Finally, needs control list. Like what does UI Slider 2 do?
I have this method that doesn't need storing data
.
Target XYZ world coordinates
Longitude + TargetDistance * sin(TargetHeading)
Altitude + TargetDistance * sin(TargetElevation)
Latitude + TargetDistance * cos(TargetHeading)
.
Target GS (use above FT without the player coordinates components)
sqrt(pow(rate(TargetX),2) + pow(rate(TargetY),2) + pow(rate(TargetZ),2))
.
Also "storing data" is not descriptive enough to get FT help
@PowerRanger9604 yes but only the trunks of trees
+1@idk201011323 use the variable setters menu and change the controls, it's very easy to do
+1@Ownedpilot sure, you can post it
+1There is no auto pitch control, except for pitch adjustment when steering to reduce unwanted pitch, which is just made through trial and error. The ground effect is disabled on the rotor. The ground following feature comes from jets, see the VerticalEngine variable.
@ZER0G but you really only just need to change material 0 and 1
+1I added one color variation (but that one also changes the label colors)
@Ownedpilot yeah it's quite hard to copy the handling, so i just made sure it had the same controls
+1Also the custom chase camera is probably quite jank
@kaokaoo if that's true then the mod tools i'm using is older
+1@DCSplanepro12 unity is free bruh
+1To handle FT, you can use input controller, but it's not a good solution since mod parts can only have one input controller (i think)
+1@CrestelAeronautics2 no
+1twitter if posted previously
+1discord is going to block images from being accessible outside discord soon
can try github but there is a significant chance of getting banned from there
@Rjenteissussy subtract the engine throttle input by the turning input, but this will only slow down the powered wheels
+1if you want to slow down the other wheels, you must assign another engine to them
@Majakalona i haven't played juno on pc yet xdd
+1How would you do it, remembering that the blueprint is still a 3d object rendered behind the plane? I can't imagine how it would work without orthographic and axis-aligned cameras
+1@ToeTips the small turbojet engines make basically no sound at low inputs. You can run it at low input and increase the thrust multiplier as needed
+1An open diff doesn't apply any torque, while a limited slip diff applies torque to balance the speeds of both wheels on an axle. This torque is just added to the engine torque.
idk how to make a good one either
+1One way i just thought of is to find the pull up input for your g limit at a bunch of speeds and altitudes, then you multiply the player's input by that value
IA cat
+1singing robot cat real
Whatever you put into input controllers is called FT (funky trees), real and official terminology
+1if for simpleplanes, you need to start by writing a mod for that
+1You can base your communication protocol on Link2fs, which is made for MS flight sim
No. Labels have some number formatting options and that's about it. String addition works in labels and the debug tool, and string comparisons work everywhere.
+1You can take the time from the last shot and run it through some kind of animation curve. You need variables to do this:
+1OnShot setter: rate(ammo("Cannon"))<0
TimeSinceLastShot setter: smooth(OnShot?0:1, OnShot?999999:1)
Note: In semi-auto mode, OnShot is true for 2 frames, but in full auto mode, it is true for 1 frame. If you are only using it for a visual animation, it's fine.
Use this for parabolic animation curve. I set it up quickly. Make sure to clamp piston output if you set the min value to something other than 0.
@Majakalona they see your post xdd
+1Using it outside of sp might be illegal
+1Sacabambaspis
+1:crab:
+1Literally revived an account that was inactive for 1.8 years to (re)start beef
+1@Graingy due to being top rank for too long, there was probably a risk that he would become a false god of andrewism
+1Unpersoned and banished for being at the top for too long, literally 1984 (jk)
+1@INeedANewName
+1Consumer reason: in case the game is bad, you don't lose money. You can always wait until it's good before you buy it.
Economy reason: the companies get money even if the game is bad at launch --> companies make more games that are bad at launch
Exceptions are if you really trust the devs and publishers, or if you are a content creator
Use the smooth alternative
smooth(sum(1)<0.1 ? START_VALUE : (INPUT<0 ? MIN_VALUE : MAX_VALUE), abs(INPUT))
float START_VALUE
: Value to initialize the function with, usually 0.float MIN_VALUE
: Minimum output value.float MAX_VALUE
: Maximum output value.float INPUT
: Input that corresponds to the argument ofsum(...)
..
Added to ft list
@LoneSpaceGaming you need the curly braces
{ }
, the labels under the heli rotors do not have it. The{ }
tells the game that whatever inside is FT and should be evaluated. Without it, the game treats it as normal text.In addition, the first line has a normal braces
( )
mismatch, and the first:
should be?
. I am assuming that then
is the name of the variable. If you have used{ }
but the FT is not replaced with a value, it's because there is a syntax error. The dev console can sometimes tell you what is wrong.The following is text copied from the label. If this isn't the area of concern, tell me.
n(Time*800)/2 : 0) : 0
WALK_X_inc (Pitch*sin(FPS_YAW)+Roll*cos(FPS_YAW))*(abs(Pitch)&abs(Roll)?FPS_Speed/2:FPS_Speed)
WALK_Z_inc (Pitch*cos(FPS_YAW)-Roll*sin(FPS_YAW))*(abs(Pitch)&abs(Roll)?FPS_Speed/2:FPS_Speed)
Offset_X clamp01(WALK)*WALK_Start_X
Offset_Y clamp01(WALK)*WALK_Start_Y
+1Offset_Z clamp01(WALK)*WALK_Start_Z
.
The physics is the same, or very similar, across platforms, as long as the physics quality is the same. It's possible that the builds you downloaded do not support low physics, which have very soft connections when rotators and pistons are used.
@ToeTips this software is windows only due to the use of a windows-specific library. You can try to see if wine can run the exe. Or use the following:
+1PlanariaLab SPLC py source code version probably works on linux
11qazxc HTML port, there is a link to their webpage
@ToeTips afaik the distance between the CoL and control surface doesn't matter
+1Generally, the further away the wing or control surface is from the CoM, the more rotation is produced. Even though the lift is the same, the rotation moment/torque around the CoM is greater.
@ToeTips abs converts negative numbers to positive. It's not a condition statement
+1Just find some good values that you can replace 90 with at different speeds, try to fit a curve to it, and write it in FT
@LunarEclipseSP interesting, maybe i should read it
+1no anime version sadge
@CR929thenewSPplayer the front references AE86 but is curved like AW11, and the rear brake lights are based on R30
+1Try to make a feature one step at a time:
LeftEngStop
isround(LeftEngSelect)=0
LeftEngStartIdle
isround(LeftEngSelect)=1
No, you cannot set variables inside of an input, including label { } inputs. The = operator in FT compares two values. If LeftEngineMode is currently 1, then LeftEngineMode=1 becomes true.
+1.
If you want to convert a single numeric variable to multiple true/false variables, you must use one variable setter for each new variable. For example:
Setter of LEngIdle is LeftEngineMode=1
Currently, you can't make string variables, but you can make enumerators by choosing a set of values for your variable, like normal is 1, idle is 2, and stop is 3. You can check against each value in the ternary structure like:
+1EngineMode=1 ? ... : (EngineMode=2 ? ... : ...)
Body and animations are very nice
+1Not sure if I'm doing something wrong (no control list) but engine curve feels extremely peaky, so it's impossible to drive normally. For example, you can't do a second gear start. Also, negative stability on straights.
Finally, needs control list. Like what does UI Slider 2 do?
@Mustang51 I can't help unless you have a graph of airbrake over AoA
+1@SheriffHackdogMCPE maybe, the trucks and vans are more different than they look though
+1@CR929thenewSPplayer thanks! I'm not Japanese, I researched to make this
+1yeah as long as it's family friendly
+1Makes a step increase in input
+1AngleOfAttack > TRIGGER_VALUE ? 1 : 0
.
AngleOfAttack<LOW | AngleOfAttack>HIGH ? 1 : 0
Only if you have a formula for it
+1If you can express the airbrake input as a formula, it's easy to convert to FT
I have this method that doesn't need storing data
+1.
Target XYZ world coordinates
Longitude + TargetDistance * sin(TargetHeading)
Altitude + TargetDistance * sin(TargetElevation)
Latitude + TargetDistance * cos(TargetHeading)
.
Target GS (use above FT without the player coordinates components)
sqrt(pow(rate(TargetX),2) + pow(rate(TargetY),2) + pow(rate(TargetZ),2))
.
Also "storing data" is not descriptive enough to get FT help
Look at the TextMeshPro reference, try to find those useful functions that can move text around
+1@Quercon i think there are no more races
+1There is the one on the funny racetrack island
+1@Graingy it's either ww2 dogfight enemy, or i made a mistake and downloaded someone's repaint of the p-51
+1