Sommario:

Semplice controller di unità: 5 passaggi
Semplice controller di unità: 5 passaggi

Video: Semplice controller di unità: 5 passaggi

Video: Semplice controller di unità: 5 passaggi
Video: GUARDATE COSA è successo in classe! Ho promesso di mettere 10 a chi stacca i quaderni #shorts 2024, Dicembre
Anonim
Controllore unità semplice
Controllore unità semplice

Descrizione

Questo progetto è un controller molto semplice che può fornire input a Unity quando si premono i pulsanti che ho progettato per controllare un gioco che ho creato in cui il giocatore può andare a sinistra e a destra. Ovviamente puoi sempre regolarlo per più controlli. Non è necessario utilizzare librerie aggiuntive.

Passaggio 1: materiali

Componenti necessari

  • -Arduino 2x resistore
  • -[~220 Ohm
  • -Fili
  • -2x pulsanti
  • -tagliere

Passaggio 2: breadboard

breadboard
breadboard

Ho iniziato collegando la porta GND di arduino a un pin negativo (-) sul lato sinistro della breadboard e collegando il 5V a un positivo (+) sul lato destro della breadboard.

Dopodiché ho messo i pulsanti nel posto in cui volevo che fosse la m. E li ha collegati usando con i fili e le resistenze.

Passaggio 3: codifica di Arduino

Prima di tutto dovrai scrivere del codice per far funzionare Arduino. Ho inserito commenti nel codice che spiegano cosa fa.

//Dichiara i pin a cui sono collegati i pulsanti.

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

configurazione nulla()

{ //Avvia il seriale Serial.begin(9600); //Configura i pin come output. pinMode(buttonPin1, INPUT); pinMode(pulsantePin2, INGRESSO); }

ciclo vuoto()

{ //Legge lo stato del pulsante if(digitalRead(buttonPin1) == HIGH) { //stampa questa riga se lo stato è HIGH. Serial.println("Sinistra"); ritardo(20); } if(digitalRead(buttonPin2) == HIGH) { //stampa questa riga se lo stato è HIGH. Serial.println("Giusto"); ritardo(20); } }

Passaggio 4: unità

Se non hai un gioco pronto, questo codice funzionerà su qualsiasi oggetto di gioco in unità.

se questo è il caso avrai bisogno di un oggetto di gioco per muoverti.

Per semplicità creeremo un cubo andando su GameObject->3D Object->Cube

una volta che il cubo è nella tua scena, selezionalo e premi il pulsante Aggiungi componente e crea un nuovo script.

Inoltre sarà necessario modificare il livello di compatibilità dell'API affinché la libreria System. IO. Ports funzioni.

Per farlo vai su Modifica->Impostazioni progetto->Giocatore

scorri verso il basso in questo menu fino a trovare il livello di compatibilità API e seleziona. NET 2.0 invece del sottoinsieme. Net 2.0

Ora sei pronto per iniziare a codificare.

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

Public class PlayerMovement: MonoBehaviour

{ velocità del galleggiante pubblico; movimento del galleggiante;

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

void Inizio()

{ //Esegui il codice per aprire la porta seriale OpenSerialPort(); }

void OpenSerialPort()

{ //Apri la porta seriale sp. Open(); sp. ReadTimeout = 1; }

movimento vuoto (direzione stringa)

{ //Controlla in quale direzione è passato l'arduino if (Direzione == "Sinistra") { movimento = -1; } if (Direzione == "Destra") { movimento = 1; } //calcola di quanto verrà spostato l'oggetto di gioco float traduzione = movimento * velocità; //Applica il movimento all'oggetto di gioco transform. Translate(translation, 0, 0); }

void Aggiorna()

{ if (sp. IsOpen) { try { //mentre la porta seriale è aperta move esegue la funzione di movimento e passa la riga che Arduino sta stampando Movement(sp. ReadLine()); } catch (System. Exception) {

}

}

} }

Passaggio 5: note finali

Controlla se i tuoi componenti funzionano

Un problema che ho riscontrato durante la creazione di questo è che tutti i cavi e il codice erano corretti e non dovrebbero esserci problemi, ma non funzionava. Nel mio caso era un cavo che non funzionava, anche se il lo stesso può accadere con alcuni dei tuoi altri componenti.

Consigliato: