Obsah:

Jednoduchý ovládač Unity: 5 krokov
Jednoduchý ovládač Unity: 5 krokov

Video: Jednoduchý ovládač Unity: 5 krokov

Video: Jednoduchý ovládač Unity: 5 krokov
Video: Как установить Android SDK в Unity 5. Установка Андроид SDK NDK и JDK by Artalasky 2024, Júl
Anonim
Jednoduchý ovládač jednoty
Jednoduchý ovládač jednoty

Popis

Tento projekt je veľmi jednoduchý ovládač, ktorý môže vstupovať do Unity po stlačení tlačidiel. Bol som navrhnutý tak, aby ovládal hru, ktorú som urobil, kde hráč môže ísť doľava a doprava. Samozrejme, vždy ho môžete prispôsobiť ďalším ovládacím prvkom. Nie je potrebné používať žiadne ďalšie knižnice.

Krok 1: Materiály

Potrebné súčiastky

  • -Arduino 2x odpor
  • -[~ 220 ohmov
  • -Drôty
  • -2x tlačidlá
  • -Breadboard

Krok 2: Breadboarding

Breadboarding
Breadboarding

Začal som pripojením arduino GND portu k zápornému (-) kolíku na ľavej strane nepájivého poľa a pripojením 5 V k kladnému (+) na pravej strane nepájivej dosky.

Potom som dal tlačidlá na miesto, kde som chcel, aby bol mto. A spojil ich pomocou drôtov a rezistorov.

Krok 3: Kódovanie Arduina

Najprv budete musieť napísať nejaký kód, ktorý vám Arduino spustí. Do kódu vkladám komentáre, ktoré vysvetľujú, čo robí.

// Deklarujte piny, ku ktorým sú pripojené tlačidlá.

tlačidlo const intPin1 = 3; tlačidlo const intPin2 = 4;

neplatné nastavenie ()

{// Spustite sériový Serial.begin (9600); // Konfigurujte piny ako výstup. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

prázdna slučka ()

{// Prečítajte si stav tlačidla, ak (digitalRead (buttonPin1) == HIGH) {// vytlačte tento riadok, ak je stav HIGH. Serial.println („vľavo“); oneskorenie (20); } if (digitalRead (buttonPin2) == HIGH) {// vytlačte tento riadok, ak je stav HIGH. Serial.println („vpravo“); oneskorenie (20); }}

Krok 4: Jednota

Ak nemáte pripravenú hru, tento kód bude fungovať na akomkoľvek hernom objekte v jednote.

ak je to tak, na pohyb budete potrebovať herný objekt.

Kvôli jednoduchosti vytvoríme kocku tak, že prejdeme na GameObject-> 3D objekt-> Kocka

Akonáhle je kocka vo vašej scéne, vyberte ju, stlačte tlačidlo Pridať komponent a vytvorte nový skript.

Aby knižnica System. IO. Ports fungovala, budete tiež musieť zmeniť úroveň kompatibility s rozhraním Api.

Ak to chcete urobiť, prejdite na položku Upraviť-> Nastavenia projektu-> Hráč

v tejto ponuke rolujte nadol, kým nenájdete úroveň kompatibility Api, a namiesto podmnožiny. Net 2.0 vyberte. NET 2.0

Teraz ste pripravení začať s kódovaním.

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

verejná trieda Pohyb hráča: MonoBehaviour

{public float speed; pohyb plaváka;

SerialPort sp = nový SerialPort ("COM3", 9600);

neplatný začiatok ()

{// Spustením kódu otvorte sériový port OpenSerialPort (); }

zrušiť OpenSerialPort ()

{// Otvorte sériový port sp. Open (); sp. ReadTimeout = 1; }

prázdny pohyb (smer reťazca)

{// Skontrolujte, akým smerom sa arduino vydalo, ak (Smer == "Vľavo") {pohyb = -1; } if (Smer == "Vpravo") {pohyb = 1; } // vypočítať množstvo, o ktoré sa bude herný objekt posúvať float translation = pohyb * rýchlosť; // Aplikujte pohyb na transformáciu gameobject. Translate (preklad, 0, 0); }

zrušiť aktualizáciu ()

{if (sp. IsOpen) {try {// keď je sériový port otvorený, pohyb vykonajte funkciu pohybu a presuňte čiaru, ktorú Arduino tlačí Pohyb (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Krok 5: Záverečné poznámky

Skontrolujte, či vaše súčiastky fungujú

Pri vytváraní tohto problému som sa stretol s tým, že všetky vodiče a kód boli správne a nemal by byť žiadny problém, ale nefungoval. V mojom prípade to bol drôt, ktorý nefungoval, aj keď to isté sa môže stať s niektorými vašimi ďalšími komponentmi.

Odporúča: