Estou em um ponto no meu veículo em que, quando estou indo rápido e girando, o veículo age de maneira estranha porque os pneus internos estão se movendo mais rapidamente do que os pneus externos. Então, eu preciso descobrir como programar em um diferencial, mas eu não consigo fazê-lo funcionar corretamente, então eu estou aqui para ver se alguém tem experiência com isso.
Eu verifiquei online a física, mas isso parece levar mais informações do que eu posso fornecer no meu jogo (como a influência da gravidade real no veículo). Atualmente, uso a seguinte lógica para determinar as velocidades diferenciais das rodas. Vou tentar explicar da maneira mais clara e simples possível, e peço desculpas se é confuso ou simplificado demais, é confuso para mim!
Aqui está o que eu faço: divido meu grau de turno atual pelo valor máximo de turno para obter uma porcentagem, depois pego essa porcentagem e a aplico a uma porcentagem modificadora (apenas uma porcentagem que inventei e aprimorei para reduzir o número passado para o diferencial, não tenho certeza do que realmente deveria ser. Velocidade do motor? Velocidade?). Então, no meu diferencial, verifico se o veículo está virando para a esquerda ou direita e reduzo a velocidade de um lado em x% e aumento a velocidade do outro lado no mesmo x%
Estou certo de que meu maior problema é o número que estou inventando para reduzir a porcentagem de turnos, mas não sei dizer o que colocar lá. Eu sei que passar diretamente o turn% para o diferencial (digamos, 40%) reduziria um lado em 40 e aumentaria o outro em 40 e isso claramente não está certo.
Tenho acesso à velocidade do motor, transmissão, velocidade de cada roda, torque, velocidade do veículo, etc., mas não tenho certeza de quais delas devo levar em consideração ao fazer esta fórmula.
Talvez eu esteja complicando demais ou talvez esteja simplificando demais. Qualquer ajuda para entender isso seria ótimo!