Saya memiliki karakter yang berjalan ke titik-titik acak di kamar saya di Unity. Masalahnya adalah dia selalu menghadapi satu arah, saya ingin menulis dalam C # sepotong kode yang akan mendapatkan arah karakter saat ini menghadap dan posisi target, lalu bekerja di sudut di antara mereka untuk mengubah karakter yang jumlahnya. Saya telah mencoba LookAt
fungsinya tetapi itu membuat karakter berjalan dalam bentuk busur ke arah target yang terlihat sangat tidak wajar karena terus-menerus melihat target.
9
Jawaban:
Fungsi LookAt melakukan ini untuk Anda. Anda mungkin menggunakannya dengan tidak benar, atau ada yang salah dengan kemudi Anda jika Anda mengalami masalah dengan ini. Anda dapat mencobanya dengan cara ini juga:
Sekarang Anda dapat beralih ke rotasi itu, atau Anda dapat melakukannya perlahan dari waktu ke waktu. (pelan-pelan seiring waktu berarti semua kode ini harus masuk ke fungsi pembaruan)
Untuk 2D metode alternatif lain adalah Atan2 :
sumber