Announcement

Collapse
No announcement yet.

[OPEN-SOURCE] Machinery Modelling Toolkit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    I love your work BoredEngineer, and I was wondering whether you'd be able to identify a problem I've been having. When attempting to get your plugin working with my own project I get a huge amount of errors, the actual content is fine and the project starts without a hitch but anything involving the plugin doesn't work even though it registers in the plugin settings as installed and recognised. Do you know of any solutions or other info you'd like me to give?

    Comment


      Oh and here's a picture of what's happening, if I didn't explain it too well

      Comment


        Originally posted by Radical_Larry View Post
        Oh and here's a picture of what's happening, if I didn't explain it too well
        I don't see any picture. Can you explain a bit more what exactly you do and when you get errors? -> When you open your project? When you call functions from plugin? When you spawn something?
        Youtube Channel

        Comment


          Great. I've been looking for a machinery modelling software.
          Check out my itch.io page, I'm really excited about it.
          https://kinos141.itch.io/

          Please check out my AI package: Action AI System Feat. Stealth
          https://www.unrealengine.com/marketp...m-feat-stealth
          or get it from itch
          https://kinos141.itch.io/action-ai-system-feat-stealth

          Comment


            Originally posted by BoredEngineer View Post
            I don't see any picture. Can you explain a bit more what exactly you do and when you get errors? -> When you open your project? When you call functions from plugin? When you spawn something?
            Sorry I must have screwed up the post, I got it working; It was related to the way I was importing the example content. For anyone else, import directly to your Content folder, nowhere else!

            Now I'm trying to figure out the terrain deformation based on tracks...

            Comment


              Originally posted by Radical_Larry View Post
              Sorry I must have screwed up the post, I got it working; It was related to the way I was importing the example content. For anyone else, import directly to your Content folder, nowhere else!

              Now I'm trying to figure out the terrain deformation based on tracks...
              Its a bit experimental and disabled right now, but it's pretty straight forward on how to switch it on.
              First some general picture of how it works:
              1) "Light Tanks" have option to spawn track decals, it can be switched on/off on each instance of the tank. These tack decal are not visible on the landscape in the main level (land vehicles) but are rendered on the copy of the landscape placed few hundred meters under the visible landscape. This is done to have a clean mask of white decals against a black landscape
              2) There is an actor in the level called GroudDeformationCapture. On this actor you can set a target reference - another actor and it will follow it around. What this "Capture" does is basically renders decals from the first step into a render target and blurs it. Capture can follow tank you currently control or can follow camera, the point is to capture ground deformation mask only around some point in the world which matters - where you should be able to see ground deformation
              3) Landscape material takes render target from step 2 and uses it to displace tessellated landscape.

              To enable it, first switch on GroundDeformationCapture actor which is already placed in the level (it should have Disable option switched on) then enable Track Decals on the instance of the tank.
              Youtube Channel

              Comment


                Thanks mate, I don't wanna be annoying but would you happen to know what would be causing this issue? https://youtu.be/Ng3c3hZqM7Y

                I don't know what changed to cause that but the only way to stop it at the moment is to significantly increase the tank's weight, which makes it sink through the ground slightly. It occurs also n the unaltered Ripsaw. If you need more info please just ask, I appreciate any help you can offer

                Comment


                  Nevermind, whilst importing a file named "M113_Original" Unreal decided to erase my file named "TigerI" and delete all of my work for the past five weeks because it was still internally M113 after the rename, for some reason. (slow clap)

                  Well thanks for the help anyway, but I don't have the drive to do anything more on this now. RIP ((

                  Comment


                    Originally posted by Radical_Larry View Post
                    Thanks mate, I don't wanna be annoying but would you happen to know what would be causing this issue? https://youtu.be/Ng3c3hZqM7Y

                    I don't know what changed to cause that but the only way to stop it at the moment is to significantly increase the tank's weight, which makes it sink through the ground slightly. It occurs also n the unaltered Ripsaw. If you need more info please just ask, I appreciate any help you can offer
                    It could be that suspension is too strong and have you enabled sub-stepping in the project settings?
                    Youtube Channel

                    Comment


                      Originally posted by Radical_Larry View Post
                      Nevermind, whilst importing a file named "M113_Original" Unreal decided to erase my file named "TigerI" and delete all of my work for the past five weeks because it was still internally M113 after the rename, for some reason. (slow clap)

                      Well thanks for the help anyway, but I don't have the drive to do anything more on this now. RIP ((
                      Sad to hear that. I'm usually using git or Perforce on most of the project to avoid this kind of issues.
                      Youtube Channel

                      Comment


                        Originally posted by BoredEngineer View Post
                        I have a better model in works, which would be more realistic for the full wing simulation. It's suppose to be generic enough to get semi-realistic simulation and be able to simulate anything from soaring airplanes to jet powered flying wing
                        can you talk more about this please , this is definitively a thing i am interested in .

                        Comment


                          Originally posted by issam1975 View Post
                          can you talk more about this please , this is definitively a thing i am interested in .
                          I was looking at more accurate simulation of downwash, aspect ratio of wing and including effect of Mach speed.
                          Accurate downwash is a project on it's own but for simplicity can be made with a simple curve approximation as XPlane does.
                          Regarding aspect ratio - there are couple of places where AR is used in empirical formulas. Right now is only rectangular wing is considered.
                          Mach speed - the same situation as with AR, need to be added here and there in different parts of algorithm.
                          The plan was to add these when airfoil component is moved to c++. Not sure when I'll get back to this.

                          EDIT: Another thing was usability change - right now you need to have separate component for each airfoil, instead arifoils should be packed into a single wing component, with ability to cut each airfoil automatically into more pieces, so you would get more uniform division of the wing.
                          Last edited by BoredEngineer; 05-07-2017, 10:36 AM.
                          Youtube Channel

                          Comment


                            hi,

                            after taking some time to test the project i must say that i am basically lost mainly because i am new to ue4

                            can you make a quick start guide or give a general overview on how the system is setup please :

                            for the moment i am mainly interest in the airplane stuff, so i have looked on the fokker BP (funny name ) , and have some questions

                            - how the physics forces are appliyed to the mesh based on user inputs ?
                            - how to replace the fokker mesh with my own mesh , setup different parts ... etc (i have an airplane mesh with 3 wheels and a propeller)
                            - where in the bp , the initial startup proppeler animation is triggered ?
                            - is it possible to replace the rotating proppeler with another for high speed ?



                            more questions comming for sure XD
                            i will come back to the accurate simulation discussion later on

                            thanks !

                            Comment


                              Originally posted by issam1975 View Post
                              hi,

                              after taking some time to test the project i must say that i am basically lost mainly because i am new to ue4

                              can you make a quick start guide or give a general overview on how the system is setup please :

                              for the moment i am mainly interest in the airplane stuff, so i have looked on the fokker BP (funny name ) , and have some questions

                              - how the physics forces are appliyed to the mesh based on user inputs ?
                              - how to replace the fokker mesh with my own mesh , setup different parts ... etc (i have an airplane mesh with 3 wheels and a propeller)
                              - where in the bp , the initial startup proppeler animation is triggered ?
                              - is it possible to replace the rotating proppeler with another for high speed ?



                              more questions comming for sure XD
                              i will come back to the accurate simulation discussion later on

                              thanks !
                              Airplanes use a collection of airfoil components. Each airfoil component produces forces based on direction and speed of "airflow" around airfoil. In this case "airflow" is just a relative velocity of airfoil to a mass of air. Without any kind of wind it's just a velocity of airfoil itself. Which means that you don't need an engine to glide - spawn Fokker somewhere in the air and it should just fly on it's own as it starts to fall and gain speed from that.

                              User input - steering is merely changing parameters of airfoil (ailerons) or just rotates airfoil (tail), then magic of air drag and lift happens and airplaine is pushed into a specific direction.

                              To assemble your own airplane you need to add airfoil component for each segment of your wing, the more segments you have, the more accurate behavior you should get. There is a minimal number of airfoil components you need to have on the wing - section of wing with aileron need to have a separate airfoil from the rest of segments. If you look at Fokker example, you can see that only top wing is made from more than two airfoils compared to lower wings, because lower wings (middle and bottom) don't have ailerons.
                              There are no wing component so each airfoil need to know about size and aspect ratio of the full wing, you will see variables for that.

                              Propeller animation is linked directly to engine component as far as I remember, need to check code to say for sure.

                              You can completely ditch engine and just do AddForce on the root component, if force is large enough to accelerate vehicle it will eventually start to fly when velocity is large enough.


                              The hardest part is to make your airplane to fly in a stable way - this has more to do with airplane design than just some variables of the airfoils. I recommend using Scott Manley's tutorials on aerodynamic in Kerbal Space Program:
                              https://www.youtube.com/playlist?lis...J1bHIYai1Qqn3U
                              principals are the same, the main difference in case of MMT would be that you can shift center of mass on the root component to get proper weight balance, instead of moving fuel tanks around as you would do in KSP.

                              To get going, start with something simple like a single airfoil wing - basically this would be a spoiler on the car. So add fuselage as a root component, with some adequate collision mesh - doesn't have to be super precise but it shouldn't be just a simple box either. Add single large airfoil for wing and one small airfoil for horizontal stabilizer - this is minimum that is necessary for airplane to be able to fly in a "straight line". I don't remember if I ever got anything useful out of a single wing without horizontal stabilizer.
                              Forgot about how you would control this without any control surface at the start - do like KSP does - add torque to your aircraft from button presses. Torque values in UE4 should be quite large - as UE4 uses cm as base unit conversion from metric to centimeter torque would be 10000.
                              Last edited by BoredEngineer; 05-09-2017, 09:49 AM.
                              Youtube Channel

                              Comment


                                Feature plans and rambling on design

                                For the next iteration of MMT I've prepared this model, inspired by Sd.Kfz.250 half-truck:
                                Click image for larger version

Name:	SDKFZ_250.png
Views:	1
Size:	457.7 KB
ID:	1128403

                                It will need a proper model for tires simulation and some adjustments to general architecture. Have to make both wheels and tracks work at the same time while using very different simulation algorithms.

                                Which brings me to... Over last few days, I was looking into how MMT usability can be simplified and how to make everything more automated while still customizable to every single bit that matters (in my opinion).
                                The naive idea is to make a single "Vehicle Component" where you can setup array of tracks/wheels/ski for a single vehicle. This means that each type of suspension (wheel, track and etc.) should be somehow customizable. I've tried Data Assets, Custom Classes and just combinations of structs for this. Each had it's own downside and none show to be flexible enough to support tracks - wheels and ski are much simpler as they are normally limited to a single set of objects, such as spring/collision/mesh/friction. With tracks, situation is bit more complex as on one side it has to be treated as a single entity but on other it's made out of bunch of mechanical parts.

                                I have two different approaches now in mind. In both approaches there will be some sort of Vehicle Director component who's role is to glue various MMT components inside of the single vehicle, so to minimize amount of BP glue code, that have to be done now.
                                Then in one approach, I can create a single component which will contain all parts necessary for a single track. All suspension blocks (one per road wheels) all friction components, track animation, drive processor and etc. everything will go into a single component. This will be good for performance - as UE4 doesn't like actors with a lot of components. The downside is that it will be much harder to tweak such track design from UI point of view, unless someone makes a full fledged "track editor". My gripe in this design is mostly about setting up suspension. Single stack of it, doesn't split nicely into some Data Asset + some vehicle specific settings, so far, just having array of structs made the most sense. Unfortunately you can't multi-edit elements of array as you can multi-edit components.
                                The second approach is to keep everything as separate components but make them "smarter". For example, friction component won't be derived from scene component anymore, but from actor component - to avoid transform updates. Settings of friction component will be feed from Data Asset and it will intelligently bind itself to a parent, so it can receive proper data about "collisions" and do his own calculations. Suspensions stacks (spring and dampener), will be kept as scene components, so you can move them around freely and multi-edit their properties when necessary. The downside of this approach is that it will be much harder to add a complete track in real-time or copy track from one tank onto another.

                                If anyone has thoughts on this, I would like to hear. So far quite some time was spend on writing code that I had to throw away eventually. Somehow this "infrastructure" code is harder to design than a new simulation model.
                                Youtube Channel

                                Comment

                                Working...
                                X