Saya sampai pada titik di kendaraan saya di mana, ketika saya melaju cepat dan berputar, kendaraan itu bertindak aneh karena ban di dalam bergerak lebih cepat daripada ban luar. Jadi saya perlu mencari tahu cara memprogram dalam diferensial tetapi saya tidak bisa membuatnya berfungsi dengan baik jadi saya di sini untuk melihat apakah ada yang punya pengalaman dengan ini.
Saya telah memeriksa fisika secara online tetapi itu sepertinya mempertimbangkan lebih banyak info daripada yang dapat saya berikan dalam permainan saya (seperti pengaruh gravitasi nyata pada kendaraan). Saat ini saya menggunakan logika berikut untuk menentukan kecepatan roda diferensial. Saya akan mencoba menjelaskan sejelas dan sesederhana mungkin jadi saya minta maaf jika itu membingungkan atau terlalu disederhanakan, itu membingungkan saya!
Inilah yang saya lakukan: Saya membagi derajat belokan saya saat ini dengan jumlah belokan maks untuk mendapatkan persentase, saya kemudian mengambil persentase itu dan menerapkannya pada persentase pengubah (hanya satu persen yang saya buat dan atur untuk mengurangi jumlah yang lulus) ke diferensial, tidak yakin apa ini benar-benar seharusnya. Kecepatan mesin? Velocity?). Kemudian di diferensial saya, saya memeriksa untuk melihat apakah kendaraan berbelok ke kiri atau kanan dan mengurangi kecepatan di satu sisi sebesar x% dan meningkatkan kecepatan di sisi lain dengan x% yang sama
Saya yakin bahwa masalah terbesar saya adalah angka yang saya perbaiki untuk mengurangi persentase belokan tetapi saya tidak tahu apa yang harus saya masukkan ke sana. Saya tahu bahwa secara langsung melewati pergantian% ke diferensial (katakanlah, 40%) akan mengurangi satu sisi dengan 40 dan meningkatkan yang lain sebesar 40 dan itu jelas tidak benar.
Saya memiliki akses ke kecepatan engine, transmisi, kecepatan gandar setiap roda, torsi, kecepatan kendaraan, dll. Tetapi saya tidak yakin yang mana dari ini yang harus saya pertimbangkan ketika melakukan formula ini.
Mungkin saya terlalu rumit atau mungkin saya terlalu menyederhanakannya. Setiap bantuan dalam memahami ini akan sangat bagus!
Jawaban:
Saya benar-benar berpikir Anda tidak harus melakukannya dengan cara ini dan bahwa Anda harus melihat lebih dalam fisika nyata (lihat komentar saya). Namun saya dapat memberi tahu Anda mengapa pendekatan Anda saat ini tidak berhasil. (Terlalu lama untuk komentar jadi saya hanya akan memposting ini sebagai jawaban)
Pertama mari kita telusuri apa yang terjadi (Anda mungkin sudah melakukannya sendiri).
Sitasi pada dasarnya seperti pada gambar di atas, tapi mari kita sederhanakan angkanya:
Katakanlah mobil C memiliki lebar 2 meter dan memiliki putaran minimum 5 meter. Sekarang saya mengarahkan penuh kiri. Roda kiri depan sekarang mengikuti lingkaran dengan diameter 5 meter. Roda kanan depan sekarang mengikuti lingkaran dengan diameter 7 meter. Menyelesaikan satu lingkaran penuh akan membuat roda kiri menempuh 10 * pi meter. Roda kanan berjalan 14 * pi meter. Sekarang katakan bahwa roda C semua memiliki ukuran yang sama, dan bahwa keliling roda adalah 0,5 * pi meter (ya itu adalah roda besar, tapi tidak ada yang bilang kami tidak bisa memodelkan truk monster!) Diferensial akan harus memastikan bahwa untuk setiap 20 rotasi roda kiri, roda kanan berputar 28 kali agar tidak ada roda yang tergelincir.
Jadi sekarang Anda dapat mengatakan bahwa diff-% harus di-tweak, katakan untuk kiri penuh itu harus membedakan + 40%, dan mari kita lerp ini ke kanan -40% dan kemudian kita emas?
Sayangnya, seperti yang Anda lihat, ini tidak berhasil. Mari kita cari formula umum untuk diferensial di mobil ini. Di sini x adalah lingkaran balik yang diinginkan.
Saya berpendapat bahwa diff harus bekerja di fraksi ((x + 2) * 4 / (x * 4)) [*]. (Kali 100% jika Anda menginginkannya dalam persentase) Mari kita plot itu:
Seperti yang Anda lihat dengan jelas, fungsi ini non-linear. Jadi, hanya memiliki perbedaan tergantung secara linier pada seberapa banyak mengarahkan Anda ke kiri atau ke kanan tidak akan pernah berhasil.
Sekarang saya melihat bahwa tergoda untuk hanya menggunakan rumus di atas, tetapi saya pikir itu mungkin yang terbaik jika Anda tidak karena alasan yang dijelaskan di atas :). Anda juga perlu menerapkan 2 diferensial kecuali jika kemudi Anda melibatkan keempat roda, yang membuatnya lebih sulit untuk diterapkan, lihat gambar 1 lagi.
[*]: yang dapat kita sederhanakan: (x + 2) * 4 / (x * 4) => (x + 2) / x
sumber