Attachment limit, example texture.
NFSAddons Forums
- Welcome to NFSAddons Forums.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages1
#1
General NFS / Re: Begginers NFS World modding car conversion tutorial (car replacement)
Mar 24, 2023, 2:29 AM #2
General NFS / Begginers NFS World modding car conversion tutorial (car replacement)
Mar 24, 2023, 2:28 AM
If this isn't the right place for this topic, moderators, please move it to the right place.
Potentially, can be very useful for Most Wanted 2005, Carbon and other BlackBox games.
OPTIONAL READ, UNRELATED, YOU CAN SKIP IT (motvation for this tutorial and all of the work):
While playing my favorite NFS game (NFS World), I saw (and enjoyed) all the great work done by a lot of people (Community), moders, programmers etc., at some point, after enjoying the game online (recommendation btw.), I've got a a wish to see one car in game (1936 Bugatti Type 57SC Atlantic). Since I do value effort and time of other people, I didn't feel comfortable to ask/demand that, since I do know most people do not care for that car in particular. While talking with others about cars in in-game-public-chat, one person gave a good advice = "Find already made model and convert it yourself", and since I was basically clueless about modeling, I sort of assumed I had to do it from the scrach, it never really occured to me I could simply convert it (yeah, stupid I know...).
However, there was an issue there, I basically had 0 clue how even 3D modeling works, let alone how to convert a car for specific game I wanted, finiding suitable model and so on are further issues yet to be faced. There are few youtube tutorials, some really good blog-style ones, but none of them were aimed at total noobs as myself, and those who were, were all over the place, with huge respect for people who invested their free time and effort to make them, often would leave you even more confused, either by not being clear about something, skipping important things, not really explaining in a way one could understand what he/she is doing and why, or simply by assuming knowledge those interested in it do not have.
With all that in mind, from the get go, I've decided to share all of the source files with my uploaded conversions, without restrictions and so on. The idea is simple, with source files provided, it would be much easier to learn for anyone who is interested in learning, and others could use those conversion as base for their own improvements, projects etc..
Hence why I decided to make this tutorial, since it could easilly be applied to other BlackBox games as well using NFS-CarToolkit, since it attempts to explain things so the reader can learn by understanding, not simply by copy-pasting.
Providing this tutorial as well with car conversion in my future uploads is something I'm very positive about, since I do believe the more moddelers and models = better for the whole community.
FOR MODDERS (established and future ones):
Since I do respect your time, please, if you can, convert any model you want from my uploads to other games (MostWanted, Carbon etc.), there's no need to credit me, since after all, it is your work, while using my conversions as base (assuming they satisfy the quality you seek for your own work), there's still a lot of work to be done, and saving of time isn't insignificant if you choose to do so.
TUTORIAL:
Software required for 3D models:
NFS-CarToolkit - https://nfs-tools.blogspot.com/2020/07/nfs-cartoolkit-v31-released.html
3D modeling software, "Blender" or something else, I saw people using "zModeler 3", it might be easier but limited, personal recommendation is Blender.
Image manipulation software, "GIMP" or something else with directdrawsurface (".dds") support, I saw people using "Paint.net" application, it's really up to your preference, I prefer free/OSS software, hence GIMP (with .dds plugin).
Software required for editing NFS database:
NFS-VltEd - https://nfs-tools.blogspot.com/2019/02/nfs-vlted-v46-released.html
Knowledge prerequisites:
General basic computer knowledge.
General game familiarity (knowing how to install/remove downloaded replacement car mod).
3D editing software basic knowledge, pivot point, objects origins, editing, spliting, joining, naming/renaming, UV editing and mapping of objects/materials, exporting/importing formats, formats familiarity etc.
Image manipulation software basic knowledge, editing image, formats familiarity, alpha channel, layers work etc., importing/exporting specific formats, potential plugins usage.
Important things to know:
NFS World cars have two files, GEOMETRY.BIN and TEXTURES.BIN, the first one have 3D model information, while the second one is a binary containing textures for the model. NFS car models use one wheel, and it is projected by the game for each location (front left/right and rear left/right).
NFS World engine uses 16 bit integers for mesh vertices definition, meaning up to 21845 triangles per part, keep that in mind.
3D MODEL - BASICS:
In order to do something, it's important to understand how something work, in this case, we need to cover base 3D model for NFS BlackBox games (World), as well as textures and textures mapping (we will cover markers as well). It's quite simple once you get familiar with the concepts.
- 3D model: It's based on basic triangles for creating any surface, NFS-CarToolkit works with multiple formats, but recommended format is Wavefront (.obj). Generally, the less triangles = better, however, more complexity requires more triangles, so balance is important to keep in mind. Take a look at "cube_0.jpg" and "cube_triangles.jpg" in examples.
- Textures: Simple 2D images that are projected/"glued" to the 3D surfaces of our model (groups of triangles) via "UV maps". Textures use ".dds" (direct draw surface) format in NFS BlackBox games, they are up to 512x512 pixels resolution. There are few levels of compression, we are interested in DXT1 and DXT3/DXT5, the main difference between DXT1 and DXT3/5 is that the second ones support transparency at the cost of the file size, DXT1 is for non-transparent images. Best practise is to use DXT1 and DXT3 depending on the texture requirements. Look at "texture_example.jpg". Important thing about textures is that they have limited number of names you can use for the game, it's explained under "NFS CAR MATERIALS - NFS-CarToolkit BASICS".
- UV maps: UV maps are basically "surfaces of the 3D object rolled out", the best way to explain is by example, look at "cube_uvmap.jpg"; left side = UV map, right side = object 3D view, as well at "cube_uvmap_tex.jpg" and "cube_uvmap_textured.jpg". It's basically surfaces of the 3D object arranged on flat 2D plane where our texture is projected.
One important thing for UV mappings are "face normals", basically, UV mapping covers only one side of the object, for example, our 3D cube is covered with textures only outside, if we were able to look from inside-out of our cube, in game, we wouldn't see anything, it would be transparent. This is done in order to increase game performance and usually, this is not an issue, since game models are designed with that in mind, however, it's important to know this.
NFS CAR PARTS - NFS-CarToolkit BASICS:
Required part for any NFS car model is "BASE_A", where "base" stands for part name and "A" stands for "LOD" (Level Of Details). We are not concerned with LODs in general, we can work with LOD_A only, and NFS-CarToolkit would automatically copy that LOD on all other LODs (B,C and on some parts D,E etc.).
All other parts start with KIT0X, for example "KIT00_BODY_A", KIT00 is usually what we work with, KIT01 for example would be some other body kit we could change, but that is more advanced, and we are not concerned about that either for now.
In short, we work with parts:
KIT#_$BODYPARTNAME_$LOD = KIT00_BODY_A for example.
NFS-CarToolkit have internal list of parts that are possible to use in "NFS-CarToolkit/Data/World/Parts_Racer.txt" for our car, it's IMPORTANT not to edit those lists/files, just use them as an resource for naming parts. There is also an example model in "NFS-CarToolkit/ExampleMod/" directory that can be very helpful.
NFS CAR MATERIALS - NFS-CarToolkit BASICS:
Materials are important for textures and UV maps, generally, you are assigining them in 3D editing software (such as Blender), you can assign any material name to any surface/face of the 3D object, however, it is advisable to keep names related to the texture/material you want it to be. You could use "MATERIAL1, MATERIAL2, ...", but for easier organization, you could use "CARBONFIBRE" for Carbon Fiber material, or "CARBONFIBRE_SPOILER" if there's specific texture that is different from normal carbon fiber textures. Assigning shaders and textures to the material is done in NFS-CarToolkit configuration file (we will cover that as well latter).
NFS CAR POSITION MARKERS - NFS-CarToolkit BASICS:
You can cover this one last, it's basically 3D objects (cubes) that mark position for specific effect/part. For example, light effects require markers, and they must have a specific name starting with underscore ("_PART") with material named "DEFAULT", so in light example, say we want to mark right brakelight, we use "_RIGHT_BRAKELIGHT_1" object and position it in 3D editing software on our model right brakelight. Same for any other marker, for example "_SPOILER_1" etc.
All markers use the same material that must be nammed "DEFAULT".
NFS-CarToolkit car configuration file:
This file is important for all parts, but especially for materials. The name of the configuration file should be the same as the name of the 3D geometry file, let's say we have "example.obj" geometry file, our configuration file would be "example.txt" and it should be located in the same location as the "example.obj" file. This will make it easier to work with, since we can use "auto" location when exporting later and not changing it when working with other models.
PARTS: This is the first part of the configuration file, it is in this format:
PART $game $3D_object_editing_software_name $WANTED_PART_NAME_FOR_THE_GAME
So, it basically lists and renames 3D geometry parts, "PART" is allways the same, it tells the software what it is, "$game" is the game we want the model to be used for, W = NFS World (it can be used for other BlackBox games MW = Most Wanted 2005, C = Carbon etc., it can also be used for multiple games separated by "|", or ALL for all supported games), "$3D_object_editing_software_name" is basically the name of the part in 3D software and "$WANTED_PART_NAME_FOR_THE_GAME" is the name we want for specific game. In general, it is wise to name objects in 3D software exactly as it would be named in game, unless you are doing one model for multiple games. Let's say our object is named "body" in 3D software, we want it to be named "KIT00_BODY_A" for the game, configuration would be:
PART W body KIT00_BODY_A
However, if we did name it "KIT00_BODY_A" in 3D software, we don't need it, or we can use:
PART W KIT00_BODY_A KIT00_BODY_A
MATERIALS: This is 2nd or 3rd part of the configuration file, it is in this format:
MATERIAL W $material_name $shader $texture
The first two we already covered under PARTS section, $material_name is the name we gave to the material in 3D editing software. As for $shader, it's the shader game would use on that material, there's limited number of shaders you could use, they are listed in "NFS-CarToolkit/Data/World/Shaders.txt". While $texture is the ".dds" texture file, it must be named by the list of available texture names in "NFS-CarToolkit/Data/World/Textures.txt", do not edit this file either, use it as an resource only. External textures must be nammed with car name in front, or easier/recommended "%_", where "%" is recognized by CarToolkit as car name.
So, final example line would be:
MATERIAL W RUBBER_TIRE RUBBER %_TIRE
You can also use generic textures listed in "NFS-CarToolkit/Data/World/GenericTextures.txt", again, do not edit this file, use it as resource only. In case you are using generic textures, you do not use car name in front, line with generic texture would be:
MATERIAL W RUBBER_TIRE RUBBER TIRE_STYLE01
POSITION MARKERS: The last part of our configuration file, it is in this format:
MARKER W $marker_3d_object_name $marker_function/effect $offset_base $x/y/z_offsets
First two already covered as before, "$marker_3d_object_name" is the 3D object name from editing software, $marker_function/effect is, well, the function of the marker, for example "RIGHT_BRAKELIGHT" or "EXHAUST_FX", complete list of all available functions/effects is located in "NFS-CarToolkit/Data/World/PositionMarkers.txt", do not edit this file either, use it as an resource only. The $offset_base is the part name from where offset of the marker is used, $x/y/z_offsets are the offsets from the base, on x,y and z axis, usually, you don't really need to play with offsets, but in some cases you might need it for effect to have desired angle etc., for example:
MARKER W _RIGHT_BRAKELIGHT_1 RIGHT_BRAKELIGHT KIT00_REAR_BUMPER_A 0 -90 0
However, in some cases where you need to change an angle, you might need to play with offsets, for example, side exhaust:
MARKER W _EXHAUST_FX_1 EXHAUST_FX BASE_A -80 -100 0
MARKER W _EXHAUST_FX_2 EXHAUST_FX BASE_A 80 -100 0
Once you have geometry, textures and you have created configuration file, you can export your model in binary format to your game via NFS-CarToolkit export function, selecting game root directory, if naming is done according to this tutorial, car configuration file should be loaded automatically. After it's exported without an error, you can test your model in game.
Important note here is, in export options to choose a proper game (in our case World), location of the game, and car you want to replace (many are named as CAR10xxm, you need to figure out the file name of your car).
Best practises:
If you are new to modding (for whom this tutorial is created), this is not a "silver bullet", but it should make your life easier, I would advise to try, say, to make 3D cube model and export it in game for a start, in software such as Blender, 3D cube is spawned as soon as you open application, so basically, you just need to delete other 2 objects spawned by the software, create and asign material to it, export it as Wavefront ".obj" file, create one texture for your material, create configuration file, and export the binary into the game, once you have a cube in game as an car, you know you have a basic understanding of the concepts described above. Good luck.
After you have done that, you can experiment with either example mod, or some other mod downloaded from the web. My own (Mushmula) conversions have all source files, so you can practise with that (or even make improvements that are more than welcome), or, you can experiment with other models or on your own, it is really up to you.
NFS-VltEd:
This is needed once you have a working car model, there are probably different or better ways of doing it now, but, I'm not familiar with them, this is what I know.
As mentioned in software requirements, this software edits NFS game database, in our case (NFS World), it deals with 3 files "attributes.bin", "commerce.bin" and "fe_attrib.bin", I would recommend backing up those files before doing anything.
We can edit many things via this application, but, we are concerned about two main things:
1. Car height and angle.
2. Wheel size, position, skidmarks, kit wheel offsets.
Say, we replaced Jaguar Type E with our car GEOMETRY.BIN and TEXTURES.BIN, we need to open NFS-Vlted, select our game directory (on the first run only), once attributes.bin etc. are loaded, navigate to ecar/default/racers/jaguaretype.
Then, we can start editing, depending on our model, we can experiment with:
"TireOffsets (0-3)" on x,y axis and w for size.
"RideHeight" - or +
"TireSkidWidth" (0-3) for width.
If tire skidmarks are not fitting, we can adjust "KitWheelOffsetFront" and "KitWheelOffsetRear" (0 for our own wheels, 1-15 for kit wheels) and latter change the offset once we have it in line.
For some replacement cars we can adjust "ExtraPitch" to our desired level.
For some cars, we can change "FECompressions (0-1)", but generally, it is smart to avoid this adjustment and adjust model directly in 3D software, unless it is already different and there's no need to be different for our new model, then, we can "level" rear and front to the same value.
"WheelWell" is kinda optional, we can adjust to closely mach our wheels.
After everything is done and working properly, we can export modscript via "Ctrl+E" shortcut or by going to File >> Export >> ModScript in ".nfsms" format. Good practise is to name that file "Install.nfsms", then copy what is contained in that script to another text document, name it "Uninstall.nfsms" and set values to default ones (if you forgot it, or didn't export before, just rollback to your backup files and view them).
Extensive list with all sorts of modifications could be found here (many do apply to World as well):
https://nfsmodderscorner.blogspot.com/2021/02/nfsmw-car-vlt-values-documentation.html
Potentially, can be very useful for Most Wanted 2005, Carbon and other BlackBox games.
OPTIONAL READ, UNRELATED, YOU CAN SKIP IT (motvation for this tutorial and all of the work):
While playing my favorite NFS game (NFS World), I saw (and enjoyed) all the great work done by a lot of people (Community), moders, programmers etc., at some point, after enjoying the game online (recommendation btw.), I've got a a wish to see one car in game (1936 Bugatti Type 57SC Atlantic). Since I do value effort and time of other people, I didn't feel comfortable to ask/demand that, since I do know most people do not care for that car in particular. While talking with others about cars in in-game-public-chat, one person gave a good advice = "Find already made model and convert it yourself", and since I was basically clueless about modeling, I sort of assumed I had to do it from the scrach, it never really occured to me I could simply convert it (yeah, stupid I know...).
However, there was an issue there, I basically had 0 clue how even 3D modeling works, let alone how to convert a car for specific game I wanted, finiding suitable model and so on are further issues yet to be faced. There are few youtube tutorials, some really good blog-style ones, but none of them were aimed at total noobs as myself, and those who were, were all over the place, with huge respect for people who invested their free time and effort to make them, often would leave you even more confused, either by not being clear about something, skipping important things, not really explaining in a way one could understand what he/she is doing and why, or simply by assuming knowledge those interested in it do not have.
With all that in mind, from the get go, I've decided to share all of the source files with my uploaded conversions, without restrictions and so on. The idea is simple, with source files provided, it would be much easier to learn for anyone who is interested in learning, and others could use those conversion as base for their own improvements, projects etc..
Hence why I decided to make this tutorial, since it could easilly be applied to other BlackBox games as well using NFS-CarToolkit, since it attempts to explain things so the reader can learn by understanding, not simply by copy-pasting.
Providing this tutorial as well with car conversion in my future uploads is something I'm very positive about, since I do believe the more moddelers and models = better for the whole community.
FOR MODDERS (established and future ones):
Since I do respect your time, please, if you can, convert any model you want from my uploads to other games (MostWanted, Carbon etc.), there's no need to credit me, since after all, it is your work, while using my conversions as base (assuming they satisfy the quality you seek for your own work), there's still a lot of work to be done, and saving of time isn't insignificant if you choose to do so.
TUTORIAL:
Software required for 3D models:
NFS-CarToolkit - https://nfs-tools.blogspot.com/2020/07/nfs-cartoolkit-v31-released.html
3D modeling software, "Blender" or something else, I saw people using "zModeler 3", it might be easier but limited, personal recommendation is Blender.
Image manipulation software, "GIMP" or something else with directdrawsurface (".dds") support, I saw people using "Paint.net" application, it's really up to your preference, I prefer free/OSS software, hence GIMP (with .dds plugin).
Software required for editing NFS database:
NFS-VltEd - https://nfs-tools.blogspot.com/2019/02/nfs-vlted-v46-released.html
Knowledge prerequisites:
General basic computer knowledge.
General game familiarity (knowing how to install/remove downloaded replacement car mod).
3D editing software basic knowledge, pivot point, objects origins, editing, spliting, joining, naming/renaming, UV editing and mapping of objects/materials, exporting/importing formats, formats familiarity etc.
Image manipulation software basic knowledge, editing image, formats familiarity, alpha channel, layers work etc., importing/exporting specific formats, potential plugins usage.
Important things to know:
NFS World cars have two files, GEOMETRY.BIN and TEXTURES.BIN, the first one have 3D model information, while the second one is a binary containing textures for the model. NFS car models use one wheel, and it is projected by the game for each location (front left/right and rear left/right).
NFS World engine uses 16 bit integers for mesh vertices definition, meaning up to 21845 triangles per part, keep that in mind.
3D MODEL - BASICS:
In order to do something, it's important to understand how something work, in this case, we need to cover base 3D model for NFS BlackBox games (World), as well as textures and textures mapping (we will cover markers as well). It's quite simple once you get familiar with the concepts.
- 3D model: It's based on basic triangles for creating any surface, NFS-CarToolkit works with multiple formats, but recommended format is Wavefront (.obj). Generally, the less triangles = better, however, more complexity requires more triangles, so balance is important to keep in mind. Take a look at "cube_0.jpg" and "cube_triangles.jpg" in examples.
- Textures: Simple 2D images that are projected/"glued" to the 3D surfaces of our model (groups of triangles) via "UV maps". Textures use ".dds" (direct draw surface) format in NFS BlackBox games, they are up to 512x512 pixels resolution. There are few levels of compression, we are interested in DXT1 and DXT3/DXT5, the main difference between DXT1 and DXT3/5 is that the second ones support transparency at the cost of the file size, DXT1 is for non-transparent images. Best practise is to use DXT1 and DXT3 depending on the texture requirements. Look at "texture_example.jpg". Important thing about textures is that they have limited number of names you can use for the game, it's explained under "NFS CAR MATERIALS - NFS-CarToolkit BASICS".
- UV maps: UV maps are basically "surfaces of the 3D object rolled out", the best way to explain is by example, look at "cube_uvmap.jpg"; left side = UV map, right side = object 3D view, as well at "cube_uvmap_tex.jpg" and "cube_uvmap_textured.jpg". It's basically surfaces of the 3D object arranged on flat 2D plane where our texture is projected.
One important thing for UV mappings are "face normals", basically, UV mapping covers only one side of the object, for example, our 3D cube is covered with textures only outside, if we were able to look from inside-out of our cube, in game, we wouldn't see anything, it would be transparent. This is done in order to increase game performance and usually, this is not an issue, since game models are designed with that in mind, however, it's important to know this.
NFS CAR PARTS - NFS-CarToolkit BASICS:
Required part for any NFS car model is "BASE_A", where "base" stands for part name and "A" stands for "LOD" (Level Of Details). We are not concerned with LODs in general, we can work with LOD_A only, and NFS-CarToolkit would automatically copy that LOD on all other LODs (B,C and on some parts D,E etc.).
All other parts start with KIT0X, for example "KIT00_BODY_A", KIT00 is usually what we work with, KIT01 for example would be some other body kit we could change, but that is more advanced, and we are not concerned about that either for now.
In short, we work with parts:
KIT#_$BODYPARTNAME_$LOD = KIT00_BODY_A for example.
NFS-CarToolkit have internal list of parts that are possible to use in "NFS-CarToolkit/Data/World/Parts_Racer.txt" for our car, it's IMPORTANT not to edit those lists/files, just use them as an resource for naming parts. There is also an example model in "NFS-CarToolkit/ExampleMod/" directory that can be very helpful.
NFS CAR MATERIALS - NFS-CarToolkit BASICS:
Materials are important for textures and UV maps, generally, you are assigining them in 3D editing software (such as Blender), you can assign any material name to any surface/face of the 3D object, however, it is advisable to keep names related to the texture/material you want it to be. You could use "MATERIAL1, MATERIAL2, ...", but for easier organization, you could use "CARBONFIBRE" for Carbon Fiber material, or "CARBONFIBRE_SPOILER" if there's specific texture that is different from normal carbon fiber textures. Assigning shaders and textures to the material is done in NFS-CarToolkit configuration file (we will cover that as well latter).
NFS CAR POSITION MARKERS - NFS-CarToolkit BASICS:
You can cover this one last, it's basically 3D objects (cubes) that mark position for specific effect/part. For example, light effects require markers, and they must have a specific name starting with underscore ("_PART") with material named "DEFAULT", so in light example, say we want to mark right brakelight, we use "_RIGHT_BRAKELIGHT_1" object and position it in 3D editing software on our model right brakelight. Same for any other marker, for example "_SPOILER_1" etc.
All markers use the same material that must be nammed "DEFAULT".
NFS-CarToolkit car configuration file:
This file is important for all parts, but especially for materials. The name of the configuration file should be the same as the name of the 3D geometry file, let's say we have "example.obj" geometry file, our configuration file would be "example.txt" and it should be located in the same location as the "example.obj" file. This will make it easier to work with, since we can use "auto" location when exporting later and not changing it when working with other models.
PARTS: This is the first part of the configuration file, it is in this format:
PART $game $3D_object_editing_software_name $WANTED_PART_NAME_FOR_THE_GAME
So, it basically lists and renames 3D geometry parts, "PART" is allways the same, it tells the software what it is, "$game" is the game we want the model to be used for, W = NFS World (it can be used for other BlackBox games MW = Most Wanted 2005, C = Carbon etc., it can also be used for multiple games separated by "|", or ALL for all supported games), "$3D_object_editing_software_name" is basically the name of the part in 3D software and "$WANTED_PART_NAME_FOR_THE_GAME" is the name we want for specific game. In general, it is wise to name objects in 3D software exactly as it would be named in game, unless you are doing one model for multiple games. Let's say our object is named "body" in 3D software, we want it to be named "KIT00_BODY_A" for the game, configuration would be:
PART W body KIT00_BODY_A
However, if we did name it "KIT00_BODY_A" in 3D software, we don't need it, or we can use:
PART W KIT00_BODY_A KIT00_BODY_A
MATERIALS: This is 2nd or 3rd part of the configuration file, it is in this format:
MATERIAL W $material_name $shader $texture
The first two we already covered under PARTS section, $material_name is the name we gave to the material in 3D editing software. As for $shader, it's the shader game would use on that material, there's limited number of shaders you could use, they are listed in "NFS-CarToolkit/Data/World/Shaders.txt". While $texture is the ".dds" texture file, it must be named by the list of available texture names in "NFS-CarToolkit/Data/World/Textures.txt", do not edit this file either, use it as an resource only. External textures must be nammed with car name in front, or easier/recommended "%_", where "%" is recognized by CarToolkit as car name.
So, final example line would be:
MATERIAL W RUBBER_TIRE RUBBER %_TIRE
You can also use generic textures listed in "NFS-CarToolkit/Data/World/GenericTextures.txt", again, do not edit this file, use it as resource only. In case you are using generic textures, you do not use car name in front, line with generic texture would be:
MATERIAL W RUBBER_TIRE RUBBER TIRE_STYLE01
POSITION MARKERS: The last part of our configuration file, it is in this format:
MARKER W $marker_3d_object_name $marker_function/effect $offset_base $x/y/z_offsets
First two already covered as before, "$marker_3d_object_name" is the 3D object name from editing software, $marker_function/effect is, well, the function of the marker, for example "RIGHT_BRAKELIGHT" or "EXHAUST_FX", complete list of all available functions/effects is located in "NFS-CarToolkit/Data/World/PositionMarkers.txt", do not edit this file either, use it as an resource only. The $offset_base is the part name from where offset of the marker is used, $x/y/z_offsets are the offsets from the base, on x,y and z axis, usually, you don't really need to play with offsets, but in some cases you might need it for effect to have desired angle etc., for example:
MARKER W _RIGHT_BRAKELIGHT_1 RIGHT_BRAKELIGHT KIT00_REAR_BUMPER_A 0 -90 0
However, in some cases where you need to change an angle, you might need to play with offsets, for example, side exhaust:
MARKER W _EXHAUST_FX_1 EXHAUST_FX BASE_A -80 -100 0
MARKER W _EXHAUST_FX_2 EXHAUST_FX BASE_A 80 -100 0
Once you have geometry, textures and you have created configuration file, you can export your model in binary format to your game via NFS-CarToolkit export function, selecting game root directory, if naming is done according to this tutorial, car configuration file should be loaded automatically. After it's exported without an error, you can test your model in game.
Important note here is, in export options to choose a proper game (in our case World), location of the game, and car you want to replace (many are named as CAR10xxm, you need to figure out the file name of your car).
Best practises:
If you are new to modding (for whom this tutorial is created), this is not a "silver bullet", but it should make your life easier, I would advise to try, say, to make 3D cube model and export it in game for a start, in software such as Blender, 3D cube is spawned as soon as you open application, so basically, you just need to delete other 2 objects spawned by the software, create and asign material to it, export it as Wavefront ".obj" file, create one texture for your material, create configuration file, and export the binary into the game, once you have a cube in game as an car, you know you have a basic understanding of the concepts described above. Good luck.
After you have done that, you can experiment with either example mod, or some other mod downloaded from the web. My own (Mushmula) conversions have all source files, so you can practise with that (or even make improvements that are more than welcome), or, you can experiment with other models or on your own, it is really up to you.
NFS-VltEd:
This is needed once you have a working car model, there are probably different or better ways of doing it now, but, I'm not familiar with them, this is what I know.
As mentioned in software requirements, this software edits NFS game database, in our case (NFS World), it deals with 3 files "attributes.bin", "commerce.bin" and "fe_attrib.bin", I would recommend backing up those files before doing anything.
We can edit many things via this application, but, we are concerned about two main things:
1. Car height and angle.
2. Wheel size, position, skidmarks, kit wheel offsets.
Say, we replaced Jaguar Type E with our car GEOMETRY.BIN and TEXTURES.BIN, we need to open NFS-Vlted, select our game directory (on the first run only), once attributes.bin etc. are loaded, navigate to ecar/default/racers/jaguaretype.
Then, we can start editing, depending on our model, we can experiment with:
"TireOffsets (0-3)" on x,y axis and w for size.
"RideHeight" - or +
"TireSkidWidth" (0-3) for width.
If tire skidmarks are not fitting, we can adjust "KitWheelOffsetFront" and "KitWheelOffsetRear" (0 for our own wheels, 1-15 for kit wheels) and latter change the offset once we have it in line.
For some replacement cars we can adjust "ExtraPitch" to our desired level.
For some cars, we can change "FECompressions (0-1)", but generally, it is smart to avoid this adjustment and adjust model directly in 3D software, unless it is already different and there's no need to be different for our new model, then, we can "level" rear and front to the same value.
"WheelWell" is kinda optional, we can adjust to closely mach our wheels.
After everything is done and working properly, we can export modscript via "Ctrl+E" shortcut or by going to File >> Export >> ModScript in ".nfsms" format. Good practise is to name that file "Install.nfsms", then copy what is contained in that script to another text document, name it "Uninstall.nfsms" and set values to default ones (if you forgot it, or didn't export before, just rollback to your backup files and view them).
Extensive list with all sorts of modifications could be found here (many do apply to World as well):
https://nfsmodderscorner.blogspot.com/2021/02/nfsmw-car-vlt-values-documentation.html
Pages1