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, Novembar
Anonim
Jednostavan Unity kontroler
Jednostavan Unity kontroler

Opis

Ovaj projekt je vrlo jednostavan kontroler koji može dati ulaz Unityju pritiskom na tipke 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 biblioteka.

Korak 1: Materijali

Potrebne komponente

  • -Arduino 2x otpornik
  • -[~ 220 Ohm
  • -Žice
  • -2x dugmad
  • -Bboardboard

Korak 2: Breadboarding

Breadboarding
Breadboarding

Počeo sam spajanjem arduino GND porta na negativni (-) pin na lijevoj strani matične ploče i povezivanjem 5V na pozitivni (+) na desnoj strani matične ploče.

Nakon toga sam stavio dugmad na mesto na kojem sam želeo da bude. 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 šta on radi.

// Deklarirajte pinove na koje su tipke povezane.

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 dugmeta if (digitalRead (buttonPin1) == HIGH) {// odštampajte ovaj red ako je stanje HIGH. Serial.println ("Lijevo"); kašnjenje (20); } if (digitalRead (buttonPin2) == HIGH) {// štampa ovaj red ako je stanje HIGH. Serial.println ("Desno"); kašnjenje (20); }}

Korak 4: Jedinstvo

Ako nemate pripremljenu igru, ovaj kôd će raditi na bilo kojem objektu igre u jedinstvu.

u tom slučaju trebat će vam objekt za igru za pomicanje.

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 kreirajte novu skriptu.

Također ćete morati promijeniti nivo kompatibilnosti Api kako bi biblioteka System. IO. Ports radila.

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

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

Sada ste spremni za početak kodiranja.

koristeći System. Collections, koristeći System. Collections. Generic; koristeći UnityEngine; pomoću System. IO. Ports;

javni razred PlayerMovement: MonoBehaviour

{public float speed; plutajući pokret;

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; }

pokret void (smjer žice)

{// Provjerite u kojem je smjeru arduino prošao ako (Smjer == "Lijevo") {pokret = -1; } if (Smjer == "Desno") {kretanje = 1; } // izračunati iznos za koji će se objekt igre premjestiti plutajući prijevod = kretanje * brzina; // Primijenite pokret na transformaciju objekta igre. Translate (prijevod, 0, 0); }

void Update ()

{if (sp. IsOpen) {try {// dok je serijski port otvoren move, izvršava funkciju move i prosljeđuje liniju koju 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 prilikom stvaranja ovoga bio je da su sve žice i kôd ispravni i da ne bi trebalo biti problema, ali nije funkcionirao. 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čuje se: