Jednoduchý ovladač Unity: 5 kroků
Jednoduchý ovladač Unity: 5 kroků
Anonim
Jednoduchý ovladač Unity
Jednoduchý ovladač Unity

Popis

Tento projekt je velmi jednoduchý ovladač, který může dávat vstup do Unity po stisknutí tlačítek. Navrhl jsem jej k ovládání hry, kterou jsem vytvořil, kde hráč může jít doleva a doprava. Samozřejmě můžete vždy upravit pro více ovládacích prvků. Není třeba používat žádné další knihovny.

Krok 1: Materiály

Potřebné součásti

  • -Arduino 2x odpor
  • -[~ 220 ohmů
  • -Dráty
  • -2x tlačítka
  • -prkénko

Krok 2: Breadboarding

Breadboarding
Breadboarding

Začal jsem připojením arduino GND portu k zápornému (-) pinu na levé straně prkénka a připojením 5V k kladnému (+) na pravé straně prkénka.

Poté jsem dal tlačítka na místo, kde jsem chtěl mto být. A spojil je pomocí vodičů a rezistorů.

Krok 3: Kódování Arduina

Nejprve budete muset napsat nějaký kód, který vám Arduino spustí. Vložil jsem do kódu komentáře, které vysvětlují, co dělá.

// Deklarujte piny, ke kterým jsou připojena tlačítka.

tlačítko const intPin1 = 3; tlačítko const int Pin2 = 4;

neplatné nastavení ()

{// Spusťte seriál Serial.begin (9600); // Konfigurujte piny jako výstup. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

prázdná smyčka ()

{// Přečíst stav tlačítka if (digitalRead (buttonPin1) == HIGH) {// vytisknout tento řádek, pokud je stav HIGH. Serial.println ("vlevo"); zpoždění (20); } if (digitalRead (buttonPin2) == HIGH) {// vytiskne tento řádek, pokud je stav HIGH. Serial.println („Právo“); zpoždění (20); }}

Krok 4: Jednota

Pokud nemáte připravenou hru, bude tento kód fungovat na jakémkoli herním objektu v jednotě.

v takovém případě budete k pohybu potřebovat herní objekt.

Kvůli jednoduchosti vytvoříme krychli tak, že přejdeme na GameObject-> 3D objekt-> Kostka

jakmile je kostka ve vaší scéně, vyberte ji, stiskněte tlačítko Přidat komponentu a vytvořte nový skript.

Aby knihovna System. IO. Ports fungovala, budete také muset změnit úroveň kompatibility Api.

Chcete-li to provést, přejděte do nabídky Upravit-> Nastavení projektu-> Přehrávač

v této nabídce přejděte dolů, dokud nenajdete úroveň kompatibility Api, a místo podmnožiny. NET 2.0 vyberte. NET 2.0

Nyní jste připraveni začít s kódováním.

pomocí System. Collections; pomocí System. Collections. Generic; pomocí UnityEngine; pomocí System. IO. Ports;

veřejná třída PlayerMovement: MonoBehaviour

{public float speed; pohyb plováku;

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

neplatný začátek ()

{// Spuštěním kódu otevřete sériový port OpenSerialPort (); }

zrušit OpenSerialPort ()

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

neplatný pohyb (směr řetězce)

{// Zkontrolujte, jakým směrem arduino prošlo, pokud (Směr == "Vlevo") {pohyb = -1; } if (Směr == "Vpravo") {pohyb = 1; } // vypočítat částku, o kterou se bude herní objekt pohybovat float translation = pohyb * rychlost; // Použití pohybu na transformaci gameobject. Translate (překlad, 0, 0); }

zrušit aktualizaci ()

{if (sp. IsOpen) {zkuste {// když je sériový port otevřený, pohyb proveďte funkci pohybu a předejte řádek, který Arduino tiskne Pohyb (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Krok 5: Závěrečné poznámky

Zkontrolujte, zda vaše součásti fungují

Při vytváření tohoto problému jsem narazil na to, že všechny vodiče a kód byly správné a neměl by být žádný problém, ale nefungoval. V mém případě to byl drát, který nefungoval, ačkoli totéž se může stát s některými z vašich dalších komponent.

Doporučuje: