Creating your own map for BeamNG including the help of Blender power.

Discussion in 'Content Creation' started by Bruckellstormpage, Jan 5, 2022.

  1. Bruckellstormpage

    Bruckellstormpage
    Expand Collapse

    Joined:
    Jan 5, 2022
    Messages:
    3
    An advanced guide on how to create a map for BeamNG.drive.
    The purpose of this guide is to speed up the process of finding important information scattered all over the Internet regarding the modeling and mapping process in BeamNG, with the ability to quickly index text on the Internet, and also so that you can quickly read the information, as I like to do it.

    This article describes the Beam game hack and quick map creation without an extremely deep diving into the topic from me.

    That's the goal of this article - to teach the user how to do superficially mapping without extremely deep diving into the wilderness and spending a lot of time.

    Given the fact that time flies very quickly when trying to solve extremely primitive problems, I decided to make a very detailed instruction on how to create a map describing all the problems that may arise in the process.

    I learned how to directly export objects from Blender, texture them and export them to Beam, and paint them, solving the famous and serious NO Materials problem.

    But nevertheless, some tasks have not yet been considered, and so I have compiled this guide, without taking into account the following problems:

    1. Like any map, it requires optimization, and I have not yet checked how the load of objects affects performance. I do not know can be to assign objects to LOD pictures, but I think that BeamNG support internal optimization by including checkboxes meshculling.

    2. I could not import a map of heights in the game so that it was painted in a different color - green, the color of the grass. That is, this plane is not displayed in the game.

    3. All the other cool features, such as creating scenarios, routes, time trial, as additional features maps do not interest me, because they are very difficult to implement an ordinary player, and try to create them we will not.





    Introduction. Introduction.

    Starting with BEAMNG.drive v0.24. map creation became more or less possible, and I decided to write instructions as a springboard for a quick dive into the quarry. Using this knowledge, you can create a map in 1 day, with the proper level of skill as a computer scientist and a lot of patience.

    To create our own map, we will need the GridMAP V2.0 prototype.

    Beam does not support searching for files all over the computer, which means that the affected objects must lie inside the content ► levels folder.

    Add all objects that you want to put on the map to the content folder ► levels ► gridmap_v2 ► levels ► gridmap_v2 ► art ► shapes ► buildings.

    The implication is that the deeper the object lies, the better.

    In the section buildings lie objects like buildings.

    Finished buildings we will import from the scene of Italy, as there the city is easily split into parts. I have highlighted some interesting buildings for the Russian city:

    Itali bid Farmhouse

    ind bld 12x10

    And some more which can be found in the shapes folder.

    To avoid problems with importing houses in Italy, the entire folder of shapes from Italy must be pasted into the folder art Gridmap v2. Subsequently, to save space, you can delete unused files, but very accurately, step by step, as something important can be deleted without which the game can not run.

    Don't forget to save all your map folders, so that if you lose them you can continue your progress. Also duplicate the original Gridmap and Italy.

    Where are your maps stored. How to import and export them.

    BeamNG has many places where mods can be stored, for example on cars, but in the case of maps, two folders are enough. Even if you create a map, the other players will have to install it manually.

    1 Location. In the root folder. Next, you need to click on Content where there will be levels.

    2 Location. In the App. To get there, type in the following path: C:Users ►Name ► APPData ► local ► BeamNG ► 0.24 ► levels.

    This is where your modified maps will be, copy all the information down, just in case.

    The good news: BeamNG uses standard ISO file extensions, such as .DAE. So objects directly from Blender can be imported into Beam without any problems. No, I was kidding. There will still be problems. Also the game uses standard dds and cdae to paint objects. I guess maybe the standard ones. I haven't checked.

    If you have blender skills, this will come in handy quite a bit, because I will explain the minimal part.

    The BeamNG modding community is on the BEAM site, where in the map creating megapage section they specified a template to solve a very problematic and vexing message NO MATERIALS, which can make you start programming and take months to fix it. Without likely success.

    So I came up with my own game hack: I decided to use pre-made .DAE BEAMNG models and analyze them with Blender. At the beginning of the map I decided to limit myself to one plane, like a terrane, below which I could not fall, so I started looking for such an item on the map of Italy. After a long search I finally managed to find the perfect object for such a purpose: a garbage can. It is perfectly painted through ready-made scripts hinged in Inspectore, and does not have to solve any more problems. And it also looks beautiful when you stretch it and paint it green - it feels like the texture of the grass is superimposed.

    After some time spent creating the terrain, I found that the river flowing through the city looked like a boring and strange object - it looked like a Meinkraft-style road sticking out above the ground. And after that I decided to create a more or less normal Terrain.

    Using my previous mapping experience I went to the Finnish Terrain.Party website to get the elevation map from there.

    To do this I chose the default layer OpenStreetMap and dragged the square onto the area of interest. I enlarged it and downloaded the elevation map as an image with PNG extension.

    Next, I'll explain how to add a height map in Blender: while I remember:

    1. Create a new project, delete the cube. Add a plane.

    2. At the top, under the menu bar, find ADD► Mesh► Plane. Other important primitives are also there.

    3. Add a modifier to the plane. Press the wrench and add the modifier - ADD Modificator.







    4. Spin the roller to Subdivision Surface. After adding it, press Simple and set the precision values to 6 in Levels Viewport and Render.







    5. Add another Displace modifier. There click New Texture and then click on the sign Androida Show Texture in Texture Tab.







    6. In the window that appears, click Open. Select the first or second png file in the downloads from the top. The one that is larger.

    7. In the Images section on the right, choose Color Space XYZ or RAW, otherwise the elevation map will be flat.

    8. In the section of the wrench for the modifier Displace set the Strengh strength to 5, for example, but this is not necessary, since the original proportions correspond to one.

    9. You will find the resulting Terrain, which can be exported to Beam, but with the famous problem of No Material. You select the extension dae and export it to the desktop.

    Hotkeys for blender.

    Shift plus mouse roller - rotate the camera.

    Shift plus mouse roll - move the camera.

    Hack the italy garbage can.

    Find the italy_clutter_dumpster object through the Blender.

    Inside will contain a strange hierarchy of items.

    In the very top corner, click after a while on the globe icon to change the image of the dumpster. Choose the desired Viewport Shading view mode.





    There are four items inside the bin called start01 - colmesh, which does not show up in BeamNg and Italy Dumpster30, 70 and 200.

    Open all the lists and you will find that inside are some properties of materials from BeamNG, such as Italy Plastic. But in reality Blender has nothing to do with Beam, so it's really just properties of Blender items.

    However, the names of properties I do not recommend changing - maybe it makes a difference in the game itself.

    Then everything is more or less clear - you create a model in the blender and put it exactly the same properties as the garbage can.

    Of course, the garbage can itself should then be replaced by your model. The type of hierarchy should remain the same. Except that the name Dumpsterov 30, 70, and 200 need not be saved, it seems.

    To apply material properties, shift-click and drag on the corresponding parent object and release the button.

    Be careful: As a result your model may have more property files than needed, although this seems me not so much big fearly.





    Again export the model to the desktop, and then manually insert it into the levels.

    Flatness I have so far failed to import, but the rest of the volumetric shapes are added on the hurrah.

    Work in BeamNG.drive.

    The rest will be about my knowledge of working in this program.

    In order to add an object to the level you need to open the Window window and click ASSET BROWSER.

    This is where all the objects that you have added to the map level are stored. The visibility area of this component is even smaller, and only those files that lie on a particular level are displayed here.

    The Asset Browser does a sorting, and from the dialog box you can find items that it has detected. Note: If you do something wrong in the scene, ASSET BROWSER may stop loading. By then you should already have a backup of your work.

    To retrieve an item from the ASSET BROWSER, simply drag it onto the map.

    Set up item properties. My interpretation.







    The TRANSFOFM section of the Inspector menu contains numbers. They are responsible for the positioning and size of objects. By editing them you can move and enlarge objects.

    In the Media section, you can select a new available item instead of an existing item. This section is not always available, which is why I suggested that you use a more or less ready-made GRIDMAP. If you just choose a ready-made house from Italy, it will most likely be without textures. That's why you need to manually throw the entire Italy shapes folder in art ► buildings of your map.

    In the Rendering section it looks like you need to adjust the performance.

    If you turn on dynamic , then the objects will be displayed as dynamic, that is more beat performance. Presumably.

    PlayAmbient is on by default and it is even somehow translated, and is responsible for rendering or fading objects. Definitely.

    MeshCulling is closely related to Lods, most likely to be enabled when you put LODs on your items.

    OriginSort. Unknown.

    UseInstanceRenderData. Enabled by default.

    In Instance Color, you can assign colors to objects. However, it does not always help.

    For complex blender objects that we import it works. If you just throw directly, that is, import an unconfigured object, it will display a No Material texture that cannot be replaced.

    Under Colission we select Colission Type Visible Mesh, replacing the usual Collision Mesh.

    In DecalType also assign Visible Mesh.

    In the Debug section, you can assign your numbers to make the object show up better, but this doesn't seem to be necessary:

    RenderNormals equals 1.

    Force Detail equals 1.

    In the section Editing checkbox hiden affects hiding the object from the scene, and locked for locking. They are not used, just explained their meaning.

    In the section Object Annotation we can choose the color and type of coverage for the object, for example Asphalt.

    For the mode we can replace Ignore with Overrride to override it, but mainly this parameter should be set to show routes and roads for the bots, which for some reason are in hidden mode.

    Under Dynamic Fields can assign dynamic fields, but how to use them I do not know.

    Editing materials in BeamNG.

    For some objects, you can assign materials.

    To do this, go to the Inspector and click Open in shape Editor. There, in the Materials section, you can selectively paint the available elements. And monolithic whole object is likely not possible to paint. You have to look for it.

    Rotate the mouse on the preview panel.

    In the Material Editor menu, which you can open through the Windows menu, you will see colors and all sorts of settings.





    In the search menu you can type the name of the material that was used in Blendere.

    Presumably this is where all BeamNG materials are located.

    As you change the material properties, be careful - you may accidentally paint elements of other levels, i.e. maps, in different colors. The closest map at risk is Italy.

    Changing the Spawn points and adjusting the appearance of the pictures, sootvetstvuet places spawned by the player.

    On the left side of the menu, i.e. the Scene Tree window in the Spawn panel, type the word Spawn. Here you will see all points of player spawn on the map.

    Select any one particular Spawn and in the panel above select Translate mode to move the objects using the buttons. Now move the Spawn to a place. Now this is where your car will appear.

    To assign a picture to appear, first take a screenshot of the place, then save it as a JPG and name it with the same name as the Spawn.





    The pictures of the player's spawns are stored in the Gridmap root folder.

    Creating roads for the map.

    To create a piece of road, you need to select the Mesh Road Editor in the panel above.

    Next, hold down the right ALT and drag the mouse to the side. Click a second click, and the first section of road is ready.

    To continue the existing road hold down ALT again and rotate the mouse. Now the road begins to turn. For a more accurate turn, increase the value of Texture Length and Break Angle. The last parameter will allow you to gradate the turn more precisely, and make more triangles on the turn, which in the end, will reflect on the perfection and beauty of the turn.

    All that remains is to assign a paint material to the MeshRoad. Choose something that looks like asphalt.

    By default, the width of the road is 10 meters. And this is very convenient, because you can easily assign the width of the road as in real life.

    It remains only to measure with a ruler the width of the web simulated city, and set this value in the game.

    Or choose the value according to GOST, so that the game was not too crowded. The lane should be 3.75 meters.

    In Node Properties, change the Node Width parameter. To be able to edit the width of a particular road node, the point that belongs to that node must first be selected.

    To do this, the Mesh Road Editor mode must be selected.



    The pictures of the player's spawns are stored in the Gridmap root folder.

    Creating roads for the map.

    To create a piece of road, you need to select the Mesh Road Editor in the panel above.

    Next, hold down the right ALT and drag the mouse to the side. Click a second click, and the first section of road is ready.

    To continue the existing road hold down ALT again and rotate the mouse. Now the road begins to turn. For a more accurate turn, increase the value of Texture Length and Break Angle. The last parameter will allow you to gradate the turn more precisely, and make more triangles on the turn, which in the end, will reflect on the perfection and beauty of the turn.

    All that remains is to assign a paint material to the MeshRoad. Choose something that looks like asphalt.

    By default, the width of the road is 10 meters. And this is very convenient, because you can easily assign the width of the road as in real life.

    It remains only to measure with a ruler the width of the web simulated city, and set this value in the game.

    Or choose the value according to GOST, so that the game was not too crowded. The lane should be 3.75 meters.

    In Node Properties, change the Node Width parameter. To be able to edit the width of a particular road node, the point that belongs to that node must first be selected.

    To do this, the Mesh Road Editor mode must be selected.

    The road must lie on something. In this case it is a green garbage can.

    Each node has no problem moving, so you can without creating slides and drawbridges.

    Now it's just a matter of doing a little. Assign routes for the bots.

    To do this, click on Decal Road Editor and also with ALT pull routes.

    It happens that the route is highlighted white and prevents you from looking at the road.

    For this purpose it is necessary to make some adjustments:

    First, in the Pathfinding section, the Driveability parameter must be set to 10. You can set it to 100. This parameter defines the ability of bots to drive aggressively and skillfully on the paved route. Here value -1 means that bots will ignore the road.

    Lanes Left and Lanes Right most likely determine how close the bots will go to the edges of the road during high-speed driving in pursuit or escape mode.

    The OneWay parameter means that the bots will move along the road in one direction only.

    Under Improved Spline, the parameter looped translates as looped. I do not know what it affects.

    Under Decal Road, the Render Priority parameter helps hide the road. Increase with plus values the priority of the object over others.

    In the section Object Annotation do not forget to assign the type of object Asphalt and mod Override.

    And also don't forget to turn on the option over Objects in the Decal Road section.

    Give these key parameters a shuffle, and the route for the bots will be hidden from the eyes of the normal player.

    To highlight the route, click on Blank White in the Scene Tree and select Decal Road Editor mode.







    In order to be able to move from one roadway to another, you must assign the road heights with millimeter accuracy.

    To do this in the position menu, assign a number for the Y measurement.







    What came out of it:







    The good news:

    Objects from BeamNG are already initially optimized and have LOD images, so you can create a loaded city with smooth curves with no problem.

    Your own objects will still have to be thought through, so they should be few in the scene, and have few polygons.

    To superimpose the stripes on the road, you have to texture the road. To do this, you have to create a texture in blender or take a ready-made texture from a Gridmap drag strip.

    Ideas for creating maps:

    1. Create an extreme straight lane to test the off-road properties of the vehicle.

    2. A drift map to hone your drifting and skidding skills.

    3. A cool city simulating any real city, for example a Russian one, with SLIDING corners, where we may finally drive at breakneck speed.

    4. A multi-level city like New York.

    5. A race track to test the car's sporting properties.

    6. A sky race track to test cars in even tougher sports disciplines, where the roads have different profile angles.

    7. An animated city with drawbridges. Will be quite a challenge to implement.

    8. Off-road map to test the properties of off-road vehicles.

    For greater realism In BeamNG I recommend installing the wheel grip modifier from Angelo234, with it you will be able to pass the turns at extreme speed, as well as get the opportunity to turn over.



    Translated from Russian with Deepl Translator without much consideration.

    Tags: editor, BeamNG.drive, Transform, Buildings, Terrain, MAP Creation, Blender, Spawn, properties, BOTS, Routes, road, textures, City, No Materials.
     
    • Like Like x 4
  2. Bruckellstormpage

    Bruckellstormpage
    Expand Collapse

    Joined:
    Jan 5, 2022
    Messages:
    3
    The images involved in the message:
    --- Post updated ---
    To save the new version of the map can be exported, with a new name, you must find the level itself and rename it.

    First of all it is the name of the map inside the folder levels, in the second turn is the name of the archive itself, in the third inside the folder levels will be the name of the file info.json, which must be opened using WordPad and replace the name for the parameter <title> which has the value <levels.gridmap.info.title> to the name of your map.

    All names should be repeated and the same.

    Go to one more, remaining fourth place where your edits information is stored.

    Go to APP data, there find the folder levels, where inside is the folder Gridmap v2, copy and paste it immediately, change its name to the name of your map.

    The work on the modification of the map is over, now you can create an unlimited number of maps, but the original Gridmap v2 will have to be present as a support for the necessary data.
    I have not quite figured out how to rename the places of player spawns inside the archive, and so I will have to keep the original file names the program is looking for, so that the pictures of player spawns can appear.

    So don't rename anything, just insert your own screenshots with the same name.

    ►You can send in the comments the solution to those problems that I did not specify. And you can also ask what you can't do, although I think I've covered everything in more or less detail.

    ►This tutorial applies well to BeamNG version 0.24, so do not lose overlook of it.
    --- Post updated ---
    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png 11.png 12.png
     
    • Like Like x 3
  3. CRGZ

    CRGZ
    Expand Collapse

    Joined:
    Sep 12, 2020
    Messages:
    115
    damn I'm going to read this give me a momento
     
  4. PeterEG

    PeterEG
    Expand Collapse

    Joined:
    Dec 19, 2017
    Messages:
    27
    wheres the png?
     
  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