Isi kandungan:

Simple Unity Controller: 5 Langkah
Simple Unity Controller: 5 Langkah

Video: Simple Unity Controller: 5 Langkah

Video: Simple Unity Controller: 5 Langkah
Video: How To Make An FPS Player In Under A Minute - Unity Tutorial 2024, Julai
Anonim
Pengawal Perpaduan Sederhana
Pengawal Perpaduan Sederhana

Penerangan

Projek ini adalah alat kawalan yang sangat mudah yang dapat memberi input kepada Unity ketika menekan butang. Saya merancangnya untuk mengawal permainan yang saya buat di mana pemain boleh pergi ke kiri dan kanan. Sudah tentu anda sentiasa dapat menyesuaikannya untuk lebih banyak kawalan. Tidak perlu menggunakan perpustakaan tambahan.

Langkah 1: Bahan

Komponen diperlukan

  • -Arduino perintang 2x
  • - [~ 220 Ohm
  • -Kawat
  • -2x Butang
  • - Papan roti

Langkah 2: Breadboarding

Papan Roti
Papan Roti

Saya mulakan dengan menyambungkan port GND arduino ke pin negatif (-) di sebelah kiri papan roti, dan menyambungkan 5V ke positif (+) di sebelah kanan papan roti.

Selepas itu saya meletakkan butang di tempat yang saya mahukan. Dan menghubungkannya menggunakan wayar dan perintang.

Langkah 3: Pengekodan Arduino

Mula-mula anda perlu menulis beberapa kod untuk anda Arduino jalankan. Saya meletakkan komen dalam kod yang menerangkan apa yang dilakukannya.

// Nyatakan pin yang dihubungkan dengan butang.

butang const intPin1 = 3; butang const intPin2 = 4;

persediaan tidak sah ()

{// Mulakan siri Serial.begin (9600); // Konfigurasikan pin sebagai output. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

gelung kosong ()

{// Baca keadaan butang jika (digitalRead (buttonPin1) == TINGGI) {// cetak baris ini jika keadaan TINGGI. Serial.println ("Kiri"); kelewatan (20); } jika (digitalRead (buttonPin2) == TINGGI) {// cetak baris ini jika keadaan TINGGI. Serial.println ("Kanan"); kelewatan (20); }}

Langkah 4: Perpaduan

Sekiranya anda tidak mempunyai permainan yang siap, kod ini akan berfungsi pada objektif permainan apa pun.

jika ini berlaku, anda memerlukan permainan untuk bergerak.

Demi kesederhanaan kami akan membuat kubus dengan pergi ke GameObject-> 3D Object-> Cube

setelah kubus berada di tempat kejadian anda, pilih dan tekan butang Tambah Komponen, dan buat skrip baru.

Anda juga perlu mengubah tahap keserasian Api agar perpustakaan System. IO. Ports berfungsi.

Untuk melakukan ini, pergi ke Edit-> Project Settings-> Player

tatal ke bawah dalam menu ini sehingga anda menemui Tahap Keserasian Api dan pilih. NET 2.0 dan bukannya subset. Net 2.0

Anda kini sudah bersedia untuk memulakan pengekodan.

menggunakan System. Collections; menggunakan System. Collections. Generic; menggunakan UnityEngine; menggunakan System. IO. Ports;

kelas awam PlayerMovement: MonoBehaviour

{kelajuan apungan awam; pergerakan apungan;

SerialPort sp = SerialPort baru ("COM3", 9600);

batal Mula ()

{// Jalankan kod untuk membuka port bersiri OpenSerialPort (); }

batal OpenSerialPort ()

{// Buka port bersiri sp. Buka (); sp. ReadTimeout = 1; }

Pergerakan kekosongan (rentetan arah)

{// Periksa arah mana arduino telah dilalui jika (Arah == "Kiri") {pergerakan = -1; } jika (Arah == "Kanan") {pergerakan = 1; } // kirakan jumlah permainan yang akan digerakkan float terjemahan = pergerakan * kelajuan; // Terapkan pergerakan ke permainanobjektif. Translate (terjemahan, 0, 0); }

batal Kemas kini ()

{if (sp. IsOpen) {cuba {// semasa serialport bergerak terbuka laksanakan fungsi pergerakan dan lalui garis yang dicetak oleh Arduino Movement (sp. ReadLine ()); } tangkapan (System. Exception) {

}

}

} }

Langkah 5: Nota Akhir

Periksa sama ada komponen anda berfungsi

Masalah yang saya hadapi semasa membuat ini adalah bahawa semua wayar dan kod betul dan tidak ada masalah sama sekali, tetapi tidak berfungsi. Dalam kes saya, itu adalah wayar yang tidak berfungsi, walaupun perkara yang sama boleh berlaku dengan beberapa komponen anda yang lain.

Disyorkan: