User Tag List

View Poll Results: How would you price AeroComp if it was your submission? (USD)

Voters
59. You may not vote on this poll
  • 29.99

    31 52.54%
  • 49.99

    16 27.12%
  • 74.99

    5 8.47%
  • 99.99

    3 5.08%
  • 149.99

    4 6.78%
Page 1 of 2 12 LastLast
Results 1 to 40 of 66

Thread: AeroComp - Modular Aerodynamics Simulation Components

  1. #1
    1
    Samaritan

    Join Date
    Aug 2014
    Posts
    102

    Red face AeroComp - Modular Aerodynamics Simulation Components



    ----------------------------
    NOW ON MARKETPLACE
    ----------------------------


    Hey all,
    Above is a reveal video for AeroComp, a set of modular actor components that lets you create wide range of aircraft and other objects that have aerodynamic behavior/traits.
    This is something I have been working on/off for past several months (I remember starting it when 4.7 was fresh out).
    AeroComp is the result of months of research into simulating Aerodynamics in UE4. With the advent of Actor Components it became possible to detach reusable behavior and functionality from Blueprints and encapsulate it in Actor Components. AeroComp is a collection of such Actor Components, each of which enables specific Aerodynamic phenomena simulation using PhysX . While creating these components the emphasis was made to make the components reusable for all scenarios, and as the result of such reusability, the same set of components enables their user to simulate broad range of flying bodies both Fixed-wing (Airplanes) and Rotary-wing(Helicopters). Come to think of it there is quite a lot more you can simulate with these components, be that a hot air balloon, a zeppelin or an arrow. Multiple simulation modes on specific components cater to wide range of uses. For example Linear simulation mode is useful for quickly setting up he component by inputting several values, while Curve simulation mode provides more advanced functionality and a finer grain of control where realism is most needed. Components come bundled with other goodies such as utility function library to calculate several aerodynamic variables and sample curves to use with curve simulation modes.

    TLDR: These component set enables you to create cool flying things by just drag/dropping them and punching in some numbers ))
    Link to a playable demo:


    Thanks to everyone for your feedback and interest.


    Status:
    *[11/30/2015] Submitted to marketplace
    *[12/6/2015] Preparing assets for Epic QA
    *[1/10/2016] Submitted to Epic QA (I know - took me a while )
    *[1/27/2016] Submission passed Epic QA
    *[3/10/2016] Release date set to March 16, 2016
    *[3/16/2016] Released on Marketplace (first buyer rennsix - what have I done to deserve such a supportive person?)
    *[4/1/2016] Update for 4.11 submitted
    *[6/2/2016] Verified 4.12 Compatibility, all good! Notified Epic



    AeroComp Changelog
    * [4/1/2015][Done] Submitted updated files for 4.11: no changes to components, minor change to demo asset material. 4.11 introduced a bug with springArm, you can read about it in post-realease notes.[UE-28753]
    * [4/5/2015][Done] 4.11 update live on Marketplace
    * [6/3/2016][Done] 4.12 version live on Marketplace



    Demo changelog and special thanks:
    * [11/30/2015][Done] inverted elevator visuals for correct behavior. Special thanks: arbopa and mookiexl
    * [11/30/2015][Done] Adding gamepad inputs.[LTrigger/RTrigger for Throttle, Left Thumbstick for pitch and roll. I apologize beforehand if they dont work as intended, unfortunately I do not own a gamepad and was unable to test. Post if it doesn't behave as it should and/or request more bindings, I'll be happy to add] Special thanks: mookiexl and rennsix
    * [12/2/2015][Done] Increased pitch and roll sensitivity for planes. Increased engine power a bit. Special thanks: TooManyfps
    * [12/3/2015][Done] Fixed physics setup in project, this caused aircraft controls to vary with FPS. Special thanks: Mookiexl, BoredEngineer, rennsix and anyone who commented on controls being a bit stiff
    * [12/3/2015][Done] Black Hawk's stabilization now also does an "altitude hold", should make the Black Hawk easier to fly. Toggle it off (G key) if you want a challenge. Special thanks: rennsix
    * [12/3/2015][Done] Additional gamepad inputs.[Right ThumbStick X-axis for yaw(planes)/roll(heli), and Y-axis for throttle. I apologize beforehand if they dont work as intended, unfortunately I do not own a gamepad and was unable to test. Post if it doesn't behave as it should and/or request more bindings, I'll be happy to add] Special thanks: rennsix
    * [12/6/2015][Done] Tweaked jet control sensitivity (was too much). Inverted Right thumbstick Y axis Throttle control. Up for more, down for less.
    * [4/1/2016][WIP] Parachute being added to demo. Will be transfered to marketplace content once matured. Special thanks: Brian Lancaster for inquiry



    ATTENTION BUYERS(POST-RELEASE NOTES):
    1. While I have submitted DefaultInput.ini file that was supposed to be located in Config folder, the Aerocomp does not include it when you download it though marketplace. The reason for this is that Aerocomp (like many other assets on Marketplace) is supposed to be an addition to your project, not a standalone project by itself. Therefore in order to NOT override your DefaultInput.ini config file (that you could have spent considerable amount of time configuring), the project does not include it at download time. The downside to that is that you don't have some controls mapped on example aircraft. Solution: A)copy below code to your DefaultInput.ini config file OR B)rename/modify/replace the input events/names in example aircraft to your liking to be able to test-fly included example aircraft.

      Code:
      [/Script/Engine.InputSettings]
      -AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      -AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      -AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      -AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      -AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
      -AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
      +AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
      bAltEnterTogglesFullscreen=True
      bUseMouseForTouch=False
      bEnableMouseSmoothing=True
      bEnableFOVScaling=True
      FOVScale=0.011110
      DoubleClickTime=0.200000
      -ActionMappings=(ActionName="Camera toggle",Key=C,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Camera toggle",Key=Gamepad_DPad_Up,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Camera toggle",Key=Gamepad_DPad_Down,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Camera toggle",Key=Gamepad_FaceButton_Top,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Restart",Key=R,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Restart",Key=Gamepad_FaceButton_Right,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Camera toggle",Key=Gamepad_Special_Left,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Fire",Key=LeftMouseButton,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Jump",Key=SpaceBar,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="ControlPawn",Key=F,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="SpawnActor",Key=Enter,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -ActionMappings=(ActionName="Crouch",Key=LeftControl,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Jump",Key=SpaceBar,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Jump",Key=Gamepad_FaceButton_Bottom,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Fire",Key=LeftMouseButton,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Fire",Key=Gamepad_RightTrigger,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Camera toggle",Key=C,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="ControlPawn",Key=F,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="Crouch",Key=C,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      +ActionMappings=(ActionName="gear/stab",Key=G,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
      -AxisMappings=(AxisName="MoveForward",Key=W,Scale=1.000000)
      -AxisMappings=(AxisName="MoveForward",Key=S,Scale=-1.000000)
      -AxisMappings=(AxisName="MoveForward",Key=Up,Scale=1.000000)
      -AxisMappings=(AxisName="MoveForward",Key=Down,Scale=-1.000000)
      -AxisMappings=(AxisName="MoveRight",Key=A,Scale=-1.000000)
      -AxisMappings=(AxisName="MoveRight",Key=D,Scale=1.000000)
      -AxisMappings=(AxisName="MoveRight",Key=Gamepad_LeftX,Scale=1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=Gamepad_LeftThumbstick,Scale=1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=Gamepad_RightThumbstick,Scale=-1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=Gamepad_FaceButton_Bottom,Scale=1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=LeftControl,Scale=-1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=SpaceBar,Scale=1.000000)
      -AxisMappings=(AxisName="MoveUp",Key=C,Scale=-1.000000)
      -AxisMappings=(AxisName="Turn",Key=MouseX,Scale=1.000000)
      -AxisMappings=(AxisName="Turn",Key=Left,Scale=-1.000000)
      -AxisMappings=(AxisName="Turn",Key=Right,Scale=1.000000)
      -AxisMappings=(AxisName="LookUp",Key=Gamepad_RightY,Scale=1.000000)
      -AxisMappings=(AxisName="LookUp",Key=MouseY,Scale=-1.000000)
      -AxisMappings=(AxisName="YawRight",Key=E,Scale=1.000000)
      -AxisMappings=(AxisName="YawRight",Key=Q,Scale=-1.000000)
      +AxisMappings=(AxisName="MoveForward",Key=W,Scale=1.000000)
      +AxisMappings=(AxisName="MoveForward",Key=S,Scale=-1.000000)
      +AxisMappings=(AxisName="MoveForward",Key=Up,Scale=1.000000)
      +AxisMappings=(AxisName="MoveForward",Key=Down,Scale=-1.000000)
      +AxisMappings=(AxisName="MoveForward",Key=Gamepad_LeftY,Scale=1.000000)
      +AxisMappings=(AxisName="MoveRight",Key=A,Scale=-1.000000)
      +AxisMappings=(AxisName="MoveRight",Key=D,Scale=1.000000)
      +AxisMappings=(AxisName="MoveRight",Key=Gamepad_LeftX,Scale=1.000000)
      +AxisMappings=(AxisName="TurnRate",Key=Gamepad_RightX,Scale=1.000000)
      +AxisMappings=(AxisName="TurnRate",Key=Left,Scale=-1.000000)
      +AxisMappings=(AxisName="TurnRate",Key=Right,Scale=1.000000)
      +AxisMappings=(AxisName="Turn",Key=MouseX,Scale=1.000000)
      +AxisMappings=(AxisName="LookUpRate",Key=Gamepad_RightY,Scale=1.000000)
      +AxisMappings=(AxisName="LookUp",Key=MouseY,Scale=-1.000000)
      +AxisMappings=(AxisName="YawRight",Key=E,Scale=1.000000)
      +AxisMappings=(AxisName="YawRight",Key=Q,Scale=-1.000000)
      +AxisMappings=(AxisName="Throttle",Key=LeftShift,Scale=1.000000)
      +AxisMappings=(AxisName="Throttle",Key=LeftControl,Scale=-1.000000)
      +AxisMappings=(AxisName="Throttle",Key=Gamepad_LeftTrigger,Scale=-1.000000)
      +AxisMappings=(AxisName="Throttle",Key=Gamepad_RightTrigger,Scale=1.000000)
      +AxisMappings=(AxisName="YawRight",Key=Gamepad_RightX,Scale=1.000000)
      +AxisMappings=(AxisName="Throttle",Key=Gamepad_RightY,Scale=-1.000000)
      bAlwaysShowTouchInterface=False
      bShowConsoleOnFourFingerTap=True
      DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
      ConsoleKey=None
      -ConsoleKeys=Tilde
      +ConsoleKeys=Tilde
    2. Based on the logic above, your download probably does not contain DefaultEngine.ini config file either. The only relevant section of that ini is Engine.PhysicsSettings section. Aerocomp is using built in physics system. This system may get impacted by variable FPS. In order to make results replicate on various FPS the project should have physics sub-step enabled. You may choose to do that on your own terms OR copy below code and replace relevant section in your own DefaultEngine.ini
      Code:
      [/Script/Engine.PhysicsSettings]
      DefaultGravityZ=-980.000000
      DefaultTerminalVelocity=4000.000000
      DefaultFluidFriction=0.300000
      RagdollAggregateThreshold=4
      TriangleMeshTriangleMinAreaThreshold=5.000000
      bEnableAsyncScene=False
      bEnable2DPhysics=False
      LockedAxis=None
      FrictionCombineMode=Average
      MaxDepenetrationVelocity=0.000000
      bSimulateSkeletalMeshOnDedicatedServer=True
      MaxPhysicsDeltaTime=0.200000
      bSubstepping=True
      bSubsteppingAsync=False
      MaxSubstepDeltaTime=0.001600
      MaxSubsteps=12
      SyncSceneSmoothingFactor=0.330000
      AsyncSceneSmoothingFactor=0.990000
      InitialAverageFrameRate=0.030000
    3. DefaultInput and DefaultEngine ini files can now be found in 4.11 compatible version under ConfigINI folder
    4. There is a bug with SpringArm that I reported on AnswerHub and this thread. See either for details. I decided to leave the the SpringArm in, hoping that the bug will be fixed soon. (EDIT: SHOULD BE FIXED NOW)

  2. #2
    0
    Extremely impressive stuff Irakli!! Count me as supremely interested

  3. #3
    0
    Sounds cool! I see that you have drag and lift as separate components. Which model are you using? How would you simulate hot air balloon using them?

  4. #4
    0
    Wow, that's really cool! As an aside, I love the trailer music, what track it that?
    Trevor Lee
    State Machine Studio
    @StateMachines

  5. #5
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by BTLRoach View Post
    Extremely impressive stuff Irakli!! Count me as supremely interested
    Thanks, it really means a lot!

    Quote Originally Posted by BoredEngineer View Post
    Sounds cool! I see that you have drag and lift as separate components. Which model are you using? How would you simulate hot air balloon using them?
    Lift component has an editable input/variable called Constant Lift. This is specifically for cases such as a hot air balloon or zeppelin. There is also a boolean variable called isLiftLocalSpace, this governs whether the lift should be applied in objects local space (for aircraft wing for example) or in global space (such as hot air balloon that does not care about object's local space and always pulls "up"). The lift vector is also configurable.
    As for drag, it lets you configure how drag is generated based on velocity and AOA. Obviously hot air balloon's main drag would be coming from Form drag, which is a separate portion in the component. So you'd put AOA drag to None or Linear and give it a very small value, and put Form drag to Linear or Curve and give it a larger one.

    Quote Originally Posted by Hyperloop View Post
    Wow, that's really cool! As an aside, I love the trailer music, what track it that?
    Thanks for you feedback! The music in trailer is Audiomachine - Breath and Life.

  6. #6
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Shoutout to mookiexl's project https://forums.unrealengine.com/showthread.php?91716-realistic-flight-physics-function-library-anyone-interested
    Great guy, enjoyed talking to him. We are currently exploring an effort to make our projects compliment each other in terms of filling a specific niche

  7. #7
    0
    Banned
    Join Date
    Aug 2015
    Posts
    28
    Do you have something to prove that it is a realistic flight behavior? Something that demonstrates the physics nicely?
    All I just saw was a video suggesting that god just created a new world
    And a plane gliding as straight as it gets, which could be powered by the simpliest fake flight model under the hood.

  8. #8
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by TooManyfps View Post
    Do you have something to prove that it is a realistic flight behavior? Something that demonstrates the physics nicely?
    All I just saw was a video suggesting that god just created a new world
    And a plane gliding as straight as it gets, which could be powered by the simpliest fake flight model under the hood.
    I have provided a download link for the demo, you can fly the same exact aircraft and see how it works yourself.
    Props for suggesting someone would create "the simpliest fake flight model " and try to sneak it past Epic

    Edit: I will make the download link stand out a bit more

  9. #9

  10. #10
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by arbopa View Post
    elevator movement on jet is backwards.
    Thanks, I'll fix that right away

  11. #11
    0
    Banned
    Join Date
    Aug 2015
    Posts
    28
    Haha, no you got that the wrong way...no sneaking past anyone.
    I just dl'ed and tried, but got this error with the prerequisites.
    https://forums.unrealengine.com/showthread.php?92975-Install-Prerequisites-Error&p=429043#post429043

  12. #12
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by TooManyfps View Post
    Haha, no you got that the wrong way...no sneaking past anyone.
    I just dl'ed and tried, but got this error with the prerequisites.
    https://forums.unrealengine.com/showthread.php?92975-Install-Prerequisites-Error&p=429043#post429043
    I was just kidding about it

    Thanks for that error report, the prerequisites are supposed to be bundled with the compiled project and install if needed. I guess some of them are not compatible with win8? Epic can definitely use that report to fix it.

  13. #13
    0
    If this comes with a hang glider example it'll be a must buy for me!
    Storyteller - An immersive VR audiobook player

    Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

  14. #14
    0
    Nice! Can't wait to see this in the marketplace so I can make my 'fake' aircraft 'real'

  15. #15
    0
    Love it. I attempted something like this a while back but never got it working quite right. Will definitely buy as soon as its available.

  16. #16
    0
    Quote Originally Posted by Irakli View Post
    Lift component has an editable input/variable called Constant Lift. This is specifically for cases such as a hot air balloon or zeppelin. There is also a boolean variable called isLiftLocalSpace, this governs whether the lift should be applied in objects local space (for aircraft wing for example) or in global space (such as hot air balloon that does not care about object's local space and always pulls "up"). The lift vector is also configurable.
    As for drag, it lets you configure how drag is generated based on velocity and AOA. Obviously hot air balloon's main drag would be coming from Form drag, which is a separate portion in the component. So you'd put AOA drag to None or Linear and give it a very small value, and put Form drag to Linear or Curve and give it a larger one.
    This sounds strange. The "lift" for hot-air-baloon comes from buoyancy. What you are saying sounds more like a constant AddForce() with up vector of arbitrary magnitude.
    Can you provide more details on which math models are use using for simulating Aerodynamics?

  17. #17
    0
    Tried demo on my laptop, with very bad fps. Not sure if it suppose to work like it worked - it took a lot of time to accelerate. Somewhere in the middle of the lake it finally took off. What looks weird is that changing pitch is so much easier for this plane than doing banks, which doesn't seam to be right. Are you elevators much bigger than ailerons?

  18. #18
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by BoredEngineer View Post
    This sounds strange. The "lift" for hot-air-baloon comes from buoyancy. What you are saying sounds more like a constant AddForce() with up vector of arbitrary magnitude.
    Can you provide more details on which math models are use using for simulating Aerodynamics?
    I see where you are coming from but it seems to me this leads to overcomplicating things, e.g.: yes "The "lift" for hot-air-balloon comes from buoyancy" but buoyancy itself comes from molecule interactions of materials with different densities and you wouldn't go about simulating that, right? What I am trying to say is that the set of components tries to simulate the result, not the cause of specific phenomena.
    Here's a little context on the design of the components:
    Initially I started implementing for a hardcore simulation, I wanted to calculate the lift out of its physical formula of L = .5 * Cl * r * V^2 * A and drag from D = Cd * A * .5 * r * V^2 but what about the usability? How many people would actually need a model that requires them to plug in things like air density and the area of the wing? If someone decided to make an ultra-hardcore aircraft sim in UE4 I am sure they'd do it without these components (probably using http://jsbsim.sourceforge.net/). What about people that just want to add a flying aircraft to their game and decide how arcade or hardcore it feels, how about someone that is not planning to make his/her model climb and descend 30 000 feet? I thought THAT is the target audience.
    So I decided to approach this from another angle. Most of components let you use them in 2 ways. For example, the lift component has Linear and Curve modes. If you just want to create a simple aircraft for your game where flight realism is not the key feature, you just:
    1. drag that component over to your BP
    2. reference whole physx simulating mesh to the component in construction script
    3. Set the lift mode to linear
    4. punch in min and max lift value and velocities/aoa where these values occur
    5. Play test and adjust multipliers as needed.

    Now what about those that want to approach a bit more realistically (still not ultra hardcore). What if I want an aircraft where each wing lift is calculated independent and if the wing breaks it starts to roll? Or how about if you want it to lose lift at higher altitude due to lower air density? Well there is a solution for that too:
    1. Assamble your aircraft in BP from various parts
    2. Associate 1 x lift component per airfoil part
    3. Set the input mode to curve for each part
    4. Create/set the curves to each part
    5. Decide how much impact @ specific altitude will each part have on its performance
    6. Adjust lift multipliers from BP at altitude change
    7. Playtest and adjust multipliers if needed

    And voila, if you break the wing, the other one will produce more lift and make you roll. If you want the lift to be halved in 100 meters altitude due to scale of your game you can half the multiplier for each component from BP @ 100 meters. E.g. it is meant to be modular and available to a wider range users (after all, the whole point of UE4 itself was to be accessible to people of all skill ranges).

    EDIT: I want to thank you for that question, it brings up some good talking points, I myself am the type of person that likes things simulated as close as possible to their IRL counterparts, but I had to compromise that for better usability. (I may still add a scientific model for ultra hardcore later, if there will be at least moderate interest in that)

    Quote Originally Posted by BoredEngineer View Post
    Tried demo on my laptop, with very bad fps.
    Sorry about that, I havent tested the demo on a laptop/lower end machine.

    Quote Originally Posted by BoredEngineer View Post
    Not sure if it suppose to work like it worked - it took a lot of time to accelerate. Somewhere in the middle of the lake it finally took off. What looks weird is that changing pitch is so much easier for this plane than doing banks, which doesn't seam to be right. Are you elevators much bigger than ailerons?
    It very easy to change those, what do you recommend? Less pitch sensitivity and more roll? Or just more roll? Also I can increase engine power? Should I?
    Last edited by Irakli; 12-02-2015 at 09:06 AM.

  19. #19
    0
    Quote Originally Posted by Irakli View Post
    I see where you are coming from but it seems to me this leads to overcomplicating things, e.g.: yes "The "lift" for hot-air-balloon comes from buoyancy" but buoyancy itself comes from molecule interactions of materials with different densities and you wouldn't go about simulating that, right? What I am trying to say is that the set of components tries to simulate the result, not the cause of specific phenomena.
    Here's a little context on the design of the components:
    Initially I started implementing for a hardcore simulation, I wanted to calculate the lift out of its physical formula of L = .5 * Cl * r * V^2 * A and drag from D = Cd * A * .5 * r * V^2 but what about the usability? How many people would actually need a model that requires them to plug in things like air density and the area of the wing? If someone decided to make an ultra-hardcore aircraft sim in UE4 I am sure they'd do it without these components. What about people that just want to add a flying aircraft to their game and decide how arcade or hardcore it feels, how about someone that is not planning to make his model climb and descend 30 000 feet? I thought THAT is the target audience.
    So I decided to approach this from another angle. Most of components let you use them in 2 ways. For example, the lift component has Linear and Curve modes. If you just want to create a simple aircraft for your game where flight realism is not the key feature, you just:
    1. drag that component over to your BP
    2. reference whole physx simulating mesh to the component in construction script
    3. Set the lift mode to linear
    4. punch in min and max lift value and velocities/aoa where these values occur
    5. Play test and adjust multipliers as needed.

    Now what about those that want to approach a bit more realistically (still not ultra hardcore). What if I want an aircraft where each wing lift is calculated independent and if the wing breaks it starts to roll? Or how about if you want it to lose lift at higher altitude due to lower air density? Well there is a solution for that too:
    1. Assamble your aircraft in BP from various parts
    2. Associate 1 x lift component per airfoil part
    3. Set the input mode to curve for each part
    4. Create/set the curves to each part
    5. Decide how much impact @ specific altitude will each part have on its performance
    6. Adjust lift multipliers from BP at altitude change
    7. Playtest and adjust multipliers if needed

    And voila, if you break the wing, the other one will produce more lift and make you roll. If you want the lift to be halved in 100 meters altitude due to scale of your game you can half the multiplier for each component from BP @ 100 meters. E.g. it is meant to be modular and available to a wider range users (after all, the whole point of UE4 itself was to be accessible to people of all skill ranges).

    EDIT: I want to thank you for that question, it brings up some good talking points, I myself am the type of person that likes things simulated as close as possible to their IRL counterparts, but I had to compromise that for better usability. (I may still add a scientific model for ultra hardcore later, if there will be at least moderate interest in that)
    Thank you for explanation!
    The reason why I'm asking is to understand if this would work for my specific case. The other reason is to understand what I'm potentially paying money for. Hardcore/arcade is a very vague terms.

  20. #20
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by BoredEngineer View Post
    Thank you for explanation!
    The reason why I'm asking is to understand if this would work for my specific case. The other reason is to understand what I'm potentially paying money for,
    Absolutely! I can't thank you enough for asking them, explaining lets me do a better introspective into my approach and potentially enhance it(as well as put set correct expectations for anyone who might be interested). May I ask that your purpose/case is? I'd be happy to collaborate or exchange some ideas.
    Quote Originally Posted by BoredEngineer View Post
    Hardcore/arcade is a very vague terms.
    Agreed, I used them for the lack of better synonyms
    Last edited by Irakli; 12-02-2015 at 09:30 AM.

  21. #21
    0
    Quote Originally Posted by Irakli View Post
    Absolutely! I can't thank you enough for asking them, explaining lets me do a better introspective into my approach and potentially enhance it(as well as put set correct expectations for anyone who might be interested). May I ask that your purpose/case is? I'd be happy to collaborate or exchange some ideas.

    Agreed, I used them for the lack of better synonyms
    I have a fully functional blueprint based airfoil simulation, similar to Moookiexl's "full model" but without some of his features. For my use case, configuration of the airplane is not predefined and not limited to monoplains, neither it happens in earth's athmosphere, so having semi-realistic lift/drag/pitching moment profiles is important, as much as variable air density and air speed (wind). I'm working on this in my spare time, so if I can purchase something that can be used as a solid base - that would be a big time saver.

  22. #22
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by BoredEngineer View Post
    I have a fully functional blueprint based airfoil simulation, similar to Moookiexl's "full model" but without some of his features. For my use case, configuration of the airplane is not predefined and not limited to monoplains, neither it happens in earth's athmosphere, so having semi-realistic lift/drag/pitching moment profiles is important, as much as variable air density and air speed (wind). I'm working on this in my spare time, so if I can purchase something that can be used as a solid base - that would be a big time saver.
    I see, sounds very interesting. Have you taken a look at http://jsbsim.sourceforge.net/ to figure out maybe you can adapt that code base to your needs? Its open source and the download includes full Visual Studio project

  23. #23
    0
    I tried the demo on a higher end PC and it ran 62fps at 16ms. My feedback so far is to please include more game controller support.

    For example:
    Throttle Up/Down should be Left/Right Triggers
    Yaw could be Right Stick Left/Right
    Pitch and Roll are good as is with Left stick.

    Feedback:
    IMHO the jet flies the best. I do like how on the german aircraft it get's on 'plane' when up to speed. I experimented with a tail dragger model myself but could never 'fake' it to do that. lol. I had the hardest time flying the helicopter. Now I know these are pretty difficult in real life to fly but it was nearly impossible to fly with a controller (at this stage) or even keyboard.

    Question:
    For my use case, what could you do for Flaps? I've got a decent 'cessna' like aircraft modeled that I would like to introduce drag to when the flaps go down and decrease drag when retracted. Is something included for that? I'm also going for realistic over arcade.

    Thanks!

  24. #24
    0
    Quote Originally Posted by Irakli View Post
    I see, sounds very interesting. Have you taken a look at http://jsbsim.sourceforge.net/ to figure out maybe you can adapt that code base to your needs? Its open source and the download includes full Visual Studio project
    That's a pretty beefy middleware which would be pain in the ... to integrate in parallel with PhysX, even without interactions between them. When this is released: https://www.vicogamestudio.com/projects/vico-dynamics I could look at how such integration can be done.

  25. #25
    0
    Banned
    Join Date
    Aug 2015
    Posts
    28
    Managed to get it running on another computer. Strange. Same setup. Maybe some firewall kicking in.
    Anyway, the movement in the demo is quite limited and even though I am convinced there is a really good simulation running under the hood, for this kind of movement a simplified model would suffice.

    How about more extensive movement like this to demonstrate the physics. In such a scenario the difference between a fully fledged simulation model and any simplified model would be better noticable.
    http://www.eurogamer.net/articles/2015-08-05-the-people-behind-project-cars-are-making-a-red-bull-air-race-game

  26. #26
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by rennsix View Post
    I tried the demo on a higher end PC and it ran 62fps at 16ms. My feedback so far is to please include more game controller support.

    For example:
    Throttle Up/Down should be Left/Right Triggers
    Yaw could be Right Stick Left/Right
    Pitch and Roll are good as is with Left stick.
    Working on that, other requested that for a demo as well.
    Quote Originally Posted by rennsix View Post
    Feedback:
    IMHO the jet flies the best. I do like how on the german aircraft it get's on 'plane' when up to speed. I experimented with a tail dragger model myself but could never 'fake' it to do that. lol. I had the hardest time flying the helicopter. Now I know these are pretty difficult in real life to fly but it was nearly impossible to fly with a controller (at this stage) or even keyboard.
    It's probably my fault in terms of configuring how each aircraft should fly. I appreciate any feedback in terms of making them better in demonstrating the work of each component. Pressing G on helicopter toggle "stabilization" which tries to return pitch and roll to 0, did you try to fly it in that mode? How about without it? I admit its a little hard to fly but I didn't want to make it like GTA where it just hovers in one place if you dont touch it, managing throttle correctly is important for helicopters. having said that its not hard to add that as an option. Definitely huge thanks for feedback.
    Quote Originally Posted by rennsix View Post
    Question:
    For my use case, what could you do for Flaps? I've got a decent 'cessna' like aircraft modeled that I would like to introduce drag to when the flaps go down and decrease drag when retracted. Is something included for that? I'm also going for realistic over arcade.

    Thanks!
    I though about adding flap positions to the jet, I might as well do that. As for your question: the drag component would work pretty nicely there. Here's how I would approach it:
    If you want to use additional drag for flaps only:
    1. Add drag component to your BP
    2. Drag provides separate configuration to decide what contributes more/less to it, AOA or velocity.
    Now depending on whether you want the drag to be calculated from the actual flap deflection amount or an arbitrary state where you decide how much more or less drag should be applied you can either:
    3A. Enable drag change on AOA: utilize either a linear mode for simplicity of a curve mode for maximum control and decide how much drag is applied based on the flap deflection and the aircraft speed.
    3B. Not use AOA drag (disable it) and set only the velocity based drag option. Then you set up a step in your BP to change the drag component's general multiplier based on your flap setting. Lets say you let your users set Flap position 1, Flap position 2 and Full flaps. So if you want drag to be X in pos1, 1.1X in pos2 and 1.5X in Full flaps you change change the drag component's multiplier accordingly whenever the user changes the flap position. Hopefully I did not confuse you on this

    Quote Originally Posted by TooManyfps View Post
    Managed to get it running on another computer. Strange. Same setup. Maybe some firewall kicking in.
    Anyway, the movement in the demo is quite limited and even though I am convinced there is a really good simulation running under the hood, for this kind of movement a simplified model would suffice.

    How about more extensive movement like this to demonstrate the physics. In such a scenario the difference between a fully fledged simulation model and any simplified model would be better noticable.
    http://www.eurogamer.net/articles/2015-08-05-the-people-behind-project-cars-are-making-a-red-bull-air-race-game
    I am sorry, I may have missed the point, what could I add in terms of the movement?
    When playtesting I would usually do steep climbs, sharp turns and use low throttle to do high alpha passes on the brink of stalling (and occasionally stall to see how it behaves). Anything else in terms of movement? I've had some feedback in regards to improving the pitch/roll sensitivity, is that something you meant?
    I probably configured most of these aircraft to fly like airliners I can make them faster/more sensitive if it helps demonstrate the component behavior better.
    As always thanks a LOT to everyone for feedback, suggestions and questions
    Last edited by Irakli; 12-02-2015 at 12:05 PM.

  27. #27
    0
    Banned
    Join Date
    Aug 2015
    Posts
    28
    Faster, more reactive flying. The Airrace flying for example. Like stunt flying. In the demo things move quite slow, so I have difficulties seeing if there is model that is simplified or fully fledged. At the speed the turns are made etc., simplified models would suffice. If it is physics based and how it moves', then move it. Or in other words, let it rock! Barrel roll, sharp and fast left turn, crash into mountain at high speed... more dynamic stuff to show of the physics.

  28. #28
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by TooManyfps View Post
    Faster, more reactive flying. The Airrace flying for example. Like stunt flying. In the demo things move quite slow, so I have difficulties seeing if there is model that is simplified or fully fledged. At the speed the turns are made etc., simplified models would suffice. If it is physics based and how it moves', then move it. Or in other words, let it rock! Barrel roll, sharp and fast left turn, crash into mountain at high speed... more dynamic stuff to show of the physics.
    Point taken! I've updated the jet with better pitch/roll sensitivity and gave it more engine power, should let you do more extreme things and faster!

    Please keep an eye on AOA indicator as there is a steep drop (stall) in 14-20 degree AOA range in terms of produced lift and elevator effectiveness. (e.g if you bank and do a sharp turn keeping AOA at 10-12 degrees will give you better results then just holding it down all the way and flatting out above 20 degrees where it will stall and produce much less lift and pitch momentum.)

    I've also added some more gamepad inputs:

    *Left stick should now give you pitch and roll
    *Left trigger and right trigger for throttle control

    Please let me know if more mapping are needed.
    Demo zip has been updated
    Changes added to changelog (first post - bottom).
    Last edited by Irakli; 12-02-2015 at 02:50 PM.

  29. #29
    0
    I tried the latest build. Thanks for adding throttle to gamepad triggers. It makes it more enjoyable for those controller people However, would like to still see Yaw coming from Right Thumbstick X axis for demo.

    I flew the helicopter again but it just didn't do much for me. Oh well.

    As for flaps, I think adding them to this package to demonstrate those capabilities is important. Of course I really want that feature included but I also think anyone looking to pay for realistic flight dynamics will want that. I vote to enable drag change on AOA with a curve!

    Regardless, looking forward to the release. Any chance of early release via sellfy?

  30. #30
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by rennsix View Post
    I tried the latest build. Thanks for adding throttle to gamepad triggers. It makes it more enjoyable for those controller people
    Thanks for feedback!
    Quote Originally Posted by rennsix View Post
    However, would like to still see Yaw coming from Right Thumbstick X axis for demo.
    Adding that right now
    Quote Originally Posted by rennsix View Post
    I flew the helicopter again but it just didn't do much for me. Oh well.
    I'm going to pm you in a sec, maybe you can give me some pointers for improving it
    Quote Originally Posted by rennsix View Post
    As for flaps, I think adding them to this package to demonstrate those capabilities is important. Of course I really want that feature included but I also think anyone looking to pay for realistic flight dynamics will want that. I vote to enable drag change on AOA with a curve!
    I will look into adding that
    Quote Originally Posted by rennsix View Post
    Regardless, looking forward to the release. Any chance of early release via sellfy?
    I'd abstain from that for a couple of reasons:
    1. Still polishing out some things (Annotating and visually organizing BPs)
    2. I am planning to encapsulate control surfaces into a separate component (right now controls are done through individual aircraft BP)
    3. Currently putting together a manual explaining functionality and design approach for each component, this should be included in the distribution and is not ready yet
    4. I am also planning to add more potentially useful components in the future and would like to make sure everyone gets future versions, this is better suited for marketplace distribution rather then managing a separate list of third party buyers.
    5.Epic will probably do compatibility/quality review and outline things that might be an issue and I don't want to distribute until that point in time
    Overall I am trying to be end-user oriented as much as possible, I want to create something that solves problems, not creates them or confuses people. But I am definitely thankful for your interest.
    Last edited by Irakli; 12-02-2015 at 05:13 PM.

  31. #31
    0
    I'm just excited to add it to my VR flight project, that's all. I do vote for Marketplace and updates for sure. I'll continue to follow the thread. Thanks!

  32. #32
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Latest build is up. Changelog for this build (also added to the bottom of first post):
    * [12/3/2015][Done] Fixed physics setup in project, this caused aircraft controls to vary with FPS. Special thanks: Mookiexl, BoredEngineer, rennsix and anyone who commented on controls being a bit stiff
    * [12/3/2015][Done] Black Hawk's stabilization now also does an "altitude hold", should make the Black Hawk easier to fly. Toggle it off (G key) if you want a challenge. Special thanks: rennsix
    * [12/3/2015][Done] Additional gamepad inputs.[Right ThumbStick X-axis for yaw(planes)/roll(heli), and Y-axis for throttle. I apologize beforehand if they dont work as intended, unfortunately I do not own a gamepad and was unable to test. Post if it doesn't behave as it should and/or request more bindings, I'll be happy to add] Special thanks: rennsix

  33. #33
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Assets are currently being prepared for Epic QA. Please cast your vote in terms of pricing, (poll added on top). Thanks everyone for your feedback and support

    EDIT: I will be moving the 3 aircraft to a blank flat map. This will help reduce the download size, increase FPS for slower machines and de-clutter file structure. The point of submission are components themselves, aircraft are there to illustrate their usage (+ hopefully assist you in solving a couple of problems, such as helicopter propeller setup and etc). Compiled demo will stay up as a more comfortable environment to just play around and get the feel/ideas for using components.

  34. #34
    0
    Have you gotten a release date yet for Marketplace?

  35. #35
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by rennsix View Post
    Have you gotten a release date yet for Marketplace?
    Hey rennsix, thanks a lot for chiming in. Your ping/bump actually motivated me to finish off the documentation for AeroComp and finally submit it to Epic QA. So first of all, thanks!
    Second - sorry, I've had my primary job and holidays interfere with working on AeroComp. But rest assured it is now in Epic QA team's hands and I will keep updating this thread as things progress (hopefully with an ETA date in the near future).

    Anyways I hope you and everyone else in the community had some great winter holidays!

  36. #36
    0
    Very cool! Yes, I understand not everyone can wake up and crank on UE4 as their primary job

    Looking forward to AeroComp

  37. #37
    0
    Can't wait for this! Good work!

  38. #38

  39. #39
    0
    Has Epic given you a release date yet?

  40. #40
    0
    Samaritan

    Join Date
    Aug 2014
    Posts
    102
    Quote Originally Posted by rennsix View Post
    Has Epic given you a release date yet?
    Last message from Epic on Feb 15 saying
    Hello!

    I'm happy to say that we have accepted your pack and it's set to go out on our marketplace! In the meantime please take this time to go over your files and descriptions and make sure to contact us with any changes you wish to make before your release.
    I've asked when the release date is but no reply so far. Hopefully one of next marketplace release cycles

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •