Tutorial Setting up your model(s) in 3DS Max for PAS export (basic process)

Lengthier learning guides you can learn more in-depth processes to improve or setup NR2003 or related tool/programs
This tutorial is included in the Mod creation section but is applicable to track making section as well.


Preface

In this tutorial we will be going over the basic process of how to import your model(s) into 3ds max 8 for NR2003 PAS export process. You will learn how to properly cleanup your model from the import, create a material to apply to your model, and how to export it. A few things to consider before starting this tutorial:

Importing your models into 3ds max 8

For this demonstration we will be using a familiar 3do some of you have probably seen on my Armory Digital Superspeedway track, the infield Goodyear tires building:

1691174374142.png

1691174401376.png
Whether your model is for a trackside object in sandbox or you are making a model for a mod this process will be the same for setup and importation to 3ds max. I've already exported the model from blender in the OBJ legacy format. For your texture(s) on your models(s) these can be any format. In this demonstration I will only be working with a texture that is fully opaque (meaning no semi or fully transparent sections), we will go over textures thta include transparency in a future tutorial.


The next thing to do is boot up 3ds max 8. Assuming you have 3ds max 8 properly configured for NR2003 you can use the starter file I included in my [3DS Max 8] Setting 3DS Max 8 up for NR2003 tutorial (at the bottom) or make sure to double check at a minimum the scale of your scene in in meters.

So now lets import this goodyear building. To do this go to file > import and locate the obj file.

Note: If you don't see your OBJ files make sure to change at the bottom of the import window the file type to all files:

1691174806849.png

When you import it you will see this OBJ importer popup:

1691174910663.png

Everything can be set as the image above. Most import settings are it is set as single with texture coordinates, Normals, and OBJ smooth groups. Remeber in the previous tutorial we made smoothing on the model, this is telling the program to locate any of those so the model data retains it. After you confirm it all looks good click 'ok'

You may see a statistics popup next:

1691175053337.png

Don't be alarmed and just click 'ok'

Now your model that you fully made in blender (or another 3d application) is in the scene!

1691175101000.png

Throughout this tutorial (and every tutorial) make sure to save your 3ds max scene somewhere. Generally on larger 3do projects you may have multiple scenes so give your file name something easy to find and recognizable.


Cleaning your model up after importing

Once the model is in the scene there are a few steps we need to do first before applying any materials. It may look normal to the untrained eye but the model has some errors on it:

1691175211050.png

Many sections of the model have this black shading on it. If this is not resolved it would cause shading issues in NR2003 and not look at you expect. Since this is a building we want the model to appear like a hard surface from the normals hard edges we set in blender. To fix this it is quite easy. This is the FIRST thing I do with EVERY model I import into 3ds max 8.

To start click on the model then locate the utilities tab:

1691175383903.png

Next click on the option in this list called 'Reset XForm'

Screenshot_2.png

once highlighted you will notice at the bottom an option called 'reset selected' now appears:

1691175540310.png

Click this option once, you will notice almost immediately your model now has the proper normal smoothing data you added to it in blender:

1691175594251.png

See how it looks as expected and there are no weird black shading issues? I've seen those type of similar issues on other mods/objects and this is most likely the setting the creators forgot to check. What Reset XFrom essentially does in 3ds max is it removes all Rotation and Scale values from selected objects and places those transforms in an XForm modifier. When importing one model from one 3d application to another in some cases the tangent space on models is calculated differently which can cause strange smoothing issues until the scale and transform values are 'reset' to 0.0. It is always best practice even when not importing your models between different applications to ensure all the transforms are zeroed out when possible to eliminate issues like this (when possible).

Now that we've got this resolved there is one last step with the XForm to do. The XForm is a modifier so its temporarily placed on the model. While you can export models with the modifier on I usually like to 'bake' it into the model so this change is permanent (especially if you need to stack other modifiers on later).

To do this now go to the modifiers tab:

1691175984459.png

This is the modifiers 'stack' you are seeing and you can see the XForm we created is indeed in the modifier list right under 'editable mesh'. If you toggle the light bulb you can see your model changes from fixed to broken shading in the viewport. Make sure you leave the light bulb toggled on however for this next step.

Note: The model you have selected is what will populate anything here, so make sure you have the right model selected first.

Last but not least to include this modifier as a permanent fixture to our model right click on the XForm modifier and choose 'collapse all' option. When you do a warning will pop up:

1691176364619.png

This is simply warning that if you have other modifiers in the stack it will also collapse them too. We only have one so its not an issue. If your model did you could just choose the 'collapse To' option:

1691176458040.png

This simply will clarify the selected modifiers will be the ONLY ones affected. Once collapsed you will now see the XForm modifier gone from the stack and your model still looks as expected:

1691176534790.png

and that concludes the cleanup part. Do these steps for EVERY model you import and you will eliminate any common issues in compiling for NR2003 with position, rotation, and normal smoothing issues


Organizing your model(s)

In this demo we are only dealing with one model (for now). But in more complex scenes (like a mod) you may potentially have hundreds of models. It can start to get confusing REAL fast with so many in a single scene, especially when you need to call them in a script to compile. The 2 fastest ways to have clean organization are easy to understand naming conventions with your models and using folders in the layer panel to categorize your models.

Lets start by renaming our model. When we imported it, 3ds max will usually give it a default name or the one from the blender scene. In this instance it is called 'default'. To find out the name of your model there are 2 easy places to locate it. The first being from the create tab as shown here:

1691176923228.png

You can see at the bottom of the image it shows the name as 'default' and the color is purple. The color doesn't matter, its just a placeholder that 3ds randomizes on object import. Lets give our model the name good_L1

You can give your model any name you want except keep a few things in mind because we are using this model for a compile script with NR2003 psg:
  • Your names cannot start with a number or special character. Use simple uppercase or lowercase letters (upper or lower does not matter)
  • Long and convoluted names is not recommended, create names for your models that are short, concise, and give the main info you need to know what you are looking at
  • Try to never have any gaps in your names. For example a name like the building works but if you need to do quick changes in your script it becomes harder to find and replace compared to a name like the_building In the scripting tutorial basics we will go over in more detail the naming convention stuff. For now, just remember no spaces for your model names is ALWAYS better.
For this example I named it good_L1 why?

1691177392572.png

To start I chose 'good' first as this is a goodyear building, something easy to remember it by either in the 3ds scene itself or the code when I write it. Next I used an underscore to connect the next part, having NO GAPS in your names is HIGHLY recommended. The last part 'L1' simply stands for LOD Level 1. This just means it is the highest level of detail for the model. While in this tutorial we are not going over LOD creation I just like to set good habits in naming. In the scripting tutorials I will go over in detail why it important but for now just remember to keep things short and sweet, no gaps, and a simple original name.

After you named your model something the second form of organization is the layer panel. To find this on the top toolbar of 3ds max find the layers icon and click it.

1691177675891.png

You should see a panel open on the right side. This panel you can undock and move to another monitor if you have a multi-monitor setup like me. The panel will look like this:

1691177767030.png

If you expand the 'default' layer you will see our model listed. If you click the name of our model you can see this is the 2nd area you can rename a model too. For this demo we are not going to go in-depth with organizing the layer panel but this allows you to create and name new layers where you can move and group your models. Also if your scene has a lot of models you can click on the models from the layers panel to highlight them in your viewport for editing.

Note: Unlike renaming your model which is crucial, layers and groups in your layers panel has NO EFFECT for the scripting and/or compiling process. You can organize as much or as little as your want. Its always recommended in more complex scenes to keep things organized though and give your model names and layer names easy to remember names to find them quickly in a list of models.


Creating and Applying material to your model

The last and final step in the basics for a NR model is applying a compatible material to your model before exporting the PAS file. For this go to the material editor tab on the top of your toolbar and open it up:

1691178380140.png

Like the layers panel, you can undock the material editor panel as well. It should look similar to this with all default grey spheres:

1691178643627.png

Choose any of the spheres (generally start from the top left one) and click it. When you do you will see a bunch of material properties below:

1691178618397.png

From here we need to apply the one texture our model had (if you model has more then 1 texture or specular/environment shading we will cover that in a future advanced tutorial). The default shader should be on 'blinn':

1691178795310.png

9/10 you will rarely if ever need to use a different shader type for NR2003, especially since most models do not have dynamic reflections so its not important. Once you have confirmed it is on blinn go to the bottom section and expand the 'Maps' section you will see a list of Map types that can be applied to a material:

1691178909869.png

NR2003 only can recognize 3 of these:

Diffuse
Specular Color
Reflection

If your model has any other type applied your model will not compile. For this tutorial we are keeping things basic and just going with the 'Diffuse' map. Diffuse is another word for albedo or 'Color' This s the main map or 'texture' for your model. Click the 'None' button next to diffuse a a new window will pop up:

1691179056652.png

This is a lot of options but we only need one for now, choose at the very top the 'Bitmap' option and double click it. A new window will appear 'Explorer' and find the texture in your PC for your model wherever you had it saved.

For my model I have a PNG file called goodyear_building.png

Note: Your file type does not matter as long as the texture has the correct name (the name you will use on the MIP for the 3do) AND the texture contains transparency (or no transparency) if the model is supposed to have it or not. In this case this building has no transparent sections. A fun fact is in the material for 3ds its simply used as a placeholder for the scripting and PAS file because the final texture is obviously a MIP file which 3ds does not work with.

Tip: You could take any texture (that is of the same texture ratio) and actually use it as the texture for your model in 3ds as long as it has the name you expect your MIP file name to be too.

Once you open the texture up you will notice the preview sphere has updated:

1691179248882.png

Also below in the material properties a sub section for the diffuse map now show data:

1691179680148.png

9/10 you will never need to change anything in these settings. The only setting you want to double check is if the Alpha source is correct. In this instance because we are dealing with a non-transparent texture the source should be set to None and it is:

1691179746930.png

After this we can apply our texture to the model now. Using the up arrow in the material editor we can navigate back to the main section:

1691179822947.png

You can now see the diffuse box is auto-checked and the texture we added is in that slot:

1691179870945.png

Next click your model from the 3ds viewport and choose from the material panel the apply texture to model button:

1691179995547.png

Your model now has the texture. If it appears grey in the viewport first make sure that smooth + highlights is enabled in the viewport. If it is still grey in the material editor panel toggle the checkbox on, this will render that material onto the models it was applied on.

1691179967906.png

With this we have completed all steps for a simple model in 3ds max that is now ready for PAS export:

1691180137037.png

Make sure to save your scene as well again at this point.

Note: Do not be alarmed if your texture appears very low resolution, 3ds max 8 is an older program and only rendered images in the viewport at lower quality than the full version.


Exporting your model to PAS format

The last and final step which concludes the 3ds max part of the development for a NR2003 3do is exporting it into the PAS format. To do this go to File > Export... option

Note: you do not need to have any models in the scene selected as we are exporting all models.

The reason why we choose Export instead of Export selected is usually multiple models are in a PAS scene that you can call in a script. You can totally just choose the selected ones in your scene to export but its easier to just export the whole scene every time. This will be explained more in detail with the compiling/scripting tutorials.

From the export window choose the file type as PAS and give your PAS file a name:

1691180769312.png
I am just naming it as 'good'. The only real importance of a PAS filename is what name will be used in the script to call the models and so your remember what it is. After that save the file and you have successfully made a PAS file!

1691180880963.png

The PAS file was always very mysterious to people, especially when you never had an inside look to 3do development. Hopefully this basic tutorial shows what goes into the process for a very very basic model.

In future tutorials we will go over more advanced model and material setups for a PAS file. And of course, tutorials on the next step of taking the PAS file and making a script that can create the coveted 3do file in the true NR2003 3do format that gives you full range of scripting possibilities and performance benefits that 3dssimed3 method cannot.

Tip: When you become experienced in this process from this tutorial you can import and setup a basic model with a material to PAS in less than a minute.
 

Attachments

  • 1691175431147.png
    1691175431147.png
    9.9 KB · Views: 2
  • 1691175449073.png
    1691175449073.png
    9.9 KB · Views: 2
  • 1691178519144.png
    1691178519144.png
    35 KB · Views: 2
  • 1691179544558.png
    1691179544558.png
    19.1 KB · Views: 2
Last edited:
Joined
Sep 7, 2022
Posts
12
Reaction score
5
Points
3
This is applicable to both car models and track detail models?
(nvm this you already mentioned it I am stupid)
 

Mystical

Test Rank
Staff member
Admin
Joined
May 28, 2022
Posts
577
Reaction score
430
Points
63
Website
adracingdesigns.com
This is applicable to both car models and track detail models?

Correct for basic models same setup for a model that could turn into a track model or a part on a car mod. The more advanced options for materials in future tutorial is where some settings need to be specific to a car mod but for the most part is the scripting phase that is radically different and a car mod script is much more complicated compared to a trackside 3do.

A trackside 3do usually just sits there, maybe it will animate with caution lights or have a switch for a day or night track but for the most part 'overall' simple. Like with the cube mod I made, that hilariously still required a lot of scripting for a simple model becasue we have to tell the game the player can drive this and what part of the car it is.
 
Joined
Jun 12, 2022
Posts
127
Reaction score
166
Points
43
Correct for basic models same setup for a model that could turn into a track model or a part on a car mod. The more advanced options for materials in future tutorial is where some settings need to be specific to a car mod but for the most part is the scripting phase that is radically different and a car mod script is much more complicated compared to a trackside 3do.

A trackside 3do usually just sits there, maybe it will animate with caution lights or have a switch for a day or night track but for the most part 'overall' simple. Like with the cube mod I made, that hilariously still required a lot of scripting for a simple model becasue we have to tell the game the player can drive this and what part of the car it is.
It's funny how you made the Cube mod as a joke, yet it has been embraced as well as it has with several "cube sets" :p
 

Mystical

Test Rank
Staff member
Admin
Joined
May 28, 2022
Posts
577
Reaction score
430
Points
63
Website
adracingdesigns.com
It's funny how you made the Cube mod as a joke, yet it has been embraced as well as it has with several "cube sets" :p

Yeah I made it to prove to all the people that said the car body in NR2003 affects how it races. When in reality the scripting and meshes is 100% cosmetic, there is that 'feeling' diferent mods give you when racing due to the camera angles and how the model looks more sleek or bulky but its all an illusion. Similar to how people drinking different colored water think it tastes sweeter or bitter but its all the same thing.

Cube mod also helped me find why my mods were not having shadows from structures on them when I booted it in the game and saw it did have the shadows so I looked through my code to see the differences. So in a lot of ways cube mod as a joke I spent only like an hour on still pays dividends to this day lol
 
Joined
Jun 12, 2022
Posts
127
Reaction score
166
Points
43
Yeah I made it to prove to all the people that said the car body in NR2003 affects how it races. When in reality the scripting and meshes is 100% cosmetic, there is that 'feeling' diferent mods give you when racing due to the camera angles and how the model looks more sleek or bulky but its all an illusion. Similar to how people drinking different colored water think it tastes sweeter or bitter but its all the same thing.

Cube mod also helped me find why my mods were not having shadows from structures on them when I booted it in the game and saw it did have the shadows so I looked through my code to see the differences. So in a lot of ways cube mod as a joke I spent only like an hour on still pays dividends to this day lol
Outside of BeamNG.Drive It is hard to think of a sim that DOES use the car model itself for any actual physics calculations. Yeah devs and modders may use the model to setup references or figure out where and how physics calculation should be done, but that is all mathmatical formulas under the hood, and I'd assume you could take almost any engine out there and make a "cube mod" for it.
 
Joined
Feb 13, 2023
Posts
45
Reaction score
20
Points
8
Question: is it possible to use multiple images for the models, or do they have to be separate models for separate textures?
 

Mystical

Test Rank
Staff member
Admin
Joined
May 28, 2022
Posts
577
Reaction score
430
Points
63
Website
adracingdesigns.com
Yes you can assign multiple textures to a single object. Just need to have a different material for a different texture. Then you select the face(s) on the model and assign material. It will only apply the texture to those faces.
 
Who read this thread (Total readers: 6)
Top