Cuprins:

Controler Unity simplu: 5 pași
Controler Unity simplu: 5 pași

Video: Controler Unity simplu: 5 pași

Video: Controler Unity simplu: 5 pași
Video: CONTROLLER INPUT in Unity! 2024, Noiembrie
Anonim
Controler Unity simplu
Controler Unity simplu

Descriere

Acest proiect este un controler foarte simplu care poate da intrare Unity atunci când apasă butoanele pe care le-am proiectat pentru a controla un joc pe care l-am făcut, unde jucătorul poate merge în stânga și în dreapta. Desigur, îl puteți regla oricând pentru mai multe controale. Nu este nevoie să utilizați biblioteci suplimentare.

Pasul 1: Materiale

Componente necesare

  • -Rezistor 2x Arduino
  • - [~ 220 Ohm
  • -Fire
  • -2 Butoane
  • -Placă de pâine

Pasul 2: Breadboarding

Breadboarding
Breadboarding

Am început prin conectarea portului GND arduino la un pin negativ (-) de pe partea stângă a panoului și conectarea 5V la un pozitiv (+) din partea dreaptă a panoului.

După aceea am pus butoanele în locul în care doream să fie mto. Și le-am conectat folosind fire și rezistențe.

Pasul 3: Codificarea Arduino

În primul rând, va trebui să scrieți un cod pentru ca Arduino să ruleze. Am pus comentarii în cod care explică ce face.

// Declarați pinii la care sunt conectate butoanele.

butonul const intPin1 = 3; butonul const intPin2 = 4;

configurare nulă ()

{// Porniți serialul Serial.begin (9600); // Configurați pinii ca ieșire. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

bucla nulă ()

{// Citiți starea butonului dacă (digitalRead (buttonPin1) == HIGH) {// tipăriți această linie dacă starea este HIGH. Serial.println („Stânga”); întârziere (20); } if (digitalRead (buttonPin2) == HIGH) {// tipăriți această linie dacă starea este HIGH. Serial.println („Dreapta”); întârziere (20); }}

Pasul 4: Unitate

Dacă nu aveți un joc pregătit, acest cod va funcționa pe orice obiect de joc în unitate.

dacă acesta este cazul, veți avea nevoie de un obiect de joc pentru a vă deplasa.

Din simplitate, vom crea un cub accesând GameObject-> 3D Object-> Cube

după ce cubul este în scena dvs., selectați-l și apăsați butonul Adăugare componentă și creați un nou script.

De asemenea, va trebui să modificați nivelul de compatibilitate Api pentru ca biblioteca System. IO. Ports să funcționeze.

Pentru a face acest lucru, accesați Edit-> Project Settings-> Player

derulați în jos în acest meniu până când găsiți nivelul de compatibilitate Api și selectați. NET 2.0 în loc de. Net 2.0 subset

Acum sunteți gata să începeți codarea.

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

clasă publică PlayerMovement: MonoBehaviour

{viteza de plutire publică; mișcarea plutitorului;

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

void Start ()

{// Rulați codul pentru a deschide portul serial OpenSerialPort (); }

void OpenSerialPort ()

{// Deschideți portul serial sp. Open (); sp. ReadTimeout = 1; }

void Movement (direcția șirului)

{// Verificați în ce direcție a trecut arduino-ul dacă (Direcția == „Stânga”) {mișcare = -1; } if (Direcția == „Dreapta”) {mișcare = 1; } // calculați suma cu care obiectul jocului va fi mutat float translation = mișcare * viteză; // Aplicați mișcarea transformării gameobject. Translate (traducere, 0, 0); }

actualizare nulă ()

{if (sp. IsOpen) {try {// în timp ce portul serial este deschis mutați executați funcția de mișcare și treceți linia pe care Arduino tipărește Movement (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Pasul 5: Note finale

Verificați dacă componentele dvs. funcționează

O problemă pe care am întâmpinat-o în timpul creării a fost că toate firele și codul erau corecte și nu ar trebui să existe nicio problemă, dar nu funcționa. În cazul meu, era un fir care nu funcționa, deși același lucru se poate întâmpla cu unele dintre celelalte componente ale dvs.

Recomandat: