Taula de continguts:

Controlador d'Unity simple: 5 passos
Controlador d'Unity simple: 5 passos

Vídeo: Controlador d'Unity simple: 5 passos

Vídeo: Controlador d'Unity simple: 5 passos
Vídeo: Unity FPS Movement Controller 2022/2023 Tutorial 2024, Desembre
Anonim
Controlador d'Unity simple
Controlador d'Unity simple

Descripció

Aquest projecte és un controlador molt senzill que pot donar entrada a Unity en prémer els botons que el vaig dissenyar per controlar un joc que vaig fer on el jugador pot anar cap a l'esquerra i cap a la dreta. Per descomptat, sempre podeu ajustar-lo per obtenir més controls. No cal fer servir cap biblioteca addicional.

Pas 1: materials

Components necessaris

  • -Resistència Arduino 2x
  • - [~ 220 Ohm
  • -Cables
  • -2 botons
  • -Pissarra

Pas 2: Taulers de revisió

Tauler de pa
Tauler de pa

Vaig començar connectant el port arduino GND a un pin negatiu (-) al costat esquerre de la placa de configuració i connectant el 5V a un positiu (+) al costat dret de la placa de control.

Després vaig posar els botons al lloc que volia que fos. I els va connectar mitjançant cables i resistències.

Pas 3: Codificació de l'Arduino

Primer de tot, haureu d’escriure algun codi per executar-lo Arduino. Poso comentaris al codi que expliquen què fa.

// Declareu els pins als quals estan connectats els botons.

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

configuració nul·la ()

{// Inicieu la sèrie Serial.begin (9600); // Configureu els pins com a sortida. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

bucle buit ()

{// Llegiu l'estat del botó si (digitalRead (buttonPin1) == HIGH) {// imprimiu aquesta línia si l'estat és HIGH. Serial.println ("Esquerra"); retard (20); } if (digitalRead (buttonPin2) == HIGH) {// imprimeix aquesta línia si l'estat és HIGH. Serial.println ("Dreta"); retard (20); }}

Pas 4: Unitat

Si no teniu cap joc a punt, aquest codi funcionarà en qualsevol objecte de joc en unitat.

si aquest és el cas, necessitareu un objecte de joc per moure’s.

Per simplificar, crearem un cub anant a GameObject-> Objecte 3D-> Cub

un cop el cub estigui a la vostra escena, seleccioneu-lo i premeu el botó Afegeix component i creeu un nou script.

També haureu de canviar el nivell de compatibilitat Api perquè funcioni la biblioteca System. IO. Ports.

Per fer-ho, aneu a Edita-> Configuració del projecte-> Reproductor

desplaceu-vos cap avall en aquest menú fins que trobeu el nivell de compatibilitat Api i seleccioneu. NET 2.0 en lloc del subconjunt de. Net 2.0

Ja esteu a punt per començar a codificar.

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

PlayerMovement de classe pública: MonoBehaviour

{velocitat de flotació pública; moviment de flotador;

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

void Start ()

{// Executeu el codi per obrir el port sèrie OpenSerialPort (); }

void OpenSerialPort ()

{// Obriu el port sèrie sp. Open (); sp. ReadTimeout = 1; }

void Movement (direcció de la cadena)

{// Comproveu quina direcció ha passat l'arduino si (Direcció == "Esquerra") {moviment = -1; } if (Direcció == "Dreta") {moviment = 1; } // calcula la quantitat amb què es mourà l'objecte del joc traducció flotant = moviment * velocitat; // Apliqueu el moviment a la transformació gameobject. Translate (traducció, 0, 0); }

void Update ()

{if (sp. IsOpen) {try {// mentre el port sèrie està obert, moveu executeu la funció de moviment i passeu la línia que Arduino imprimeix Movement (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Pas 5: notes finals

Comproveu si els components funcionen

Un problema que vaig trobar durant la creació d’això va ser que tots els cables i el codi eren correctes i no hi hauria d’haver cap problema, però no funcionava. En el meu cas, era un cable que no funcionava, tot i que el mateix pot passar amb alguns dels altres components.

Recomanat: