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:
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:
When you import it you will see this OBJ importer popup:
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:
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!
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:
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:
Next click on the option in this list called 'Reset XForm'
once highlighted you will notice at the bottom an option called 'reset selected' now appears:
Click this option once, you will notice almost immediately your model now has the proper normal smoothing data you added to it in blender:
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:
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:
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:
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:
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:
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
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:
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.
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:
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:
Like the layers panel, you can undock the material editor panel as well. It should look similar to this with all default grey spheres:
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:
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':
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:
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:
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:
Also below in the material properties a sub section for the diffuse map now show data:
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:
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:
You can now see the diffuse box is auto-checked and the texture we added is in that slot:
Next click your model from the 3ds viewport and choose from the material panel the apply texture to model button:
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.
With this we have completed all steps for a simple model in 3ds max that is now ready for PAS export:
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:
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!
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.
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:
- You already know how to export properly models that will be compatible with 3ds max 8 importing, if not please refer to Preparing your model(s) in blender to 3ds max for 3do compile tutorial first
- You have 3ds Max 8 installed AND setup properly for NR2003 development, if not please refer to [3DS Max 8] Setting 3DS Max 8 up for NR2003 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:
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:
When you import it you will see this OBJ importer popup:
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:
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!
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:
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:
Next click on the option in this list called 'Reset XForm'
once highlighted you will notice at the bottom an option called 'reset selected' now appears:
Click this option once, you will notice almost immediately your model now has the proper normal smoothing data you added to it in blender:
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:
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:
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:
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:
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:
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 likethe_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.
good_L1
why?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.
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:
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:
Like the layers panel, you can undock the material editor panel as well. It should look similar to this with all default grey spheres:
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:
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':
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:
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:
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:
Also below in the material properties a sub section for the diffuse map now show data:
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:
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:
You can now see the diffuse box is auto-checked and the texture we added is in that slot:
Next click your model from the 3ds viewport and choose from the material panel the apply texture to model button:
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.
With this we have completed all steps for a simple model in 3ds max that is now ready for PAS export:
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:
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!
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
Last edited: