Съдържание:

Прост контролер Unity: 5 стъпки
Прост контролер Unity: 5 стъпки

Видео: Прост контролер Unity: 5 стъпки

Видео: Прост контролер Unity: 5 стъпки
Видео: Easy Unity Flight Simulator: Step-by-Step Playmaker Tutorial 2024, Ноември
Anonim
Прост Unity Controller
Прост Unity Controller

Описание

Този проект е много прост контролер, който може да даде въвеждане на Unity при натискане на бутони, които съм проектирал, за да контролира играта, която направих, където играчът може да отива наляво и надясно. Разбира се, винаги можете да го регулирате за повече контроли. Няма нужда да използвате допълнителни библиотеки.

Стъпка 1: Материали

Необходими компоненти

  • -Arduino 2x резистор
  • -[~ 220 Ома
  • -Жици
  • -2 бутона
  • -Дървена дъска

Стъпка 2: Breadboarding

Breadboarding
Breadboarding

Започнах със свързването на GND порта arduino към отрицателен (-) щифт от лявата страна на макета и свързване на 5V към положително (+) от дясната страна на макета.

След това поставих бутоните на мястото, което исках да бъде mto. И ги свърза с помощта на проводниците и резисторите.

Стъпка 3: Кодиране на Arduino

На първо място, ще трябва да напишете някакъв код, за да стартирате Arduino. Поставям коментари в кода, които обясняват какво прави.

// Декларираме пинове, към които са свързани бутоните.

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

void setup ()

{// Стартирайте серийния Serial.begin (9600); // Конфигурирайте изводите като изход. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop ()

{// Прочетете състоянието на бутона if (digitalRead (buttonPin1) == HIGH) {// отпечатайте този ред, ако състоянието е HIGH. Serial.println ("Вляво"); забавяне (20); } if (digitalRead (buttonPin2) == HIGH) {// отпечатайте този ред, ако състоянието е HIGH. Serial.println ("Вдясно"); забавяне (20); }}

Стъпка 4: Единство

Ако нямате готова игра, този код ще работи върху всеки игрален обект в единство.

в такъв случай ще ви е необходим игрален обект за преместване.

За по-голяма простота ще създадем куб, като отидем в GameObject-> 3D Object-> Cube

след като кубът е във вашата сцена, изберете го и натиснете бутона Добавяне на компонент и създайте нов скрипт.

Също така ще трябва да промените нивото на съвместимост на Api, за да може библиотеката System. IO. Ports да работи.

За да направите това, отидете на Edit-> Project Settings-> Player

превъртете надолу в това меню, докато намерите нивото на съвместимост на Api и изберете. NET 2.0 вместо. NET 2.0 подмножество

Вече сте готови да започнете кодирането.

използване System. Collections; използване System. Collections. Generic; използване на UnityEngine; използване на System. IO. Ports;

публичен клас PlayerMovement: MonoBehaviour

{публична скорост на плаване; плаващо движение;

SerialPort sp = нов SerialPort ("COM3", 9600);

void Start ()

{// Пуснете кода, за да отворите серийния порт OpenSerialPort (); }

void OpenSerialPort ()

{// Отваряне на серийния порт sp. Open (); sp. ReadTimeout = 1; }

void Movement (посока на низ)

{// Проверете в каква посока е преминал arduino if (Direction == "Left") {motion = -1; } if (Посока == "Надясно") {движение = 1; } // изчисляваме сумата, с която обектът на играта ще бъде преместен плаващ превод = движение * скорост; // Прилагане на движението към трансформацията на обекта на играта. Превод (превод, 0, 0); }

void Update ()

{if (sp. IsOpen) {try {// докато серийният порт е отворен move, изпълнява функцията за движение и предава реда, който Arduino печата Movement (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Стъпка 5: Заключителни бележки

Проверете дали компонентите ви работят

Проблем, който срещнах по време на създаването на това, беше, че всички проводници и код бяха правилни и изобщо не би трябвало да има проблем, но не работеше. В моя случай това беше проводник, който не работеше, въпреки че същото може да се случи с някои от другите ви компоненти.

Препоръчано: