debris/parts removal

Sebastian Röhn

Dear rFactor community,

have a question about parts/debris of vehicles during/after crashes. On some mods, the fps drops down and it's getting laggy when crashes appears. There is a setting in the *.plr

Code:
Debris Removal="30.00000" // Seconds until stationary debris is removed from track
Parts Duration="1000.00000" // Seconds after parts break off before disappearing

Means here a value 0.0000, that the parts will be not visible? I tested this values and the fps didn't drop so much, but it's still noticeable. Or is there anything else to prevent this?

Thanks for your help!
 
I would say that the main reason for lower FPS at accidents is the VERTEX DAMAGE.
I sometimes "deactivate" it for some mods to make it more playable at online racing.
 
No, after/under the debris section normally is a section called "VERTEX DAMAGE".
That is used for the deformation of the carbody and other parts when you have an accident.
And if you have all entries activated, there is a lot of stress for grafic and main processor, especially with higher poly car-models and when a few cars are involved in accidents.
 
But there are only a few activated. It is nearly the same as f.e. enduracers mod, where I didn't notice fps issues under crashes:

Code:
[VERTEX]
DefaultLimit=0.15                           // By default, all verts can move up to a meter
RestrictionLimit=0.10                       // Restricted verts can only move this far

DeformableInstance=SLOT                 // This is a *special* keyword indicating the main body of the slot (which is named on-the-fly)
// DeformableInstance=FBUMPER
// DeformableInstance=FWING                // You can leave this even if your vehicle doesn't have one
// DeformableInstance=RWING                // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS0              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS1              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS2              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS3              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS4              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS5                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS6                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS7              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS8                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS9                 // You can leave this even if your vehicle doesn't have one
DeformableInstance=SIDESKIRTS
// DeformableInstance=HlightPS
// DeformableInstance=HlightDS
DeformableInstance=BLIGHTDS
DeformableInstance=BLIGHTPS
DeformableInstance=PlightDS
DeformableInstance=PlightPS
DeformableInstance=RAINLIGHT
DeformableInstance=Windows
DeformableInstance=Cockpit
 
Just try to "deactivate" all active entries too, to see if it helps to prevent from FPS lowering.
Do you use own cars or cars from an existing mod?
 
It is the "Blancpain endurance series".

But when I quoted the lines out, that means, the parts are not deformable and will also not break off? It's only the graphic damage, but the physic damage will still appeare.
 
It is only the deformation that you deactivate. The loosing of the parts and the physical consequenses are not affected.

But, do you have the same behaviour when you use the original BPES?

Or do you use a modified damage.ini?
 
I have the same on the original mod and I didn't change the damage.ini at the part [Vertex]

But so far...thank you for your help. I will try to deactive them.
 
Is it a fact that rFactor repairs only tires and wings and so they get visible again after they fallen of in a crash? But other parts which are defined as DEBRIS0-4 are not visible again after a repair pitstop? Is there a chance to prevent this, respectively that the parts like a front spoiler/bumper get visible again? Or is the only way to uncomment the debris, that the simply can't fallen of in a crash?
 
I fear that all as DEBRIS defined Parts can't be repaired or renewed at Pitstop.
 
So the only chance to aviod this, because it looks really strange ingame and also on our broadcast, we need to deactivte dropping parts by comment the lines like this?

// DeformableInstance=DEBRIS0 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS1 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS2 // You can leave this even if your vehicle doesn't have one
 
I think so, yes.

But i've just seen that the DEBRIS-Parts 5-8 seem to be repareable, because they are defined as suspension-parts which have a repairtime-setting in the HDV-Pitmenu-section.
Maybe you can take these 4 DEBRIS-Parts for your bumpers/spoilers.

But i didn't tested it.
 
I changed yesterday all damage.ini files, f.e.

Code:
// bonnet 
Part0Detach=3000.0         // Impulse to make part become debris (see .gen file)
Part0Random=0.4            // Fraction of time part breaks off
Part0Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part0MassInertia=(20.0, 2.0, 4.0, 2.0) // Mass and inertia
Part0CollParams=(5600.0, 100.0, 0.60)  // Spring/damper/friction
// rear bumper
Part1Detach=3000.0         // Impulse to make part become debris (see .gen file)
Part1Random=0.4            // Fraction of time part breaks off
Part1Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part1MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part1CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
// boot
Part2Detach=3000.0         // Impulse to make part become debris (see .gen file)
Part2Random=0.4            // Fraction of time part breaks off
Part2Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part2MassInertia=(1.0, 1.0, 1.0, 1.0) // Mass and inertia
Part2CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
// FRONT BUMPER
Part3Detach=3000.0         // Impulse to make part become debris (see .gen file)
Part3Random=0.4            // Fraction of time part breaks off
Part3Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part3MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part3CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction


[VERTEX]
DefaultLimit=0.15                           // By default, all verts can move up to a meter
RestrictionLimit=0.10                       // Restricted verts can only move this far

DeformableInstance=SLOT                 // This is a *special* keyword indicating the main body of the slot (which is named on-the-fly)
// DeformableInstance=FBUMPER
// DeformableInstance=FWING                // You can leave this even if your vehicle doesn't have one
// DeformableInstance=RWING                // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS0              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS1              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS2              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS3              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS4              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS5                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS6                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS7              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS8                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS9                 // You can leave this even if your vehicle doesn't have one
DeformableInstance=SIDESKIRTS
// DeformableInstance=HlightPS
// DeformableInstance=HlightDS
DeformableInstance=BLIGHTDS
DeformableInstance=BLIGHTPS
DeformableInstance=PlightDS
DeformableInstance=PlightPS
DeformableInstance=RAINLIGHT
DeformableInstance=Windows
DeformableInstance=Cockpit

but the parts front- and rearbumper and bonnet still fallen off at a crash and will not replaced during a pitstop repair. Maybe this [VERTEX] section is not about dropping parts but only about deformable.
 
I've tested it with the BMW2007 open wheeler.
When you get lost of the wheel and suspension parts, they will be renewed at pitstop.

The idea is to replace the suspension parts with the parts you want to have as debris and renewable at pitstop (bonnet for example)

I think you'll have to add these lines into your damage.ini to make it work:
FLSuspIns=Debris5 // Instance (used for suspension movement on front-left wheel)
FLSuspConn=(0.0,1.0) // Connection points for suspension movement (relative to inboard and outboard verts)
FRSuspIns=Debris7 // Instance (used for suspension movement on front-right wheel)
FRSuspConn=(0.0,1.0) // Connection points for suspension movement (relative to inboard and outboard verts)
RLSuspIns=Debris6 // Instance (used for suspension movement on rear-left wheel)
RLSuspConn=(0.0,1.0) // Connection points for suspension movement (relative to inboard and outboard verts)
RRSuspIns=Debris8 // Instance (used for suspension movement on rear-right wheel)
RRSuspConn=(0.0,1.0) // Connection points for suspension movement (relative to inboard and outboard verts)

I've just copied it from the BMW_damage.ini so it has the DEBRIS 5-8, but i think it should work with 0-3 too.
I didn't tested it but why shouldn't it work?

Maybe you'll have to rename the *.gmt from e.g. XXX_bonnet.gmt into XXX_SUSP_LF.gmt or XXX_SUSP_LR.gmt.....
But i think you can not use more as the 4 susp names.

And yes, the VERTEX DAMAGE Section is only for deformation.
 
That doesn't help still. Where is defined which Part is debris0 etc.? Only here in the damage.ini?

When I look at the damage.ini of the Enduracers Mod at the GT2 Ferrari:

Code:
// Hood
Part0Detach=3000.0         // Impulse to make part become debris (see .gen file)
Part0Random=0.4            // Fraction of time part breaks off
Part0Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part0MassInertia=(20.0, 2.0, 4.0, 2.0) // Mass and inertia
Part0CollParams=(5600.0, 65.0, 0.60)  // Spring/damper/friction
// Suspension
Part4Detach=12000.0         // Impulse to make part become debris (see .gen file)
Part4Random=0.5            // Fraction of time part breaks off
Part4Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part4MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part4CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
// Suspension
Part5Detach=12000.0         // Impulse to make part become debris (see .gen file)
Part5Random=0.5            // Fraction of time part breaks off
Part5Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part5MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part5CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
// Suspension
Part6Detach=12000.0         // Impulse to make part become debris (see .gen file)
Part6Random=0.5            // Fraction of time part breaks off
Part6Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part6MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part6CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
// Suspension
Part7Detach=12000.0         // Impulse to make part become debris (see .gen file)
Part7Random=0.5            // Fraction of time part breaks off
Part7Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part7MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part7CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction

[VERTEX]
DefaultLimit=0.15                           // By default, all verts can move up to a meter
RestrictionLimit=0.10                       // Restricted verts can only move this far

DeformableInstance=SLOT                 // This is a *special* keyword indicating the main body of the slot (which is named on-the-fly)
// DeformableInstance=FBUMPER
// DeformableInstance=FWING                // You can leave this even if your vehicle doesn't have one
// DeformableInstance=RWING                // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS0              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS1              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS2              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS3              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS4              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS5              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS6              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS7              // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS8                 // You can leave this even if your vehicle doesn't have one
// DeformableInstance=DEBRIS9                 // You can leave this even if your vehicle doesn't have one
DeformableInstance=SIDESKIRTS
// DeformableInstance=HlightPS
// DeformableInstance=HlightDS
DeformableInstance=BLIGHTDS
DeformableInstance=BLIGHTPS
DeformableInstance=PlightDS
DeformableInstance=PlightPS
DeformableInstance=RAINLIGHT
DeformableInstance=Windows
DeformableInstance=Cockpit

It has in the mas the following files for suspension:

F430GT2_SUSP_ARD.GMT
F430GT2_SUSP_ARG.GMT
F430GT2_SUSP_AVD.GMT
F430GT2_SUSP_AVG.GMT

Where is now the relation to debris4-7?
 
I will try to make it work for 1 part as an example.
If i am successfull, i let you know :)
 
Unfortunately i couldn't get it to work.

Don't matters what i am doing.
I tried with the original FBMW07 but as long the parts are the suspension-parts they have been renewed at pitstop.
Then i tried to add another part instead of the susp-part and gave the gmt the same name and with that, it wasn't renewed.
Even as i putted the original susp-part together with a hood of another car it wasn't renewed anymore.

So i think that the entries in the *.pm-file will have to be changed too. Maybe it works then.

But that will be a lot of work and testing and maybe you get some other troubles then, because these parts always will be treated as suspension-parts by the game.

Sorry for that, i thought it would work but it did not :(
 
No problem...you have tried and that counts for me. Thanks for your help anyway.

Since the season starts next week, I don't want to make hugh changes before this 24h race. Maybe we will try something after the first round. Is there another way to prevent dropping parts? If they cannot be renewed at a repair, is it possible to stop lossing them during the crash? I know this is also not ideal, but I think it's the better way instead of having wrecked cars visible at the broadcast.
 
Yes it is, to make it safe you just have to rename the instances from e.g. INSTANCE=DEBRIS0 into INSTANCE=BONNET
 
@links123

What is your problem?
90% of your post here are just quotes from other posts and the other 10% are empty words without any solution.

I would beg you to stop it as long as you don't have something helpful to say!
 
Yes it is, to make it safe you just have to rename the instances from e.g. INSTANCE=DEBRIS0 into INSTANCE=BONNET

You mean changing this in the *.gen file? What's about the entries at at the damage.ini, f.e. PART0...
They stay unchanged, because this defines the physical damage?
 
The Parts that have the DEBRIS-Instances in the *.gen file are treated as defined in the damage ini.

If there are no DEBRIS-Instances it does not matter.
The entries in the damage.ini are used to let the game know how to treat the DEBRIS-parts if there are some.
 

Back
Top