Sadržaj:

Jednostavan Unity kontroler: 5 koraka
Jednostavan Unity kontroler: 5 koraka

Video: Jednostavan Unity kontroler: 5 koraka

Video: Jednostavan Unity kontroler: 5 koraka
Video: УПРАВЛЕНИЕ НА АНДРОИД В UNITY - 2D Кнопки, Джойстик на Android / Unity Уроки C# 2024, Studeni
Anonim
Jednostavan Unity kontroler
Jednostavan Unity kontroler

Opis

Ovaj projekt je vrlo jednostavan kontroler koji može dati ulaz Unityju pritiskom na gumbe koje sam dizajnirao za upravljanje igrom u kojoj igrač može ići lijevo i desno. Naravno, uvijek ga možete prilagoditi za više kontrola. Nema potrebe za korištenjem dodatnih knjižnica.

Korak 1: Materijali

Potrebne komponente

  • -Arduino 2x otpornik
  • -[~ 220 ohma
  • -Žice
  • -2x tipke
  • -Daska

Korak 2: Breadboarding

Breadboarding
Breadboarding

Počeo sam spajanjem arduino GND porta s negativnim (-) pinom na lijevoj strani ploče, te povezivanjem 5V s pozitivom (+) na desnoj strani matične ploče.

Nakon toga sam stavio gumbe na mjesto na kojem sam htio biti. I spojili ih pomoću žica i otpornika.

Korak 3: Kodiranje Arduina

Prije svega, morat ćete napisati neki kôd za pokretanje Arduina. U kôd stavljam komentare koji objašnjavaju što radi.

// Deklarirajte pinove na koje su tipke spojene.

const int buttonPin1 = 3; const int buttonPin2 = 4;

void setup ()

{// Pokretanje serijskog Serial.begin (9600); // Konfigurirajte pinove kao izlaz. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop ()

{// Pročitajte stanje gumba if (digitalRead (buttonPin1) == HIGH) {// ispišite ovaj redak ako je stanje HIGH. Serial.println ("Lijevo"); kašnjenje (20); } if (digitalRead (buttonPin2) == HIGH) {// ispišite ovaj redak ako je stanje HIGH. Serial.println ("Desno"); kašnjenje (20); }}

Korak 4: Jedinstvo

Ako nemate spremnu igru, ovaj kôd će raditi na bilo kojem igračkom objektu u jedinstvu.

u tom slučaju trebat će vam objekt za igru za premještanje.

Radi jednostavnosti stvorit ćemo kocku odlaskom na GameObject-> 3D Object-> Cube

kad se kocka nađe u vašoj sceni, odaberite je i pritisnite gumb Dodaj komponentu te stvorite novu skriptu.

Također ćete morati promijeniti razinu kompatibilnosti Api kako bi knjižnica System. IO. Ports radila.

Da biste to učinili, idite na Uredi-> Postavke projekta-> Igrač

pomaknite se dolje u ovom izborniku dok ne pronađete razinu kompatibilnosti Api i odaberite. NET 2.0 umjesto. NET 2.0 podskup

Sada ste spremni za početak kodiranja.

pomoću System. Collections; pomoću System. Collections. Generic; pomoću UnityEngine; pomoću System. IO. Ports;

javni razred PlayerMovement: MonoBehaviour

{public float speed; pokret s plovkom;

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

void Start ()

{// Pokrenite kôd za otvaranje serijskog porta OpenSerialPort (); }

void OpenSerialPort ()

{// Otvorite serijski port sp. Open (); sp. ReadTimeout = 1; }

void Movement (smjer žice)

{// Provjerite kojim je smjerom prošao arduino if (Direction == "Left") {movement = -1; } if (Smjer == "Desno") {pokret = 1; } // izračunati iznos za koji će se objekt igre premjestiti plutajući prijevod = kretanje * brzina; // Primijeni pokret na transformaciju objekta igre. Prevod (prijevod, 0, 0); }

void Update ()

{if (sp. IsOpen) {try {// dok je serijski port otvoren move izvršite funkciju move i proslijedite redak koji Arduino ispisuje Movement (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Korak 5: Završne napomene

Provjerite rade li vaše komponente

Problem na koji sam naišao tijekom stvaranja ovoga bio je u tome što su sve žice i kôd bili ispravni i uopće ne bi trebalo biti problema, ali nije funkcioniralo. U mom slučaju radilo se o žici koja nije radila, iako isto se može dogoditi i s nekim drugim vašim komponentama.

Preporučeni: