Hi guys! 3ds Max is giving me issues with the DIR_ Helper so I switched to Blender. I've done all the hierarchy correctly but there are 2 problems:
1. The HUB_LF rotates with the SUSP_LF in the Z axis which is not correct (the spring shouldn't rotate in any direction)
2. The spring has no spring " behavior ". It should compress and decompress but now it doesn't.

Basically I don't want the HUB to rotate with the rest of the SUSP

Do you guys have any suggestions to fix these problems? Maybe I'm getting something wrong

First pic

Second pic
 
HUB/SUSP_LF is for components directly attached to the wheel (the hub and upright) that do rotate when you steer. For stuff that's not meant to move like that, you make its parent the chassis, and then use the DIR_ so that it angles up and down with suspension travel.
 
HUB/SUSP_LF is for components directly attached to the wheel (the hub and upright) that do rotate when you steer. For stuff that's not meant to move like that, you make its parent the chassis, and then use the DIR_ so that it angles up and down with suspension travel.
Thank you so much, I will definetly try it out. Do you have any suggestions on how to make the spring move like a spring?
 
I also tried to animate the suspensions in the way that you suggested to me, but I can't get them to work in game. The null parent is called prova_1 and it's parent of the chassis. The DIR_ null as you can see it's outside the chassis but in game nothing works. I also checked the car.ini to make sure that I was NOT using animated suspensions. Any luck?

Hierarchy Picture

In-game picture

The null seems to be affected by it's DIR_ but it doesn't move with the chassis of the car.
 
Springs are about 100 times harder than DIR_ so I'm not going to open that can of worms yet. If it's not an open wheeler my frank advice is, just have the rigid spring in about the right place on the model.

The DIR_ needs to have the correct object as its parent. The way it works is the game engine moves the suspension-associated parts (HUB/SUSP/DISC/WHEEL), then for any object that has an associated DIR_, it calculates the rotation that points them at that object. If the DIR doesn't move, then the object won't move.
 
Last edited:
Thank you for the response, you're giving me a lot of help :D

Now it moves up and down, but there's another problem... It still rotates with the suspension

DIR_ Hierarchy (the blue one is the null braccio_lf)

Maybe I'm bothering you, but I'm really struggling with this :unsure:
 
Last edited:
Green object position should match with the physics suspension coordinates of the lower balljoint. And I'm not sure red is in the right spot, DIRs only rotate so it needs to be the point around which that rotation happens.
 
There are 2 ways how to animate suspension, both are described in the pipeline. You can create static animation which will move your suspension according to suspension travel or you will make it constraint type (using DIR nodes) or even combination of both is possible. I prefer the second option, even though it is harder to set up properly. As @Stereo mentioned, graphic model needs to be approximatelly in the positon where AC physics sees kinematic points, especially hub node. Then you will get decent results.

Good video to watch is this one from Ilja:

Then there are some samples in SDK directory in AC installation. Just open it and reverse engineer it. As I said, it is quite difficult to set up properly, but in the end the result is much better and flexible than static animation. And for springs you need to use skinned mesh, it is nicely explained in the video.
 
Hi! Just saw this thread.

Managed to get all the suspension moving with DIR relationships only. However, I am unable to make the spring compress correctly.

Would an option be to animate the spring only and leave everything else (So wishbones, rocker and damper) inanimated? Would that work?
 
If you can animate the spring, then what you do is put empties matching the bones, with the same name, rotation, location, but with the correct parents for DIR animation to move them. Then when you're exporting, include the spring and empties, but not the armature. You may have to mess with priorities in kseditor so that the empties are read before the spring. There is probably an armature constraint you can use to make sure the bones match the empties, not sure if there's a good option the other direction. The spring mesh doesn't need a particular parent and it's probably easiest if it and the armature are both top level objects located at 0,0,0.
 
Last edited:
If you can animate the spring, then what you do is put empties matching the bones, with the same name, rotation, location, but with the correct parents for DIR animation to move them. Then when you're exporting, include the spring and empties, but not the armature. You may have to mess with priorities in kseditor so that the empties are read before the spring. There is probably an armature constraint you can use to make sure the bones match the empties, not sure if there's a good option the other direction. The spring mesh doesn't need a particular parent and it's probably easiest if it and the armature are both top level objects located at 0,0,0.
MFT02renderSusp.gif

This is so far the suspension movement (and only the black spring requires an animation to move correctly). Everything else works with DIR, as I quite like having the animation react to what the wheels do rather than create an animation for them
If I understood you correctly, I have to export the spring mesh, and the parent dummies, and make that an animation, right? Will test this and see how it goes
 
So I managed to get the spring compression aspect working with the DIR script, so everything stays with only constraints and no animations are required.

To do this, I modelled a new spring, creating a helix spline, then turning into a mesh, and the using the Script as in this video:
Good video to watch is this one from Ilja:

Doing so I was able to make the script work, and in 3DS Max the suspension is acting just perfect.

However, whenever I try to import the car on ksEditor with the springs, the program crashes before loading anything. Not sure what is causing the issues, as I made sure to clone the export settings recommended by Kunos. When I remove the springs, the car does load onto the editor, so it makes me believe the issue is down to the spring itself. It's likely the deformable spring mesh, but there must be a way to make it work.

The spring mesh doesn't need a particular parent and it's probably easiest if it and the armature are both top level objects located at 0,0,0.
Did this as specified. The skin mesh is at top level, and the pivot is on 0,0,0; with Y pointing upwards. However, I must be missing something because the ksEditor crashes as soon as I attempt to launch it

Not sure if you ever experienced this problem, but any help would be appreciated
 
Last edited:
Sounds like a 3ds max specific thing, unfortunately I use Blender and haven't had that issue. Is it possible your spring mesh is over 60k triangles with modifiers applied?
Each skinned mesh is 3k polygons, so that is not the issue. I'm really unsure what is causing this. Do you use the script for the springs? If so, mind explaining the process you follow? I want to make sure I didn't skip anything
 
The script is 3ds max specific so I haven't used it and don't know what it does. In blender you just need object names set, no animation tools involved.
I looked at your Crosskart, as far as I can tell you did what I have done with the spring (so the spring moves but doesn't compress). It looks fine, but not exactly what I'm looking for Hence why I'm trying to make the spring a skinned mesh
Did you figure out skinned meshes for springs? I have only seen a couple of Ilja projects with spring skinned meshes, not sure how to contact him about it (If you could provide a contact that'd be great also)
 
I looked at your Crosskart, as far as I can tell you did what I have done with the spring (so the spring moves but doesn't compress). It looks fine, but not exactly what I'm looking for Hence why I'm trying to make the spring a skinned mesh
Did you figure out skinned meshes for springs? I have only seen a couple of Ilja projects with spring skinned meshes, not sure how to contact him about it (If you could provide a contact that'd be great also)
Hey, I know this thread is dead but I was going through it looking for how to do a baked ksanimation for suspension as I've only ever used the DIR_ method. For the springs working but crashing ingame, they need to have their own texture. As in NOTHING else can use the texture, not even identical springs. If you have multiple springs, you'll have to do make a texture for each of them separately. Hopefully this helps you, I haven't worked with DIR_'s in months lol but I was able to get them to work with skinned mesh springs.
 
Hey, I know this thread is dead but I was going through it looking for how to do a baked ksanimation for suspension as I've only ever used the DIR_ method. For the springs working but crashing ingame, they need to have their own texture. As in NOTHING else can use the texture, not even identical springs. If you have multiple springs, you'll have to do make a texture for each of them separately. Hopefully this helps you, I haven't worked with DIR_'s in months lol but I was able to get them to work with skinned mesh springs.
So if I have 4 springs I need to have 4 materials with 4 textures?
 
Back
Top