Hello, In the latest BeamNG update, we have introduced new Materials V1.5, that are utilize PBR workflow. Since a lot of community modifications and addons are often using custom or modified textures and materials, we've decided to help you convert them to the new system. Please keep in mind that this tutorial is made to help you converting already existing mod, not create it from scratch. Before proceeding to the main tutorial please check this page in our documentation, it will help you understand the basics of PBR: https://documentation.beamng.com/modding/materials/materials_1.5/ Tutorial available here: https://documentation.beamng.com/modding/materials/materials_1.5/switching-from-015/ Feel free to ask us any questions
i'm having difficulty understanding the tutorial, my skin as it works the old system is a palettemap and overlaymap, the overlay being some decals on a transparent background, and the palette has the overlay erased from it (to avoid coloring the decals). also clicking convert to 1.5 materials in the material editor didn't seem to do anything, i saved the material before closing the game, my skin is loose in the "unpacked" folder under mods.
Old palette map is okay, you don't have to change anything in that case. Just make sure to add white (non transparent) background to overlaymap. And then you have to assign it as BaseColor Map in new materials on 2nd layer.
What about tires and ambient occlusion map? There was no mention of it in the tutorials. For example LKS Prerunner's baja tire material could maybe look like this (material template from offroadtire_01a): Spoiler: codes { "tire_baja_ta": { "name": "tire_baja_ta", "mapTo": "tire_baja_ta", "class" : "Material", "Stages": [ { "ambientOcclusionMap": "tire_baja_ta_ao.color.png", "baseColorMap": "tire_baja_ta_b.color.png", "metallicFactor": 0, "normalMap": "tire_baja_ta_n.normal.png", "roughnessMap": "tire_baja_ta_r.data.png" }, {}, {}, {} ], "dynamicCubemap": true, "doubleSided": true, "invertBackFaceNormals": true, "materialTag0": "beamng", "materialTag1": "vehicle", "order_simset": 0, "version": 1.5 }, ---------- ORIGINAL: "tire_baja_ta": { "name": "tire_baja_ta", "mapTo": "tire_baja_ta", "class": "Material", "persistentId": "f1d8f6dc-4242-4b48-a28e-7517545616ec", "Stages": [ { "colorMap": "vehicles/common/null.dds", "normalMap": "tire_baja_ta_n.dds", "pixelSpecular": true, "roughnessFactor": 0.722649872, "specularMap": "vehicles/common/null.dds", "useAnisotropic": true }, { "colorMap": "tire_baja_ta_d.dds", "normalMap": "tire_baja_ta_n.dds", "pixelSpecular": true, "roughnessFactor": 0.722649872, "specularMap": "tire_baja_ta_s.dds", "useAnisotropic": true }, {}, {} ], "alphaRef": 0, "materialTag0": "beamng", "materialTag1": "vehicle", "translucent": true, "translucentBlendOp": "None" }, How to create ao.color (or ao.data) map out of d,n,s maps? If the short answer is "if you need to ask, you probably won't make it" then don't bother explaining, I'll leave this to the pros.
You can't really make a proper ao map out of d/n/s maps, that's why I completely ignored that topic in my tutorial. I recommend checking this tutorial instead. It requires work with a model in Blender
When mesh is imported to Substance painter, you can bake AO make with that quite easily, not sure how result compares to making it in Blender though. Also not sure if Quixel Mixer has the ability to do the same as Substance in this regards. Then there is Bitmap 2 Material from Substance that does make AO map from single texture, but results are not always what you want obviously, it is incredible what that software can do, but there still is limits, however it almost makes miracles from nothing, just not quite.
Thanks for your answers, maybe I'll try this today. I followed the steps in the AO-tutorial CK linked, and Blender gave me this: It's a bit empty and treadless compared to official tire ao maps. Are there some steps left? I used the materials.json posted earlier and got some nice shiny spots in direct light, but I don't think the ao map contributes much. And the tires don't look very rubbery yet, especially the sidewalls.
Hello ! Thanks for the tutorial. Even by following the steps carefully... it just doesn't fully work. I think a video explaining how to do this would be highly appreciated considering that some players would like to put PBR on mods, even if they have close to no knowledge in terms of editing textures (like me )
Highly agree. Maybe there is a YT vid about that but it is easy to watch, hard to work when I try them on BeamNG modding... I will try to find the way but it's a bit complicated... I really like the texture update tho
Thank you so much for share the info about the material I was looking for this, but I have a question: What dds plugin should I use with photoshop to export the textures maps? I now using Intel texture works, 4bpp sRGB for base map, BC5 normal map, and 4bpp Linear for all others , just to make 4K or 2K textures small sizes
You don't use Photoshop for dds conversion, the game converts them to dds automatically as long as the file path is correct. You export them as PNG in any size that has power of 2 proportions and is not to small. I have never used Photoshop though so idk if this is an option to choose.
I'm trying to make a fully colorable skin and I have all of the basics working. each color (red, green, blue) corresponds to paint 1,2,3 in game. However, the PBR sliders for metallic, roughness clear coat, etc. don't work. In materials.cs I have colorPaletteMap[2] = "vehicles/super/CustomBolide/super_skin_CustomBolide_uv1.png"; (image above) overlayMap[2] = "vehicles/super/CustomBolide/super_skin_CustomBolide.png"; (Blank White Image) My full Materials.cs can be seen here And my .jbeam file looks like this But these sliders aren't working in game and I want to figure out how to make them work. Nothing online seems to address this or if it is addressed it's very cryptic and hard to understand.
Dude. This is a thread about how to convert materials from 1.0 to 1.5 and you are still using the terribly outdated 0.5 format. It's beyond outdated and it's obvious that it doesn't work properly. Did you actually even read the thread??
When a skin.materials.json file with PBR materials has a syntax error, it won't tell you where the issue is. Really annoying if you have a large file.
This is the closest thing I can find related to making custom skins that are PBR compatible. All guides and tutorials related to it are outdated and only explain the process I've taken in the above. If you know of any guide or documentation explaining how to make a custom fully colorable skin for vanilla vehicles that include full access to the PBR sliders then I would love to know. Otherwise, it doesn't exist, and I need to figure it out somehow. Didn't even know the way I was doing it was apparently a "materials 0.5 format" as it was never mentioned in any of the guides, forums, tutorials, documentation, etc that I read for hours trying to figure it out. Also after reading your post I decided to specifically try to look up how to make a "materials 1.0 skin" Which seems to literally return nothing. I'm convinced the whole 0.5 and 1.0 versions are BS at this point. 1.5 seems to be the only named version of materials so IDK how I'm supposed to look up info specific to "1.0 skins"