Mod creation progress

I got it import in game!! I have some issues with the textures, but I'm almost sure I'll be able to fix them. However, I noticed a weird thing about my models. At some angles, some objects become transparent. I guess it's something to do with the render option "2 faces sided", but when I try it, it breaks the game wich leads me to conclude that nr2003 can't handle 2 faces sided. So, I don't know what I can do.
View attachment 4717View attachment 4718
View attachment 4716
Looking good so far, you've officially now come further along than most (including me)
 
Looking good so far, you've officially now come further along than most (including me)
Thanks DaleTona75,

Very happy with what I've achieved. This wouldn't have been possible without Mystical's help. So this mod is in part real because of him. I'm still learning a lot and hope to get the most out of this mod that I'm capable of achieving.
 
2 faces sided works for NR2003, I used it on my track models, however you shouldn't use it for meshes that have faces right next to other ones. It looks like the inner shell mesh is z-fighting with the exterior body shell.
 
2 faces sided works for NR2003, I used it on my track models, however you shouldn't use it for meshes that have faces right next to other ones. It looks like the inner shell mesh is z-fighting with the exterior body shell.
I actually made it with only 1 sided faces. However, I now have an issue with textures. It looks like they are waaayyyy too large for the model which ended up to look like the last pics I sent. Do I actually need to resize them only in the mip or also in max? I try to resize the mips without success.

And finally, sometimes the game crash. It happens when I'm crashing into someone or when the shadows from structures are enabled. Will the lods that I will create in the future fix this?
 
When you mean too large for the model can you show me an example? Generally textures fit a model ince you textured then following the UV's.

As for crashing yes, that will happen a lot with a mod that isn't optimized well. Thats why LODs are extremely important. Having all 43+ cars at 5-7k tris and no LODs will easily make the game crash and crash often, players with lower-end pcs and laptops will probably not even be able to use the mod at all.
 
When you mean too large for the model can you show me an example? Generally textures fit a model ince you textured then following the UV's.

As for crashing yes, that will happen a lot with a mod that isn't optimized well. Thats why LODs are extremely important. Having all 43+ cars at 5-7k tris and no LODs will easily make the game crash and crash often, players with lower-end pcs and laptops will probably not even be able to use the mod at all.
Awesome. Will be doing the lods when the textures will be fixed.

For the textures, here's the pic.
1718241125735.png

These are the skins I actually load. As you can see (except the Chevy for some strange reason), it looks like every car has every texture, but zoomed in too much

1718241272757.png

Edit: Should I worry about them crashing when shadows from structures are on? I don't want to have the same issue as the FCRD mod.
 
You'll need to check the UV's of the model, does it appear fine in 3ds max? Also for the material the texture must be named card for the paintjob and the 4 manufacturer files the game will default load (before a user imports a texture to a new car in opponent manager) is the standard:
card_chevrolet
card_dodge
card_ford
card_pontiac

mip names
 
You'll need to check the UV's of the model, does it appear fine in 3ds max? Also for the material the texture must be named card for the paintjob and the 4 manufacturer files the game will default load (before a user imports a texture to a new car in opponent manager) is the standard:
card_chevrolet
card_dodge
card_ford
card_pontiac

mip names
They are showing correctly in max and the paintjob material is also named card. I will check if it's the image ratio that isn't the same as the one in max.
 
Image ratio can be different as long as its the same square ratio. For example in max I could use a 512x512 placeholder PNG file of just a grey texture called "card.png but for the game folder have a 2048x2048 card.mip with actual car textures on it. Its a nice little trick that can help save a lot of time just using proxy images in 3ds max when you don't need to see the original texture.
 
Image ratio can be different as long as its the same square ratio. For example in max I could use a 512x512 placeholder PNG file of just a grey texture called "card.png but for the game folder have a 2048x2048 card.mip with actual car textures on it. Its a nice little trick that can help save a lot of time just using proxy images in 3ds max when you don't need to see the original texture.
I corrected it. It was something in the MIP options. I don't even know what I did, but it works.

NR2003 2024-06-14 11-47-55.png
On the other hand, I still have something weird with the textures. Now, whether they are in the game or on the 3do file in 3DSIMED, they are the same. Only problem, those in 3DSIMED don't look like the one I had in MAX. It's like the UVs change when exporting to 3do.

I'll do some trial and error to get the textures right and see if it works.
 
I take pictures of the 3do in 3DSIMED and the object in max so you can see what I'm talking about for the uv that doesn't look right



Capture d’écran 2024-06-15 150552.pngCapture d’écran 2024-06-15 150603.pngCapture d’écran 2024-06-15 150611.pngCapture d’écran 2024-06-15 150616.pngCapture d’écran 2024-06-15 150637.pngCapture d’écran 2024-06-15 150647.pngCapture d’écran 2024-06-15 150653.pngCapture d’écran 2024-06-15 150659.png
 
My only guess is you have the wrong window material for the other car makes and its referencing those so it will be off-enter on the UVs for the meshes. I don't use pre-made models/textures so never had issues with UV alignment or material assignments as I did everything from scratch meaning manual setup every time.
 
My only guess is you have the wrong window material for the other car makes and its referencing those so it will be off-enter on the UVs for the meshes. I don't use pre-made models/textures so never had issues with UV alignment or material assignments as I did everything from scratch meaning manual setup every time.
I decided to edit the uvs by trial and error and it's working. Not the fastest method, but it works. Thank you very much for your answer.

I still have 2 questions.

First, I decided to put the tires and rims on the template so they can be painted. However, they are now having reflections. Is there a way to avoid this?

Also, I noticed that my mod doesn't have shadows from structures on the car. When they are enabled, they game run fine (not like fcrd mod), but there are not shadows on the models. Is there a line of code for this?
 
1) For any meshes that has its texture on the paintable template you will need to adjust your shiny.mip texture gloss values in that section of the texture to make it more glossy or less

2) For shadows rendering on the mod you need to compile your output with -d this makes the model 'dynamic' meaning it will react to shadows on the car from structures or other cars and have reflections. You will notice a massive performance dip most likely and thats expected since its calculating all the shadows on the car (like every mod does) this is where you will see LOD performance be very important, especially on highly graphic intensive tracks.
 
1) For any meshes that has its texture on the paintable template you will need to adjust your shiny.mip texture gloss values in that section of the texture to make it more glossy or less

2) For shadows rendering on the mod you need to compile your output with -d this makes the model 'dynamic' meaning it will react to shadows on the car from structures or other cars and have reflections. You will notice a massive performance dip most likely and thats expected since its calculating all the shadows on the car (like every mod does) this is where you will see LOD performance be very important, especially on highly graphic intensive tracks.
1) Awesome. I got it fixed. Thank you for this advice.

2) For this problem, this didn't solve it. The mod was already coded as "dynamic", but the shadows still didn't work. However, I think this might be due to the paint itself. It seems that it does not act as a painting as such. For example, when I try to import a skin to the car, it just changes the color of the wheels and not the body. I think there might be a problem with how the paintjob texture works and this affects the shadows on car too.

As you can see I named it paintjob and assign it a card.mip (which looks perfect in the game), a shiny.mip and the environ.mip (these two also works perfectly). It's just when I try to assign a texture or have shadows on the car, it does not work.

Thanks
1718748811303.png
1718748790275.png
 
Just to confirm in your code you have the RENAME_MAT (paintjob paintjob) after your MESH_GROUP pas name? The rename mat essentially will look for a material in the pas file named paintjob and rename it to 'paintjob' which in NR2003 is recognized as the car's paintjob where you can use the import tga button in opponent manager for. The same goes for the window for the cockpit view.
 
Yes, it looks like this:

1718812841071.png

For paint, it imports on the car but it's just a solid color. I think for the import issue it might be something with the alpha channel on the tga file. I saw somewhere that to work in nr2003, the alpha channel had to be removed.

First pic is when creating a new car with the default mip and the second one is the same textures as the mip, but imported through the opponent manager as a tga file
NR2003 2024-06-19 13-33-43.pngNR2003 2024-06-19 13-33-30.png

As for the shadows on the car, I have no idea what can be wrong. Could it be my bbox min and max data that are incorrect? I only copy paste the original cup code for the box and I don't see any warning assigning grayish material to the bbox like I saw in Burnout3d video. Could it be because of this?
 
Last edited:
That is correct for paintjob you cannot have any transparency make sure that is not turned on in 3ds max or any transparency in your paintjob texture. I don't think I've run into an issue with importing though, as long as your imported texture matches the same square ratio (512x512, 1024x1024, 2048x2048 etc it should work).

For ICR I used a 4098x2048 template so I import 2048x1024 textures for the game compressed and it work fine because its the same square ratio of the UV's on the mod.


For Shadows make sure in your code where you are grouping the masterMinMax in your exported exterior group line, having the coordinates at the top doesn't tell make3do to export shadows.

like this example:
extview: GROUP masterMinMax (extView1)


This is the ONE time in scripting that I know of where you don't include an element in the GROUP () but just before it.
 
That is correct for paintjob you cannot have any transparency make sure that is not turned on in 3ds max or any transparency in your paintjob texture. I don't think I've run into an issue with importing though, as long as your imported texture matches the same square ratio (512x512, 1024x1024, 2048x2048 etc it should work).

For ICR I used a 4098x2048 template so I import 2048x1024 textures for the game compressed and it work fine because its the same square ratio of the UV's on the mod.


For Shadows make sure in your code where you are grouping the masterMinMax in your exported exterior group line, having the coordinates at the top doesn't tell make3do to export shadows.

like this example:
extview: GROUP masterMinMax (extView1)


This is the ONE time in scripting that I know of where you don't include an element in the GROUP () but just before it.
It's weird because there is no transparency on any of my textures. I read your Winmip2 thread and saw the mapping settings I was talking about. When set to 0, the skin displays correctly (weird since it's supposed to be textured like a mosaic). Every time I try to put the map settings to 3 (the normal setting I think) it gives me the same strange car as above.

For the shadows, I have to put the masterminmax code where exactly?

Code:
##################################
#
#  Sample PSG File
#
#  by Fred Anderson (fred@speedcircuit.com)
#
#  thanks to:    Papyrus
#        TheUSPits
#        Kevin Combs
#
#  models and Graphics copyright Papyrus 2003
#
##################################



##################################
#
#  Initial Variables
#
##################################
# Empty mesh which can be used in LODs
maEmpty: EMPTY_MESH
masterMinMax: BBOX MIN (-3.02300000190735, -0.961000025272369, -0.328999996185303) MAX (2.2260000705719, 0.961000025272369, 0.916000008583069)

# External View Bounding Box. Is used to prevent extrem lower fps when "on car shadows" are activated
maxCars:    MESH_GROUP "car.PAS" RENAME_MAT (paintjob paintjob)




# Mips which are used for the different wheel states
slowbrdg: MIP "slowgdyr_wc.mip"
medbrdg: MIP "mediumgdyr_wc.mip"
fastbrdg: MIP "fastgdyr_wc.mip"
#####################################################
#
# Custom wheels
#
#####################################################

#####################################################
# Left Front
#####################################################

###################
# Slow Speed Tire
###################

# I have to load the wheels from my scene.
# L1 is the high poly model
# L4 is the med poly model
# L7 is the low poly model
# you can use more than 3 Level of Detail (LOD),
# but for my mods 3 are enough

L1_left_tire:     MESH maxCars wheel_lf
L4_left_tire:     MESH maxCars wheel_lf
L7_left_tire:     MESH maxCars wheel_lf


L1_LF_LOD1:        GROUP(L1_left_tire)
L4_LF_LOD4:        GROUP(L4_left_tire)
L7_LF_LOD7:        GROUP(L7_left_tire)

# LF Slow LOD
# I prefer STATIC_LOD to get better fps for people with low end PC.
LF_slow: STATIC_LOD (0     L1_LF_LOD1,
                2         L1_LF_LOD1,
                4.5     L1_LF_LOD1,
                6.8     L4_LF_LOD4,
                9.2     L4_LF_LOD4,
                12.3     L4_LF_LOD4,
                16.4     L7_LF_LOD7,
                20.9     L7_LF_LOD7,
                30.5     L7_LF_LOD7,
                48.2     L7_LF_LOD7,
                70         L7_LF_LOD7)
LF_slow_all: GROUP (LF_slow)


###################
# Medium Speed Tire
###################

L1_left_tire_M:         COPY L1_left_tire
L4_left_tire_M:         COPY L4_left_tire
L7_left_tire_M:         COPY L7_left_tire

# here we swap the slow speed texture with medium speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_M slowbrdg medbrdg

L1_LF_LOD1_M:        GROUP(L1_left_tire_M)
L4_LF_LOD4_M:        GROUP(L4_left_tire_M)
L7_LF_LOD7_M:        GROUP(L7_left_tire_M)

#LOD
LF_med: STATIC_LOD         (0     L1_LF_LOD1_M,
                2         L1_LF_LOD1_M,
                4.5     L1_LF_LOD1_M,
                6.8     L4_LF_LOD4_M,
                9.2     L4_LF_LOD4_M,
                12.3     L4_LF_LOD4_M,
                16.4     L7_LF_LOD7_M,
                20.9     L7_LF_LOD7_M,
                30.5     L7_LF_LOD7_M,
                48.2     L7_LF_LOD7_M,
                70     L7_LF_LOD7_M)
LF_med_all: GROUP (LF_med)


###################
# Fast Speed Tire
###################

L1_left_tire_F:         COPY L1_left_tire
L4_left_tire_F:         COPY L4_left_tire
L7_left_tire_F:         COPY L7_left_tire

# here we swap the slow speed texture with fast speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_F slowbrdg fastbrdg

L1_LF_LOD1_F:        GROUP(L1_left_tire_F)
L4_LF_LOD4_F:        GROUP(L4_left_tire_F)
L7_LF_LOD7_F:        GROUP(L7_left_tire_F)

#LOD
LF_fast: STATIC_LOD         (0     L1_LF_LOD1_F,
                2     L1_LF_LOD1_F,
                4.5     L1_LF_LOD1_F,
                6.8     L4_LF_LOD4_F,
                9.2     L4_LF_LOD4_F,
                12.3     L4_LF_LOD4_F,
                16.4     L7_LF_LOD7_F,
                20.9     L7_LF_LOD7_F,
                30.5     L7_LF_LOD7_F,
                48.2     L7_LF_LOD7_F,
                70     L7_LF_LOD7_F)
LF_fast_all: GROUP (LF_fast)


####################
#
# Speed State Switch
# The Speed State Switch swaps the tire models with the modified texture,
# at different speeds.
#
####################

wheelSpeedlf: STATE_SWITCH VAR wheel_speed_0 (0 LF_slow_all, 1 LF_med_all, 2 LF_fast_all, 3)


#####################################################
# Right Front
#####################################################

###################
# Slow Speed Tire
###################

L1_right_tire:     MESH maxCars wheel_rf
L4_right_tire:     MESH maxCars wheel_rf
L7_right_tire:     MESH maxCars wheel_rf


L1_RF_LOD1:        GROUP(L1_right_tire)
L4_RF_LOD4:        GROUP(L4_right_tire)
L7_RF_LOD7:        GROUP(L7_right_tire)

# rf Slow LOD
RF_slow: STATIC_LOD        (0     L1_RF_LOD1,
                2     L1_RF_LOD1,
                4.5     L1_RF_LOD1,
                6.8     L4_RF_LOD4,
                9.2     L4_RF_LOD4,
                12.3     L4_RF_LOD4,
                16.4     L7_RF_LOD7,
                20.9     L7_RF_LOD7,
                30.5     L7_RF_LOD7,
                48.2     L7_RF_LOD7,
                70     L7_RF_LOD7)
RF_slow_all: GROUP (RF_slow)


###################
# Medium Speed Tire
###################

L1_right_tire_M:         COPY L1_right_tire
L4_right_tire_M:         COPY L4_right_tire
L7_right_tire_M:         COPY L7_right_tire

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_M     slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_M    slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_M    slowbrdg medbrdg

L1_RF_LOD1_M:        GROUP(L1_right_tire_M)
L4_RF_LOD4_M:        GROUP(L4_right_tire_M)
L7_RF_LOD7_M:        GROUP(L7_right_tire_M)

# rf Slow LOD
RF_med: STATIC_LOD         (0     L1_RF_LOD1_M,
                2     L1_RF_LOD1_M,
                4.5     L1_RF_LOD1_M,
                6.8     L4_RF_LOD4_M,
                9.2     L4_RF_LOD4_M,
                12.3     L4_RF_LOD4_M,
                16.4     L7_RF_LOD7_M,
                20.9     L7_RF_LOD7_M,
                30.5     L7_RF_LOD7_M,
                48.2     L7_RF_LOD7_M,
                70     L7_RF_LOD7_M)
RF_med_all: GROUP (RF_med)


###################
# Fast Speed Tire
###################

L1_right_tire_F:         COPY L1_right_tire
L4_right_tire_F:         COPY L4_right_tire
L7_right_tire_F:         COPY L7_right_tire

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_F     slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_F    slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_F    slowbrdg fastbrdg

L1_RF_LOD1_F:        GROUP(L1_right_tire_F)
L4_RF_LOD4_F:        GROUP(L4_right_tire_F)
L7_RF_LOD7_F:        GROUP(L7_right_tire_F)

# rf Slow LOD
RF_fast: STATIC_LOD         (0     L1_RF_LOD1_F,
                2     L1_RF_LOD1_F,
                4.5     L1_RF_LOD1_F,
                6.8     L4_RF_LOD4_F,
                9.2     L4_RF_LOD4_F,
                12.3     L4_RF_LOD4_F,
                16.4     L7_RF_LOD7_F,
                20.9     L7_RF_LOD7_F,
                30.5     L7_RF_LOD7_F,
                48.2     L7_RF_LOD7_F,
                70     L7_RF_LOD7_F)
RF_fast_all: GROUP (RF_fast)

####################
# Speed State Switch
####################

wheelSpeedrf: STATE_SWITCH VAR wheel_speed_1 (0 RF_slow_all, 1 RF_med_all, 2 RF_fast_all, 3)


#####################################################
#
# Im a bit lazy, thats why i copy my LF Tire for the LR Tire.
# Left Rear (copy of Left Front)
#
#####################################################

####################
# Speed State Switch
####################

wheelSpeedlr: STATE_SWITCH VAR wheel_speed_2 (0 LF_slow_all, 1 LF_med_all, 2 LF_fast_all, 3)


#####################################################
#
# Same procedure like i used for the LR tire, but this time i copy the RF tire.
# Right Rear (copy of Right Front)
#
#####################################################

####################
# Speed State Switch
####################

wheelspeedrr: STATE_SWITCH VAR wheel_speed_3 (0 RF_slow_all, 1 RF_med_all, 2 RF_fast_all, 3)


#########################################
#
# here we set up our tire a give them the right position.
# I do it this way, cos you can have for each make different wheels positions.
# But for the SIMoCOT i just needed one.
#
###########################################
rfwheelObj: GROUP (wheelspeedlf)
lfwheelObj: GROUP (wheelspeedrf)
rrwheelObj: GROUP (wheelspeedlr)
lrwheelObj: GROUP (wheelspeedrr) 

lf: TRANSFORM NAME lfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lfwheelObj
rf: TRANSFORM NAME rfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rfwheelObj
lr: TRANSFORM NAME lrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lrwheelObj
rr: TRANSFORM NAME rrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rrwheelObj

lfgrp0:   GROUP (lf)
rfgrp0:   GROUP (rf)
lrgrp0:   GROUP (lr)
rrgrp0:   GROUP (rr)

lfmake0: TRANSFORM POS(1.266, 0.75, 0) ROT(0, 0, 0) lfgrp0
rfmake0: TRANSFORM POS(1.266, -0.75, 0) ROT(0, 0, 0) rfgrp0
lrmake0: TRANSFORM POS(-1.539, 0.75, 0) ROT(0, 0, 0) lrgrp0
rrmake0: TRANSFORM POS(-1.539, -0.75, 0) ROT(0, 0, 0) rrgrp0

################################### 
#Exterior View
##################################
  
    staticDriver:    MESH maxCars driver
    staticMirror:    MESH maxCars mirror
    staticSeat:    MESH maxCars seat
    staticShifter:    MESH maxCars shifter
    staticWheel:    MESH maxCars steering_wheel

#    Make0
    
    body0:        MESH maxCars body_0
    cage0:        MESH maxCars cage_0
    cam0:        MESH maxCars cam_0
    chassis0:    MESH maxCars chassis_0
    front0:        MESH maxCars front_0
    hood0:        MESH maxCars hood_0
    net0:        MESH maxCars net_0
    rear0:        MESH maxCars rear_0
    roof0:        MESH maxCars roof_0
    spoilerparts0:    MESH maxCars spoiler_attaches_0
    susp0:        MESH maxCars suspension_0
    tubes0:        MESH maxCars tubes_0
    underbody0:    MESH maxCars underbody_0
    windowparts0:    MESH maxCars window_parts_0
    windows0:    MESH maxCars windows_0

Exterior0: GROUP
(lfmake0,rfmake0,lrmake0,rrmake0,staticDriver,staticWheel,staticSeat,staticMirror,staticShifter,body0,cage0,cam0,chassis0,hood0,front0,net0,rear0,roof0,spoilerparts0,susp0,tubes0,underbody0,windows0,windowparts0)

#    Make1
    
    body1:        MESH maxCars body_1
    cage1:        MESH maxCars cage_1
    cam1:        MESH maxCars cam_1
    chassis1:    MESH maxCars chassis_1
    front1:        MESH maxCars front_1
    hood1:        MESH maxCars hood_1
    net1:        MESH maxCars net_1
    rear1:        MESH maxCars rear_1
    roof1:        MESH maxCars roof_1
    spoilerparts1:    MESH maxCars spoiler_attaches_1
    susp1:        MESH maxCars suspension_1
    tubes1:        MESH maxCars tubes_1
    underbody1:    MESH maxCars underbody_1
    windowparts1:    MESH maxCars window_parts_1
    windows1:    MESH maxCars windows_1

Exterior1: GROUP
(lfmake0,rfmake0,lrmake0,rrmake0,staticDriver,staticWheel,staticSeat,staticMirror,staticShifter,body1,cage1,cam1,chassis1,hood1,front1,net1,rear1,roof1,spoilerparts1,susp1,tubes1,underbody1,windows1,windowparts1)

#    Make2
    
    body2:        MESH maxCars body_2
    cage2:        MESH maxCars cage_2
    cam2:        MESH maxCars cam_2
    chassis2:    MESH maxCars chassis_2
    front2:        MESH maxCars front_2
    hood2:        MESH maxCars hood_2
    net2:        MESH maxCars net_2
    rear2:        MESH maxCars rear_2
    roof2:        MESH maxCars roof_2
    spoilerparts2:    MESH maxCars spoiler_attaches_2
    susp2:        MESH maxCars suspension_2
    tubes2:        MESH maxCars tubes_2
    underbody2:    MESH maxCars underbody_2
    windowparts2:    MESH maxCars window_parts_2
    windows2:    MESH maxCars windows_2

Exterior2: GROUP
(lfmake0,rfmake0,lrmake0,rrmake0,staticDriver,staticWheel,staticSeat,staticMirror,staticShifter,body2,cage2,cam2,chassis2,hood2,front2,net2,rear2,roof2,spoilerparts2,susp2,tubes2,underbody2,windows2,windowparts2)

#    Make3
    
    body3:        MESH maxCars body_3
    cage3:        MESH maxCars cage_3
    cam3:        MESH maxCars cam_3
    chassis3:    MESH maxCars chassis_3
    front3:        MESH maxCars front_3
    hood3:        MESH maxCars hood_3
    net3:        MESH maxCars net_3
    rear3:        MESH maxCars rear_3
    roof3:        MESH maxCars roof_3
    spoilerparts3:    MESH maxCars spoiler_attaches_3
    susp3:        MESH maxCars suspension_3
    tubes3:        MESH maxCars tubes_3
    underbody3:    MESH maxCars underbody_3
    windowparts3:    MESH maxCars window_parts_3
    windows3:    MESH maxCars windows_3

Exterior3: GROUP
(lfmake0,rfmake0,lrmake0,rrmake0,staticDriver,staticWheel,staticSeat,staticMirror,staticShifter,body3,cage3,cam3,chassis3,hood3,front3,net3,rear3,roof3,spoilerparts3,susp3,tubes3,underbody3,windows3,windowparts3)

extView: STATE_SWITCH Var carMakeIdx (0 exterior0, 1 Exterior1,2 Exterior2,3 Exterior3, 4)

##################################
#
#  Interior View
#
##################################

maInt: MESH_GROUP "interior.pas" RENAME_MAT (paintjob paintjob)

# Windshield enable
    window:        MESH maInt glass
    windshield: STATE_SWITCH VAR windshieldEnable (0.0 window, 0.9)
# Descklid
    deck:        MESH maInt decklid
# Shifter
    mashift:        MESH maInt shift
    tranShifter: TRANSFORM NAME shifter POS(0.114,-0.006,-0.146) ROT(0,0,0) mashift
# mirror
    mir:        MESH maInt mirror
    maPort:    MESH maInt revPortal
    mirPort: PORTAL rearView maPort
    mirGroup: GROUP (mirPort,mir)
    rearViewMirror: STATE_SWITCH VAR mirrorFrameEnable (0 mirGroup, 1)
# steering wheel
    sWheel:        MESH maInt WHEEL
    tranWheel: TRANSFORM NAME steer POS(-0.320,0.391,0.323) ROT(0,0.2,0.2) sWheel
    ssWheel: STATE_SWITCH VAR steeringWheelEnable (0 tranWheel, 0.9)
# DashPanel
    dashPanel:    MESH maInt panel
# Tub
    fullTub:    MESH maInt tub
# Catch
    catch:        MESH maInt windowcatch
# bars
    bars:        MESH maInt cage
# Foam
    intFoam:    MESH maInt foam
# DashIgn
    dashIgn:    MESH maInt dash
# Netting
# Netting2
# Head
    tranHead: TRANSFORM NAME head POS(-0.75,0.4,0.467) ROT(0,0,0) maEmpty
# Tach
    dayCol:        Mesh maInt TACHDAYCOL   
    dayFac:        Mesh maInt TACHDAYFACE   
    daySwi:        Mesh maInt TACHDAYSWI   
    nightCol:        Mesh maInt TACHNIGHTCOL   
    nightFac:        Mesh maInt TACHNIGHTFACE   
    nightSwi:        Mesh maInt TACHNIGHTSWI   
    TACHDAY: GROUP (dayCol,dayFac,daySwi)
    TACHNIGHT: GROUP (nightCol,nightFac,nightSwi)
    tDaySelf: SELFLIGHTING AMBIENT(0.5,0.5,0.5) TACHDAY
    tNightSelf: SELFLIGHTING AMBIENT(0.85,0.85,0.85) TACHNIGHT
    ssTach: STATE_SWITCH VAR day_night (0 tDaySelf, 1 tNightSelf, 2)
# pTach
    maPTACH:        MESH maInt ptach
    pTachSelf: SELFLIGHTING AMBIENT(0.7,0.7,0.7) maPTACH
    ssPTach: STATE_SWITCH VAR day_night (0 maPTACH, 1 pTachSelf, 2)
    tranPTACH: TRANSFORM NAME ptach POS(-0.083,0.503,0.329) ROT(0,0.349,0) ssPTach

# poilp
    maPTELL:        MESH maInt PTELL
    tranPOILP: TRANSFORM NAME poilp POS(0.075,0.411,0.388) ROT(0,0.385,0) maPTELL
# poilt
    tranPOILT: TRANSFORM NAME poilt POS(0.075,0.337,0.388) ROT(0,0.385,0) maPTELL
# pfuel
    tranPFUEL: TRANSFORM NAME pfuel POS(0.075,0.488,0.388) ROT(0,0.385,0) maPTELL
# pwater
    tranPWATER: TRANSFORM NAME pwater POS(0.075,0.262,0.389) ROT(0,0.385,0) maPTELL
# pvoltage
    tranPVOLTAGE: TRANSFORM NAME pvoltage POS(0.075,-0.021,0.389) ROT(0,0.385,0) maPTELL
# tachlight
    tLightOff:        MESH maInt TACHLIGHTOFF
    tLightOn:        MESH maInt TACHLIGHTON
    TACHLIGHTON: SELFLIGHTING AMBIENT(1.0,1.0,1.0) tLightOn
    ssTachLight: STATE_SWITCH VAR tachLightEnable (0 tLightOff,1 TACHLIGHTON,2)
# oilPressureLight
    dum1off:        MESH maInt DUMMY1OFF
    dum1on:        MESH maInt DUMMY1ON
    slDummy1: SELFLIGHTING AMBIENT(1.0,1.0,1.0) dum1on
    ssDummyOne: STATE_SWITCH VAR oilPressureLightEnable (0 dum1off,1 slDummy1,2)
    tranDum1: TRANSFORM POS(0.091,0.375,0.423) ROT(0,0.366,0) ssDummyOne   
# WaterTempLight
    dum2off:        MESH maInt DUMMY2OFF
    dum2on:            MESH maInt DUMMY2ON
    slDummy2: SELFLIGHTING AMBIENT(1.0,1.0,1.0) dum2on
    ssDummyTwo: STATE_SWITCH VAR waterTempLightEnable (0 dum2off,1 slDummy2,2)
    tranDum2: TRANSFORM POS(0.091,0.397,0.423) ROT(0,0.366,0) ssDummyTwo   
# FuelPressureLight
    ssDummyFuel: STATE_SWITCH VAR fuelPressureLightEnable (0 dum1off,1 slDummy1,2)
    tranDumFuel: TRANSFORM POS(0.091,0.452,0.423) ROT(0,0.366,0) ssDummyFuel   

maInterior: GROUP (windshield,deck,tranShifter,rearViewMirror,ssWheel,dashPanel,fullTub,catch,bars,intFoam,dashIgn,tranHead,ssTach,tranPTACH,tranPOILP,tranPOILT,tranPFUEL,tranPWATER,tranPVOLTAGE,ssTachLight,tranDum1,tranDum2,tranDumFuel)

##################################
#
#  Rear-View
#
##################################

maRear: MESH_GROUP "rearview.pas" RENAME_MAT (paintjob paintjob, window windshield)
    rv_deck:        MESH maRear deck_0
    rv_glass:        MESH maRear wind_0
    rv_cage:        MESH maRear gren_0

maRearview: GROUP (rv_deck,rv_glass,rv_cage)


##################################
#
#  Cockpit View StateSwitch
#
##################################


cView: STATE_SWITCH VAR cockpitView (0 extView, 1 maInterior, 2 maRearview, 9.9)

OUTPUT  cView "make_a.3do"
 
After

extView: STATE_SWITCH Var carMakeIdx (0 exterior0, 1 Exterior1,2 Exterior2,3 Exterior3, 4)

add:

extview1: GROUP masterMinMax (extView)


You will then need to use 'extview1' as the new group name in your final output (or you can just change the names to whatever


As for the texture issue not sure, I'd check in 3ds your texture isn't tiling and the UV is only in the 1:1 UV bounds
 
After

extView: STATE_SWITCH Var carMakeIdx (0 exterior0, 1 Exterior1,2 Exterior2,3 Exterior3, 4)

add:

extview1: GROUP masterMinMax (extView)


You will then need to use 'extview1' as the new group name in your final output (or you can just change the names to whatever


As for the texture issue not sure, I'd check in 3ds your texture isn't tiling and the UV is only in the 1:1 UV bounds
Mystical, you're the GOAT! The textures are now fixed. The uvs were not on the center tile. So that's why it was only working in mosaic mode. And the shadows on car now work!!!!!

NR2003 2024-06-20 01-10-48.png
I can now get down to business: Lods, roof flaps and damage. I can't thank you enough!
 
Glad it works, also just one other feedback, it looks like the front windshield for the car is not transparent. Not sure if you've gotten to that material yet but it can have alpha channel enabled and also reflections which makes it look real nice in the game.
 
Glad it works, also just one other feedback, it looks like the front windshield for the car is not transparent. Not sure if you've gotten to that material yet but it can have alpha channel enabled and also reflections which makes it look real nice in the game.
Yes I know that. I've never done any transparency. It was on my plans to make it transparent, but was delaying it since I have no clue on how to do it.

Are there any tutorials for transparent mips?

Edit: I have learned how to do transparent mips, but it still not working. Even if I make a transparent map for my texture, the mips isn't transparent in-game. Here's a video of my issue: The video in question

Edit 2: I fixed it! I was not enabling alpha map in the material editor in 3ds max
 
Last edited:
Hello Mystical, it's me again.

I'm now trying to get different wheel speed states with my mod. I decided to put the wheels on the template so they can easily be modified. However, I can't now tell the game to change between the textures. So, to solve this, I decided to create 4 wheels (lf,lr,rf,rr) and each have 3 speed states (low,med,fast). This means I have 12 wheels in the scene.

I try to code the psg to change between these wheels (slow, med and fast) instead of just changing the textures. However, I don't know if it's possible to do this method? If yes, then the crash issue is an error in my code, if no, I will need to find another method.

Thanks

I'll join the code and a max8 picture so you can better understand me
1719108893215.png
Code:
#####################################################
#
# Custom wheels
#
#####################################################

#####################################################
# Left Front
#####################################################

###################
# Slow Speed Tire
###################

# I have to load the wheels from my scene.
# L1 is the high poly model
# L4 is the med poly model
# L7 is the low poly model
# you can use more than 3 Level of Detail (LOD),
# but for my mods 3 are enough

L1_left_tire:     MESH maxCars wheel_lf_slow
L4_left_tire:     MESH maxCars wheel_lf_slow
L7_left_tire:     MESH maxCars wheel_lf_slow


L1_LF_LOD1:        GROUP(L1_left_tire)
L4_LF_LOD4:        GROUP(L4_left_tire)
L7_LF_LOD7:        GROUP(L7_left_tire)

# LF Slow LOD
# I prefer STATIC_LOD to get better fps for people with low end PC.
LF_slow: STATIC_LOD (0     L1_LF_LOD1,
                2         L1_LF_LOD1,
                4.5     L1_LF_LOD1,
                6.8     L4_LF_LOD4,
                9.2     L4_LF_LOD4,
                12.3     L4_LF_LOD4,
                16.4     L7_LF_LOD7,
                20.9     L7_LF_LOD7,
                30.5     L7_LF_LOD7,
                48.2     L7_LF_LOD7,
                70         L7_LF_LOD7)
LF_slow_all: GROUP (LF_slow)


###################
# Medium Speed Tire
###################

L1_left_tire_M:     MESH maxCars wheel_lf_med
L4_left_tire_M:     MESH maxCars wheel_lf_med
L7_left_tire_M:     MESH maxCars wheel_lf_med

# here we swap the slow speed texture with medium speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_M slowbrdg medbrdg

L1_LF_LOD1_M:        GROUP(L1_left_tire_M)
L4_LF_LOD4_M:        GROUP(L4_left_tire_M)
L7_LF_LOD7_M:        GROUP(L7_left_tire_M)

#LOD
LF_med: STATIC_LOD         (0     L1_LF_LOD1_M,
                2         L1_LF_LOD1_M,
                4.5     L1_LF_LOD1_M,
                6.8     L4_LF_LOD4_M,
                9.2     L4_LF_LOD4_M,
                12.3     L4_LF_LOD4_M,
                16.4     L7_LF_LOD7_M,
                20.9     L7_LF_LOD7_M,
                30.5     L7_LF_LOD7_M,
                48.2     L7_LF_LOD7_M,
                70     L7_LF_LOD7_M)
LF_med_all: GROUP (LF_med)


###################
# Fast Speed Tire
###################

L1_left_tire_F:     MESH maxCars wheel_lf_fast
L4_left_tire_F:     MESH maxCars wheel_lf_fast
L7_left_tire_F:     MESH maxCars wheel_lf_fast

# here we swap the slow speed texture with fast speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_F slowbrdg fastbrdg

L1_LF_LOD1_F:        GROUP(L1_left_tire_F)
L4_LF_LOD4_F:        GROUP(L4_left_tire_F)
L7_LF_LOD7_F:        GROUP(L7_left_tire_F)

#LOD
LF_fast: STATIC_LOD         (0     L1_LF_LOD1_F,
                2     L1_LF_LOD1_F,
                4.5     L1_LF_LOD1_F,
                6.8     L4_LF_LOD4_F,
                9.2     L4_LF_LOD4_F,
                12.3     L4_LF_LOD4_F,
                16.4     L7_LF_LOD7_F,
                20.9     L7_LF_LOD7_F,
                30.5     L7_LF_LOD7_F,
                48.2     L7_LF_LOD7_F,
                70     L7_LF_LOD7_F)
LF_fast_all: GROUP (LF_fast)


####################
#
# Speed State Switch
# The Speed State Switch swaps the tire models with the modified texture,
# at different speeds.
#
####################

wheelSpeedlf: STATE_SWITCH VAR wheel_speed_0 (0 LF_slow_all, 1 LF_med_all, 2 LF_fast_all, 3)


#####################################################
# Right Front
#####################################################

###################
# Slow Speed Tire
###################

L1_right_tire:     MESH maxCars wheel_rf_slow
L4_right_tire:     MESH maxCars wheel_rf_slow
L7_right_tire:     MESH maxCars wheel_rf_slow


L1_RF_LOD1:        GROUP(L1_right_tire)
L4_RF_LOD4:        GROUP(L4_right_tire)
L7_RF_LOD7:        GROUP(L7_right_tire)

# rf Slow LOD
RF_slow: STATIC_LOD        (0     L1_RF_LOD1,
                2     L1_RF_LOD1,
                4.5     L1_RF_LOD1,
                6.8     L4_RF_LOD4,
                9.2     L4_RF_LOD4,
                12.3     L4_RF_LOD4,
                16.4     L7_RF_LOD7,
                20.9     L7_RF_LOD7,
                30.5     L7_RF_LOD7,
                48.2     L7_RF_LOD7,
                70     L7_RF_LOD7)
RF_slow_all: GROUP (RF_slow)


###################
# Medium Speed Tire
###################

L1_right_tire_M:         MESH maxCars wheel_rf_med
L4_right_tire_M:         MESH maxCars wheel_rf_med
L7_right_tire_M:         MESH maxCars wheel_rf_med

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_M     slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_M    slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_M    slowbrdg medbrdg

L1_RF_LOD1_M:        GROUP(L1_right_tire_M)
L4_RF_LOD4_M:        GROUP(L4_right_tire_M)
L7_RF_LOD7_M:        GROUP(L7_right_tire_M)

# rf Slow LOD
RF_med: STATIC_LOD         (0     L1_RF_LOD1_M,
                2     L1_RF_LOD1_M,
                4.5     L1_RF_LOD1_M,
                6.8     L4_RF_LOD4_M,
                9.2     L4_RF_LOD4_M,
                12.3     L4_RF_LOD4_M,
                16.4     L7_RF_LOD7_M,
                20.9     L7_RF_LOD7_M,
                30.5     L7_RF_LOD7_M,
                48.2     L7_RF_LOD7_M,
                70     L7_RF_LOD7_M)
RF_med_all: GROUP (RF_med)


###################
# Fast Speed Tire
###################

L1_right_tire_F:         MESH maxCars wheel_rf_fast
L4_right_tire_F:         MESH maxCars wheel_rf_fast
L7_right_tire_F:         MESH maxCars wheel_rf_fast

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_F     slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_F    slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_F    slowbrdg fastbrdg

L1_RF_LOD1_F:        GROUP(L1_right_tire_F)
L4_RF_LOD4_F:        GROUP(L4_right_tire_F)
L7_RF_LOD7_F:        GROUP(L7_right_tire_F)

# rf Slow LOD
RF_fast: STATIC_LOD         (0     L1_RF_LOD1_F,
                2     L1_RF_LOD1_F,
                4.5     L1_RF_LOD1_F,
                6.8     L4_RF_LOD4_F,
                9.2     L4_RF_LOD4_F,
                12.3     L4_RF_LOD4_F,
                16.4     L7_RF_LOD7_F,
                20.9     L7_RF_LOD7_F,
                30.5     L7_RF_LOD7_F,
                48.2     L7_RF_LOD7_F,
                70     L7_RF_LOD7_F)
RF_fast_all: GROUP (RF_fast)

####################
# Speed State Switch
####################

wheelSpeedrf: STATE_SWITCH VAR wheel_speed_1 (0 RF_slow_all, 1 RF_med_all, 2 RF_fast_all, 3)

#####################################################
# Left Rear
#####################################################

###################
# Slow Speed Tire
###################

# I have to load the wheels from my scene.
# L1 is the high poly model
# L4 is the med poly model
# L7 is the low poly model
# you can use more than 3 Level of Detail (LOD),
# but for my mods 3 are enough

L1_left_tire_r:     MESH maxCars wheel_lr_slow
L4_left_tire_r:     MESH maxCars wheel_lr_slow
L7_left_tire_r:     MESH maxCars wheel_lr_slow


L1_LR_LOD1:        GROUP(L1_left_tire_r)
L4_LR_LOD4:        GROUP(L4_left_tire_r)
L7_LR_LOD7:        GROUP(L7_left_tire_r)

# LR Slow LOD
# I prefer STATIC_LOD to get better fps for people with low end PC.
LR_slow: STATIC_LOD (0     L1_LR_LOD1,
                2         L1_LR_LOD1,
                4.5     L1_LR_LOD1,
                6.8     L4_LR_LOD4,
                9.2     L4_LR_LOD4,
                12.3     L4_LR_LOD4,
                16.4     L7_LR_LOD7,
                20.9     L7_LR_LOD7,
                30.5     L7_LR_LOD7,
                48.2     L7_LR_LOD7,
                70         L7_LR_LOD7)
LR_slow_all: GROUP (LR_slow)


###################
# Medium Speed Tire
###################

L1_left_tire_r_M:     MESH maxCars wheel_lr_med
L4_left_tire_r_M:     MESH maxCars wheel_lr_med
L7_left_tire_r_M:     MESH maxCars wheel_lr_med

# here we swap the slow speed texture with medium speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_r_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_r_M slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_r_M slowbrdg medbrdg

L1_LR_LOD1_M:        GROUP(L1_left_tire_r_M)
L4_LR_LOD4_M:        GROUP(L4_left_tire_r_M)
L7_LR_LOD7_M:        GROUP(L7_left_tire_r_M)

#LOD
LR_med: STATIC_LOD         (0     L1_LR_LOD1_M,
                2         L1_LR_LOD1_M,
                4.5     L1_LR_LOD1_M,
                6.8     L4_LR_LOD4_M,
                9.2     L4_LR_LOD4_M,
                12.3     L4_LR_LOD4_M,
                16.4     L7_LR_LOD7_M,
                20.9     L7_LR_LOD7_M,
                30.5     L7_LR_LOD7_M,
                48.2     L7_LR_LOD7_M,
                70     L7_LR_LOD7_M)
LR_med_all: GROUP (LR_med)


###################
# Fast Speed Tire
###################

L1_left_tire_r_F:     MESH maxCars wheel_lr_fast
L4_left_tire_r_F:     MESH maxCars wheel_lr_fast
L7_left_tire_r_F:     MESH maxCars wheel_lr_fast

# here we swap the slow speed texture with fast speed texture
MODIFY TEXTURE BASE_TEXTURE L1_left_tire_r_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_left_tire_r_F slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_left_tire_r_F slowbrdg fastbrdg

L1_LR_LOD1_F:        GROUP(L1_left_tire_r_F)
L4_LR_LOD4_F:        GROUP(L4_left_tire_r_F)
L7_LR_LOD7_F:        GROUP(L7_left_tire_r_F)

#LOD
LR_fast: STATIC_LOD         (0     L1_LR_LOD1_F,
                2     L1_LR_LOD1_F,
                4.5     L1_LR_LOD1_F,
                6.8     L4_LR_LOD4_F,
                9.2     L4_LR_LOD4_F,
                12.3     L4_LR_LOD4_F,
                16.4     L7_LR_LOD7_F,
                20.9     L7_LR_LOD7_F,
                30.5     L7_LR_LOD7_F,
                48.2     L7_LR_LOD7_F,
                70     L7_LR_LOD7_F)
LR_fast_all: GROUP (LR_fast)


####################
#
# Speed State Switch
# The Speed State Switch swaps the tire models with the modified texture,
# at different speeds.
#
####################

wheelSpeedlr: STATE_SWITCH VAR wheel_speed_0 (0 LR_slow_all, 1 LR_med_all, 2 LR_fast_all, 3)


#####################################################
# Right Rear
#####################################################

###################
# Slow Speed Tire
###################

L1_right_tire_r:     MESH maxCars wheel_rr_slow
L4_right_tire_r:     MESH maxCars wheel_rr_slow
L7_right_tire_r:     MESH maxCars wheel_rr_slow


L1_RR_LOD1:        GROUP(L1_right_tire_r)
L4_RR_LOD4:        GROUP(L4_right_tire_r)
L7_RR_LOD7:        GROUP(L7_right_tire_r)

# rr Slow LOD
RR_slow: STATIC_LOD        (0     L1_RR_LOD1,
                2     L1_RR_LOD1,
                4.5     L1_RR_LOD1,
                6.8     L4_RR_LOD4,
                9.2     L4_RR_LOD4,
                12.3     L4_RR_LOD4,
                16.4     L7_RR_LOD7,
                20.9     L7_RR_LOD7,
                30.5     L7_RR_LOD7,
                48.2     L7_RR_LOD7,
                70     L7_RR_LOD7)
RR_slow_all: GROUP (RR_slow)


###################
# Medium Speed Tire
###################

L1_right_tire_r_M:         MESH maxCars wheel_rr_med
L4_right_tire_r_M:         MESH maxCars wheel_rr_med
L7_right_tire_r_M:         MESH maxCars wheel_rr_med

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_r_M     slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_r_M    slowbrdg medbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_r_M    slowbrdg medbrdg

L1_RR_LOD1_M:        GROUP(L1_right_tire_r_M)
L4_RR_LOD4_M:        GROUP(L4_right_tire_r_M)
L7_RR_LOD7_M:        GROUP(L7_right_tire_r_M)

# rr Slow LOD
RR_med: STATIC_LOD         (0     L1_RR_LOD1_M,
                2     L1_RR_LOD1_M,
                4.5     L1_RR_LOD1_M,
                6.8     L4_RR_LOD4_M,
                9.2     L4_RR_LOD4_M,
                12.3     L4_RR_LOD4_M,
                16.4     L7_RR_LOD7_M,
                20.9     L7_RR_LOD7_M,
                30.5     L7_RR_LOD7_M,
                48.2     L7_RR_LOD7_M,
                70     L7_RR_LOD7_M)
RR_med_all: GROUP (RR_med)


###################
# Fast Speed Tire
###################

L1_right_tire_r_F:         MESH maxCars wheel_rr_fast
L4_right_tire_r_F:         MESH maxCars wheel_rr_fast
L7_right_tire_r_F:         MESH maxCars wheel_rr_fast

MODIFY TEXTURE BASE_TEXTURE L1_right_tire_r_F     slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L4_right_tire_r_F    slowbrdg fastbrdg
MODIFY TEXTURE BASE_TEXTURE L7_right_tire_r_F    slowbrdg fastbrdg

L1_RR_LOD1_F:        GROUP(L1_right_tire_r_F)
L4_RR_LOD4_F:        GROUP(L4_right_tire_r_F)
L7_RR_LOD7_F:        GROUP(L7_right_tire_r_F)

# rr Slow LOD
RR_fast: STATIC_LOD         (0     L1_RR_LOD1_F,
                2     L1_RR_LOD1_F,
                4.5     L1_RR_LOD1_F,
                6.8     L4_RR_LOD4_F,
                9.2     L4_RR_LOD4_F,
                12.3     L4_RR_LOD4_F,
                16.4     L7_RR_LOD7_F,
                20.9     L7_RR_LOD7_F,
                30.5     L7_RR_LOD7_F,
                48.2     L7_RR_LOD7_F,
                70     L7_RR_LOD7_F)
RR_fast_all: GROUP (RR_fast)

####################
# Speed State Switch
####################

wheelSpeedrr: STATE_SWITCH VAR wheel_speed_1 (0 RR_slow_all, 1 RR_med_all, 2 RR_fast_all, 3)

#########################################
#
# here we set up our tire a give them the right position.
# I do it this way, cos you can have for each make different wheels positions.
# But for the SIMoCOT i just needed one.
#
###########################################
rfwheelObj: GROUP (wheelspeedlf)
lfwheelObj: GROUP (wheelspeedrf)
rrwheelObj: GROUP (wheelspeedlr)
lrwheelObj: GROUP (wheelspeedrr) 

lf: TRANSFORM NAME lfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lfwheelObj
rf: TRANSFORM NAME rfwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rfwheelObj
lr: TRANSFORM NAME lrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) lrwheelObj
rr: TRANSFORM NAME rrwheel POS( 0.0, 0.0, 0.0) ROT(0, 0, 0) rrwheelObj

lfgrp0:   GROUP (lf)
rfgrp0:   GROUP (rf)
lrgrp0:   GROUP (lr)
rrgrp0:   GROUP (rr)

lfmake0: TRANSFORM POS(1.266, 0.75, 0) ROT(0, 0, 0) lfgrp0
rfmake0: TRANSFORM POS(1.266, -0.75, 0) ROT(0, 0, 0) rfgrp0
lrmake0: TRANSFORM POS(-1.539, 0.75, 0) ROT(0, 0, 0) lrgrp0
rrmake0: TRANSFORM POS(-1.539, -0.75, 0) ROT(0, 0, 0) rrgrp0
 
Still some progress made. The good news is that I managed to solve all my problems (especially the wheel states!!!).

The progress of the mod is therefore good. I now have backfire, an animated driver and the most important part that wasn't working, the wheel states. I can now have rims on the templates with working different wheel states.

I now plan to add roof flaps. I really don't know how they work, I hope to get them working without errors. The next part will be quite easy but very long, the lods. I don't have the courage yet to start jumping into this long process. They will be done soon though. I will keep you posted and I can assure you that I am still working on this mod and will not give up!

Edit: I also add a better underbody (see last image)

1719679755400.pngNR2003 2024-06-29 12-19-24.pngNR2003 2024-06-29 12-20-05.png
 

Attachments

  • 1719679760034.png
    1719679760034.png
    9.5 MB · Views: 1
Who read this thread (Total readers: 0)
    Back
    Top