1. Thread posting restricted: Only the BeamNG team members can post new threads in this sub-forum in order to prevent spam. Posting is available on unlocked threads.

Ingame vehicle Viewer/Editor: Comments please / propose features :)

Discussion in 'Microblogs' started by tdev, May 24, 2019.

  1. tdev

    tdev
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 3, 2012
    Messages:
    3,031
    Hi everyone, we recently used the awesome capabilities of imgui to produce a crude vehicle skeleton ingame. Simple example of how it looks like:




    What do you want for a vehicle inspector/editor, what's on your wishlist for it? :)

    Ideas/comments please :)
     
    #1 tdev, May 24, 2019
    Last edited: May 24, 2019
    • Like Like x 74
    • Informative Informative x 1
  2. aljowen

    aljowen
    Expand Collapse

    Joined:
    Oct 21, 2012
    Messages:
    1,677
    The above looks more like a visualiser than an editor, so I will follow on from that basis.

    Data Logging could be nice.
    • For example, with the suspension geometry, being able to see how the Camber and Toe change over time, perhaps along side steering angle and G-Forces would be useful.
    • Equally, being able to see a graph of suspension movement (Essentially Beam Length of the strut) would be nice. Especially if it was able to provide a cumulative frequency of how frequently each section of the travel was being used, so its easy to see if its too soft or hard. If that graph can also show how much weight the tyre is supporting, that would be really useful for suspension tuning.
    • Same goes for crash tuning. Perhaps a datalog of G-Forces on the reference node could be useful for optimising crash structures to reduce G-forces.


    Currently all of the above is done basically by eye. So an effective and fast way of doing it could speed development up a lot.




    As for actual node/beam editing, a tool for nudging nodes could be nice for quick changes. But I don't really care for that side of it much. Since it would mangle files if any big changes were made. So for me I just want it to be non-destructive. If a node position has been changed, that should be the only part of the file that changes.
     
    • Agree Agree x 11
    • Like Like x 5
  3. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    Move nodes XYZ same way it is possible now with static objects in world editor, also numeric input for each.

    Editing symmetry XYZ individual toggle on/off.

    Scale selected group of nodes, like vertices can be scaled in Blender.

    Set node weights for nodes, perhaps possibility to autocalc required beams spring and damp.

    Ctrl click node and drag to other node to make a beam between them, beam editing right click to delete, or some other handy way.

    So you could insert and place few nodes and then create beams between them with a mouse.

    Bit similar way you can now use node grabber to couple nodes, you would just create beams.

    Permanent group coloring, possible to create temporary groups by selecting group of nodes and clicking set temporary color.

    @aljowen I have .net application and using customized outgauge + outsim I can get g-forces to that application, datalogging would be easy, but there is also another open source program for datalogging and when I have time I try to get outsim to talk with that not sure how successful my attempts are, but you might be interested of tools currently available, it is pretty nice.
     
    • Agree Agree x 6
    • Like Like x 3
  4. burilkovdeni

    burilkovdeni
    Expand Collapse

    Joined:
    Aug 21, 2014
    Messages:
    1,167
    I would like the ability to put the .dae files in it.
    The ability to rename nodes.
    The ability to mirrors nodes.
    The ability to duplicate nodes.
     
    • Agree Agree x 7
  5. VeyronEB

    VeyronEB
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,537
    I think Blender like hotkeys (since almost everyone uses it) along side onscreen buttons would be good, as well as a way to import .dae files directly. I think a system to be able to load jbeam parts and presets would be nice too, for example if you save a door jbeam you can quickly import it and edit it to fit whatever vehicle you like.

    Other than that, really just a few tools within the editor, like add, mirror, scale and copy/paste and it would already be a great help. The parts system looks quite good as is.
     
    • Agree Agree x 5
    • Like Like x 2
  6. Octothorp Obelus

    Octothorp Obelus
    Expand Collapse

    Joined:
    Jan 24, 2014
    Messages:
    268
    Building off of this, a color map from red to green to show node weights between the lightest and heaviest would be nice to see. Like the lightest node is green and the heaviest red, with the rest being displayed in between. This would allow us to possibly see nodes we've forgot to set the weight on and outliers, as well as to give us a visual representation of node weight distribution.
     
    • Agree Agree x 5
    • Like Like x 1
  7. NoDakSmack

    NoDakSmack
    Expand Collapse

    Joined:
    Dec 24, 2018
    Messages:
    175
    This looks great, here's some things I'd like to see that I didn't see mentioned yet skimming through.

    beamstrength and beamdeform value indicators (color gradient of each beam indicating a scale of 0 to FLT_MAX?), this would be a HUGE addition for vehicle creation/editing to me
    Stress indicator
    Toggle beams, nodes, mesh, texture
    Material.cs values editor
    Node group viewer
    beam/node value exporter
    Partial/selectable node/beam highlighting. For example, only enabling the jbeam of selected regions to show in game
     
    • Agree Agree x 1
  8. tdev

    tdev
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 3, 2012
    Messages:
    3,031
    Also guys, press F9 ingame, or ctrl+f9 parts of it should have been released already. Just not the skeleton view yet
     
    • Like Like x 11
    • Informative Informative x 4
  9. Brother_Dave

    Brother_Dave
    Expand Collapse

    Joined:
    Aug 16, 2012
    Messages:
    1,662
    I like this!

    I could go for moving the nodes, maybe with a transparent view of the 3d mesh so that it could be easier to align stuff.

    If i want to think big it would be awesome to have pre-made chassis components that could be adjusted to the 3d model. Maybe the ability to change for example type of suspension and the connecting points for it. Say you import the 3d model and can choose from a certain type of pre-made chassis jbeam (maybe even body jbeam), then you can customize it by changing and adjusting components, for example front subframe and its connecting parts.
     
    • Agree Agree x 2
  10. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    I’ll come back to this when I have more time to type stuff down ;)

    Right now I have to go move an engine :p
     
  11. crashmaster

    crashmaster
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    1,812
    This has to be one of the most revolutionary thing that will help mod making in the beam history.

    Please develop this to the fullest extent possible.

    Entire mod creation through an official beamng vehicle editor would make things so much easier for everyone.

    I love you guys. Your hard work inspires me. :oops:

    Could the new lua based ui stuff be extended to a material editor as well?
    Or is this just the beginning. :p
     
    • Agree Agree x 6
    • Like Like x 1
  12. tdev

    tdev
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 3, 2012
    Messages:
    3,031
    Thanks everyone for the nice ideas, we will see how far we can get it in the time we have :)
     
    • Like Like x 14
  13. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    A better view of deformed beams would definitely be appreciated. A clear cut on/off vs a color gradient. Current mod I'm working on I cannot tell what is deformed because it's almost invisible.

    Filters could potentially help too (e.g. connected to node "n1", or connected to beam "n1->n2")
     
    • Like Like x 1
    • Agree Agree x 1
  14. NOCARGO

    NOCARGO
    Expand Collapse

    Joined:
    Apr 1, 2019
    Messages:
    1,514
    I completely agree with this ^ . Creating the n/b structure mouse controlled with a ui would be ultimate modding. :)
     
    • Agree Agree x 1
  15. NoDakSmack

    NoDakSmack
    Expand Collapse

    Joined:
    Dec 24, 2018
    Messages:
    175
    Another thought, would be nice to be able to highlight a beam/node and see what line they are coded on in their jbeam
     
    • Agree Agree x 4
  16. burilkovdeni

    burilkovdeni
    Expand Collapse

    Joined:
    Aug 21, 2014
    Messages:
    1,167
    I would also like the ability to make triangles and quads.
    The ability to make all types of breakgroups.
     
    • Agree Agree x 2
  17. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    Many probably don't know about scale of generosity in building such tool, so I though to ask that how many of these it takes to develop such tool? And how many for all wished features? You can take mine :D
    upload_2019-5-25_8-7-28.png
     
    • Like Like x 12
  18. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    To me, this live visual feedback that they have there right now screams the LFS live suspension setup menu to me and has the potential to show some REALLY useful information.



    With the way it is now, you can already get WAY more information than the LFS menu ever could, but even still... just a couple of toggleable visual camber/toe gauges for the wheels would be a nice touch to make tuning far easier to achieve the numbers you were looking for.

    I agree with all of this... mostly being able to edit symmetrically, and if not so much that, at least create symmetrically (I place node somewhere in YZ plane in +X and a node appears in the same spot with -X) at the very minimum.

    I also definitely agree on color. While being able to selectively view JBeams is SUPER useful, being able to have each JBeam show up as a defined color would be just as useful so you could see that which beams/nodes belong to what JBeam while multiple Beams are being displayed at the same time. This would keep me from accidently getting confused as to what goes where and what belongs to what... or better yet... as I constantly do in the current beam editor... accidently add beams into the wrong JBeam. If the beam shows up in the wrong color... well... I'll immediately know I did something wrong.

    I like this idea, but make it toggleable... like "Visualize Node Weights" or something like that. This way we can also make room for having some nodes showing up as other colors just like they do when debugging in game. The way they show up in game makes it easy to see what type of node it is and I honestly think should also be replicated in here most of the time.

    However, when the time comes to tune node weights, I totally would want to be able to turn this on.

    One other thing you could do, rather then showing color for beam's for strength and deform is to potentially change the thickness of the beam being displayed. naturally very thin would be the weakest it could be, but nice and thick could be FLT_MAX... that way you could use the color for other things to display.

    Toggleable colored stress would be a very nice feature in this since you can select particular JBeams to view, it would make it much easier to see how particular components are being stressed.

    That last point you made sounds interesting, but I am not sure I completely follow what you mean by that? Could you perhaps elaborate?

    While I am sure they could come up with a way to show the mesh's in here... seeing as it is built inside the game engine it looks like... the ability to rename nodes is one that I totally agree with 100%.

    Ideally, I would like to be able to select a node from the 3D view, then either right click to get a menu that has rename available, or click a button somewhere for renaming the node, and then the editor automatically goes through ALL of the JBeams that mention that node and automatically changes it to the new name. Right now this is doable in Notepad++... but it is easy to mess up (I am good at that) so having a way to do this like this would be really handy.

    Let's take that part dropping in bit one step further. Sure, we could drop in a part, but how would we tell it what part has its slot in it? How about a node editing system like blender uses for its materials?



    So, you know, you start with a single node window like the frame, and that contains each of the slots that will connect to it like the engine, transmission, suspension, body... ect...

    when you drop in a new part, you can just drag and drop its name into one of those windows adding it to that parts slot system, or you cold just connect it up to a previous part like seen there...

    I think that would be quite a powerful way to visualize and edit slots.

    The ability to add triangles by just clicking nodes would be awesome... and if it comes up backwards, just right click it and flip the normal... done...

    Can't agree more.

    This would be stellar, not so much for the nodes, but for the beams. There are FAR more beams in a structure than there are nodes. Add to the fact that you can order the beam with either of its nodes coming first, it all of a sudden becomes very difficult to find a particular beam. Being able to just right click the beam from the 3D view and select "Show in JBeam" to show you the line in the file that that beam is defined in would be an amazing feature.

    Now that I have highlighted some of the suggested features that I liked lets see if I can't think of my own here...

    Things I would like to see.

    1. A live JBeam editor that gets displayed next to the 3D view

    This kind of goes as a given, but to be able to see your code right next to the 3D representation would be stellar... right now I usually do this by splitting BeamNG and Notepad++ across my screen and basically hitting Ctrl+R like its my religion. Having both being displayed in the same window and just updating when I get done typing would be amazing (not actually sure if that would be possible though... but it would be very nice)

    2. Color coding/Sizing

    I mentioned above what I thought about color coding but its kinda spread out and messy so I will condense it here. I think there should be several levels of color coding.

    Nodes should be able to be colored just like in game already (basically by type... contact, no contact, normal, hitch... so on and so forth), then switched to weight or friction where one could either change the color to represent the value, or change the size of the node to represent the value... both could work equally well (within reason anyways)

    The same could be done with beams... color coding for defining which JBeam is which (so you can see what beams belong to what JBeam as sometimes it can get a little confusing), color coding by Beam type (bounded, support, hydro, normal... ect), or thickness by either strength, deform, spring, damping, or preload (not all at once naturally... just like a checkbox to select each one)

    3. Depth

    Now I know what you're all thinking here but hear me out... This is just a simple little coloring trick that I kinda think is necessary. Even the main game could benefit from having something like this in the debug mode.

    Right now nodes and beams are basically blanket colored. This gives us an appearance something like this.
    upload_2019-5-28_15-14-21.png

    which is nice and all.... you can kinda tell where stuff is from the perspective... but remove the perspective...

    upload_2019-5-28_15-15-42.png

    And now you have no idea what is what... that being said... if we just did a little bit of recoloring...

    upload_2019-5-28_15-37-31.png

    Now you can see a bit of depth... now I kinda over did this... but you can see where the front is and you can see where the back is. Basically, the closer it is, the brighter the color (I just turned up the darkness of the color the further away it was... and the beams are just the average distance of the two nodes that make it up). This would just be something that is nice though and not entirely necessary.

    4. Slot positioning.

    In slots you have the ability to offset/scale everything in the JBeam it is calling... if slot editing comes into fruition like I mentioned before, than I propose IF every node in a particular part is selected (I added in a door from the D-Series and now have selected every node in it for instance) rather than adjusting the numbers for every node in the door, it automatically switches over to just adjusting the offset of that particular part in its slot (this feature could be toggled on and off depending on the situation)

    This would make placements of full JBeams much easier for those of you who borrow a lot of parts like suspension systems and what not from official vehicles.
     

    Attached Files:

    • upload_2019-5-28_15-37-9.png
    #18 atv_123, May 28, 2019
    Last edited: May 28, 2019
    • Like Like x 15
    • Agree Agree x 1
  19. NoDakSmack

    NoDakSmack
    Expand Collapse

    Joined:
    Dec 24, 2018
    Messages:
    175
    What I mean is that currently if you want to view the jbeam ingame for JUST a specific part, let’s say front suspension, the only way to get a clear view of it is to remove the front clip and engine and wheels. If I could see just the jbeam of specific parts live, without removing all the other parts, it would save a lot of time
     
    • Agree Agree x 2
  20. umustbeloggedintododat

    umustbeloggedintododat
    Expand Collapse

    Joined:
    Feb 16, 2019
    Messages:
    1,381
    HOLY- Best update ever!
    --- Post updated ---
    Ummm there's no menu to access it, how do I access it?
     
    • Like Like x 1
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice