Treads feel way better with multiple per side, making up for the lack of softbody flexibility that a real tread would have.
Reached the point where it's actually fun to drive around with them
#gamedev#indiegamedev#madewithunity#physics
At the point where it mostly works, had to add some slip resistance because targetVelocity on contacts causes weirdness at when relative velocity isn't in the same direction as targetVelocity causing rotation
#gamedev#indiegamedev#unity3d#physx
@Eluem I think it's just due to how physx solves contact force/ friction.
contact force doesn't get distributed to all points equally if it doesn't need to and friction is based on that and my solution relied on friction so the uneven distribution messes that up
@Haven_n_Hearth Can't even imagine doing physics from scratch, I don't think I'd ever be happy with the results. At least with physx they already made the realism sacrifices / tradeoffs so I don't have to agonize over that
@Eluem UI is automatic so it's just grabbing the first UI prefab (claw) when there's no UI for that ArticulationComponent type.
Been trying to keep all the components using the same rule set so they can be mixed and matched however.
@Eluem The labels are identical because I reverted both to prefab settings after having issues with symmetry. UI is a multiplier of the max target velocity is being applied to contacts from -1 to 1.
@Eluem Then tweak up or down based on v3.Project(velocity, direction) vs desired. Got the numbers producing smooth velocity in the simple case but still have to test some more complex ones.
I only need good enough though, as long as it's mostly smooth and things don't explode
Conveyor belt / vehicle tread debugging. Feels weird that Unity doesn't have any way to get the actual velocity of an object, have to store the previous position and compare so now all my bodies need a monobehaviour handling that
#gamedev#indiegamedev#unity3d
@Eluem What I've settled on is calculating force to move the claw if it had no joints and then multiplying it by the square of how many frames this failed to produce velocity in the desired direction.
@Eluem Yeah there's so much going on with physics that just having a velocity that measures currentPosition vs lastPosition seems like the best way to get an actual velocity measurement