So, I've been learning how to use blender and have been successful in getting a model in game, but I'm having jBeam issues. My reefer trailer below is to real world scale and being 53 foot, it's longer than the dev dry van trailer. So I cant use their jBeam files. Not only is it not correct in size for my parts, but I also don't understand how to add parts like my fuel tank to the jBeam file yet, which is why my trailer pictured seems incomplete. Some of the parts aren't loading and are invisible because they aren't in the file yet. If anyone can help me understand that, that'd be great. Another thing, the spare tire holder and landing gear aren't in the correct position for my model, so I need someone to explain to me how I would move them forward towards the nose of my trailer. I also assume I'll need to learn how to shift the couple point forward also after I get the jBeam working as should. I was wondering if anyone can explain to me everything needed to get my trailer working correctly in the jBeam file or if there is a simplified template file I can download and add my stuff to. I have 28 different parts, all have jBeam files exported from my models with blender. In the dev jBeam file for the dry van, it is very unorganized and/or I am just not used to working with them. The dev jBeam file has alot of things that I just don't understand yet. Like what is a flex body? I've added my parts in the list as pictured below, but I have no clue what they do or if I even need them there. I thought with the correct names being listed, all my trailer parts would spawn but they don't unfortunately. Some of my parts used the original names from the dry van, but others did not. Gladhands, fuel tank, reflector tape, and others for example. I also don't understand what a deform group is or why it's in the jBeam file. Alot of things just seem like clutter to me, especially when I see how they have everything listed. For example, in nodes on the dry van jBeam file I've tried using, it says " //--FLOOR/FRAME--" and lists the node coordinates, but below that it says things like "//bottom nodes", "//kingpin", "//rigidifiers", ect..... Is this where I copy and paste my part node, beam, and triangle coordinates to? Why are there so few coordinates for each part? When I exported jBeam from blender for each individual part, there are TONS of coordinates. Hundreds if not thousands more than the devs have listed. I'd really love a video tutorial explaining the process if anyone knows of a good one. I have LOTS of models I've bought and are ready to be put in game, I just need to learn how to properly get them working. I don't know how to export the textures from these models to be used in beam, so my models have no textures in game. Plus, as I said above, I also don't know how to move landing gear and other things like the bogie wheels and license plates to where they need to be on various trailer types. Any help is appreciated, thanks.
Alright, so I’m guessing you need a bit of a guide in jbeam. So, a jbeam file contains parts. Every part has its own section. There’s first the internal name of the part, like covet_body. Then there’s the information: The name, author, and price. Then you have the Slot Type. This says in which slot the thing belongs to. As example, the Pessima’s left headlight belongs to the pessima_headlight_L slot. After that, you have the Slots. They determine what slots the part has, as example, the Gavril D-Series frame has a body slot, an engine slot, a front suspension slot, etc. Now, there’s some extra stuff in certain parts, like soundConfig for engines. Then comes flexbodies, which are 3D models from a .dae file. Each model is assigned to a node group. Every node has a certain group. Then you have the nodes, beams and triangles. Now, these are the part’s collision. Each section has a short description saying what which part of a line determines. For the nodes, it looks like this: [node name, x, y, z] For the beams: [node 1, node 2] (the 2 nodes that are connected by the beam) And for the triangles: [node 1, node 2, node 3] (similar to the beams) Now, in each one, there will be comments, like //your mom These are left by the developers to know what part is what in-game, they don’t actually impact the code. Also in nodes and beams, there will be extra variables, such as nodeWeight, beamSpring, beamDamp, beamStrength and beamDeform. These are important, and determine stuff like how bouncy and strong a beam is, as well as how heavy a node is. There is also the nodeGroup, which I mentioned earlier, which basically determine a group of nodes that modify a flexbody. Now, if a flexbody has a node group that isn’t defined anywhere in the nodes section, it won’t appear, so just know that. Now, materials. Ah, materials. Basically, every face in Blender has a material. Every „vehicle” (also includes props) has a materials.json file, which assigns a color and normal (and something else I think but not sure) texture to a material. Be sure to use .png files, which then are automatically turned into .dds and put into the user folder (X:/Users/username/AppData/Local/BeamNG.drive/0.29/temp/vehicles/vehiclename/). Once those generate, use them instead of the PNGs. According to repository rules, it is prohibited to keep the .png files. I dunno why, but it just is If you have any other questions, let me know. --- Post updated --- Also, with modelling in Blender, make sure the models don’t have a too high polygon count, and that their origin (orange dot when you select them) is at 0, 0, 0. Also also, make sure to enable Autosmooth of about 45-60 degrees for every mesh. Makes it look more natural and it’s recommended by developers. There’s also a documentation (although pretty lacking in some aspects), which you can find a page to on beamng.com
This message turned out way longer than expected, but please read the whole thing. There is a lot to unpack in this message, and in the following reply too... One thing is clear, you are a complete beginner who has never worked with Jbeam before. The first step before doing anything should be reading the documentation. It explains pretty much all of your questions. We now have tutorials in it, following them is recommended before starting a project of your own. https://documentation.beamng.com/modding/vehicle/ I will attempt to clear your misconceptions that are apparent from the questions you asked. But before reading this you REALLY need to read the introduction to everything to understand what I say below. Links: https://documentation.beamng.com/modding/vehicle/intro_jbeam/ https://documentation.beamng.com/modding/vehicle/intro_jbeam/jbeamsyntax/ https://documentation.beamng.com/modding/vehicle/intro_jbeam/partslotsystem/ https://documentation.beamng.com/modding/vehicle/intro_jbeam/debugtools/ https://documentation.beamng.com/modding/vehicle/intro_jbeam/common_issues/ Your trailer is only slightly longer than the one we have in game, so using the Jbeam from vanilla trailer should be perfectly fine as long as it's modified properly. The only big thing you should do in this case is "stretching" the Jbeam until it matches the length of your trailer model. There are several tools that will help you achieve this, and more are work in progress. I recommend the nodeTool: https://www.beamng.com/threads/nodetool-move-scale-nodes-based-on-a-number.9920/. You should compare the length ratio of the trailers and scale the length on Y axis by that number, then move the whole Jbeam to compensate for the offset difference. Another tool you might use is the Node Beam Editor, you can search for a link to it on the Internet. Adding new parts is just creating Jbeam files for it and then adding slots to the other Jbeam files for them to go into. This is all explained here: https://documentation.beamng.com/modding/vehicle/intro_jbeam/partslotsystem/ The Jbeams themselves can be based on what vanilla cars have, for example your fuel tank can be based on the one from the semi truck, resized, moved and rotated in the Node Beam Editor like with the rest of the trailer, and with changed attach and support beams. Attaching parts is really well explained in this tutorial, I really recommend you should follow it before starting your own mod: https://documentation.beamng.com/modding/vehicle/tutorials/basic_car_tutorial/ Some parts of your trailer are invisible because they have not been referenced in the Flexbodies section, which defines which parts of the model are mapped to which groups of nodes. Please read this: https://documentation.beamng.com/modding/vehicle/sections/flexbodies/ Spare tire holder and landing gear are common assets of the trailers and their position is defined by nodeOffset in their slots. https://documentation.beamng.com/modding/vehicle/sections/slots/ The couple point of the trailer is just another node that you need to move. It has some properties that allow it to be a coupler. Read this to get an idea how it works: https://documentation.beamng.com/modding/vehicle/sections/nodes/couplers/ Now we are getting to the core of your issue. You insist on not using the vanilla Jbeams because they are hard to understand for you, which is natural for a beginner, and because the trailer length is slightly off. Instead you want to make your own Jbeams and you are using the Blender to Jbeam exporter. First note what it says on the exporter's page: "This is supposed to be used by intermediate vehicle modders, files produced by this exporter should be used as a template and is meant to be tweaked in game." There are 2 important points about this: The exporter should only be used by intermediately experienced modders who already know very well what they are doing. A really common mistake made by many beginners is just using it to do all the work for them, which brings me to the next point. You want a simplified template, and you are unaware that the thing you get from the exporter is the template itself, and only 25% of all the work at most. It is meant to be really heavily tweaked afterwards until it reaches a similar state as the vanilla Jbeams. So yes, they are meant to be so confusing, otherwise they will not work correctly. This is why it's a better idea to just modify the existing vanilla Jbeam files that already work rather than making your own ones from scratch. It saves you potentially days of work. What you perceive as unorganized in vanilla Jbeam files is actually way better organized than the end result you would get if you were to edit the template created by the Blender to Jbeam exporter without moving things around. Things are grouped together into sections that use similar properties to each other, which reduced the repeats of lines of code. If you haven't already, at this point you should really read the page with syntax explanations that I linked earlier, and maybe you can imagine how much of a mess it would be without this organization. Now to the rest of your issues: Anything you don't understand you should search for in the documentation. Everything you need for a trailer is documented. You have no clue what parts do and if you need them? You need some mechanical knowledge to determine this, and looking on references of how these trailers are built in real life. Some parts will be permanent parts of other things that should not be made a separate file. Due to the way the parts and slots system works, having the Jbeam files for all the parts doesn't mean they will all spawn, they all need slots for them. Please read the parts and slots page I linked earlier. You need new slots if you want parts that are new in your trailer. DeformGroups are explained in the Flexbodies page I have linked. They basically change the material of breakable things such as glass from the intact to broken state. Again, if it seems like clutter with this level of organization, it would seem like a complete and unreadable mess if you tried to do it from scratch with the exporter without attempting to organize things the same way as it is done now. The simple car tutorial explains well why this specific method of organization is used. Things like " //--FLOOR/FRAME--" are comments indicating what separate component the nodes/beams/triangles below refer to. Comments like "//bottom nodes", "//kingpin", "//rigidifiers", etc. describe groups of beams with the same properties. You can't use the same properties on all beams of the vehicle, and you need to use similar properties in groups that do the same thing (transmit similar forces). It takes A LOT of finetuning to find correct settings for each group, which is why I again highly recommend to leave everything as it is in the vanilla trailers and only change what is necessary, for your first mod it should be good enough. About coordinates, please read the basic introductions. Only nodes have coordinates, and they are on the X,Y,Z axis so it's normal they are so few of them. Having thousands of them is not normal at all, and indicates that you are using the Blender to Jbeam exporter wrong and maybe having an entirely wrong idea about it, so let me explain it just in case. The Blender to Jbeam exporter is used to make Jbeam structures in Blender and exporting them to text files, in order to have a template with the coordinates of nodes, and the beams and triangles between them. IT IS NOT USED to automatically create an entire Jbeam structure based on your 3D model, which would be impossible due to the amount of complexity it takes. You still need to create the Jbeam manually with the exporter, using vertices as nodes, edges as beams and faces as triangles. You need several templates per final Jbeam, each with a different setup of edges to represent different groups of beams with different settings. In many cases it is a lot more work than creating it in a text editor. The advantage is that in Blender you can see both your model and your Jbeam so you can find the required coordinates faster, but when you get enough experience, you will be able to guess them just by looking at the model in game. In the case of your trailer, using the exporter is completely counter-intuitive, as the Jbeams already exist in the vanilla trailer and only need to be edited, so there is no point in generating the templates for them. The final point, and I'm really sorry that nobody told you about this earlier: DON'T BUY RANDOM MODELS FROM THE INTERNET TO USE FOR MODS as 90% of them will not work well in game and it will be a lot of wasted money. 3D models for this game need to follow many specific guidelines to work well, explained here: https://documentation.beamng.com/modding/modelling/vehicle_modeling/ If a model you bought does not follow them, you will get weird deformation until you manually fix it, which can be weeks or months of work. Judging from the geometry of the trailer you are working on now (which is visible due to shading issues, which you should fix as they will be way more visible in game, but this message is already way too long to explain how...), it at least meets the guideline of being low poly enough to not cause spiking issues. I'm not sure about the grid polyflow though, you might need to subdivide it. About exporting textures, it's a whole different topic, explained here: https://documentation.beamng.com/modding/materials/ (read ALL of the sub-sections too if you want to learn it). You might want to get the Jbeam working first before tackling this, as the materials might be most of the work in your case if your Jbeam is not so hard to make by just editing existing vanilla stuff. I need to respond to this message too, to prevent spreading misinformation... This is not written in correct technical terms at all and it's very chaotic. Please do not use it as an actual guide but more of a reference about what things are typically needed in a Jbeam file. Refer to the documentation for accurate descriptions of each of them. Most of the things about materials in this message are plain wrong too, disregard them and read the docs instead. For example there is nothing in the repository rules preventing you from using png files, and you can find lots of mods that have them. And the thing about autosmooth is only when you are editing existing vanilla game models that have been exported with 3DSMax, this is also documented in the modelling guidelines. "although pretty lacking in some aspects" Please tell me what exactly is lacking. People often say "documentation is bad and unfinished" without providing any context as to what exactly needs to be changed. We cannot improve it without constructive feedback. And keep in mind that it is changing constantly, with things getting added or changed sometimes several times a week, so your knowledge of it may be severely outdated and you should check if the issues you noticed haven't already been fixed, we have already had many cases of people providing feedback on stuff that was already changed and they just didn't check it.
I must agree 100% with everything here, as it’s far better explained than my attempt. As for the documentation thing, I don’t use it too often, and I just heard it’s poor from some, which I still don’t know why I wrote that, I fully understood the paintjob tutorial. So yeah, reading Agent_Y’s message instead of mine is highly recommended.
So, in Nodes, Beams, and Triangles, the Dev file has things separated pretty nicely. I thought it was pretty cluttered until it actually began to click for me and I'd began understanding it. The dry van for example has things pretty split up, like for the floor, they have specific Nodes in smaller sub sections with names like "blah blah brace blah blah". Do I HAVE to divide everything up like they did or can I take my Node, Beam, and Triangle coordinates and paste them all together. Like for my floor model, it's just a few hundred coordinates and I don't know which Nodes would correspond with which part of my frame or bracing. I'd prefer just plopping them all together for simplicity.
It is better to name things with comments to later know what represents what, but you can just not have comments and plop everything in.
I did use the NodeBeam editor, but it's a very crude stretch of the original. Last night I was having issues with it though. I had to keep reverting back to my backup jbeam because I'd mess up and couldn't undo. It'd be nice if it was updated or if there were any tutorials for it.
For nodes and triangles it shouldn't really matter, you can do them without comments if it's more clear to you. Beams however are a different story, since there are so many of them and they are naturally divided by groups that share the same parameters, you should not combine them all into 1 group with the same settings or else you will not achieve the correct behavior. We do not plan on updating it or making any tutorials for it as it has been outdated for many years already and is beyond saving. We do hovewer plan on releasing better tools instead in the future.
So, if I want to build a jBeam from scratch using the nodes of my blender model, how would I find their coordinates in blender to map it out? When i click a single node, it doesn't give me a coordinate. I assume my current problems have to do with beam strength, but using the dev jBeam for the trailer isn't working great for me. I did extend it in the NB editor, but it isn't very nice at all. If I tried adding more nodes or beams, it'd mess up and I couldn't figure out how to connect them. The nodes would just be points in my jBeam, not forming triangles or anything like all others. With their trailer jBeam modified to fit mine, some of my meshes would stretch and my trailer walls would deform wildly and unrealistic. The body frame would be VERY rigid too, my whole trailer would be flat from a huge fall but the frame would be minimally deformed. I didn't mess with any settings, I just renamed stuff and modified the length to fit. I am remaking my trailer with a nicer frame and around 8 to 10 wall panels on either side just as it is in real life, well, my Hyundai 53 foot dry van is set up like this anyways. So that may eliminate the wild stretching because I could have them break apart instead of bending and deforming so much.
You are having wrong ideas about everything again. Why do you keep insisting on doing it from scratch just to solve a few small issues that can be easily done by modifying what you already have, and might not even be issues in the first place? I'm not sure how experienced you are in Blender, but to see coordinates you need to click that little arrow on the right to extend the coordinate menu. There are many ways to find exact Blender coordinates that you need if you have it open. For example, moving a small object so that its center is exactly where you want, then you can see them. Or editing your mesh in edit mode and picking a vertex while viewing the global coordinate system. Please define "not very nice at all", if it's not a technical term I can't help. Although from looking at the model from edit mode, I assume the issue is that it's way too low poly and won't deform well because of this, and needs to be subdivided. No need to add new nodes at all in that case. You will not automatically get all the beams and triangles when adding new nodes, you need to define them manually in the correct sections, that's the reason why making Jbeam from scratch is so time consuming, it would take you months to do essentially what is already done for you and needs a bit of tweaking. Your mesh stretching issues are caused by you mapping your flexbodies to the wrong groups, it has nothing to do with beam strength. They always need to be mapped to the nodes they are the closest to, and can't have any parts that are far away. I believe the frame being very rigid is realistic, as it needs to support weight much higher than its own weight, try dropping it fully loaded. Have you compared it to any real life sources? Having multiple wall panels instead of single walls is a good idea indeed, but be aware that it will take a tremendous amount of effort. You will need basically almost twice as many nodes for the panels than for the walls. Each of them will need nodes on the edges, at least 1 middle node per side and a center one for deformation, and a rigidifier node. And then lots of beams to connect the nodes to each other and to the trailer. You will indeed have to remake the frame too in that case, to have some nodes for the panels to connect too, that alone can take weeks. Good luck with that, but I would rather get the Jbeam to a working state first before attempting that.