Spisu treści:

Tylt: 6 kroków
Tylt: 6 kroków

Wideo: Tylt: 6 kroków

Wideo: Tylt: 6 kroków
Wideo: 6 Kroków jak Zmienić YouTube'a w Najlepsze Narzędzie do Nauki Języków 2024, Listopad
Anonim
Tylt
Tylt
Tylt
Tylt
Tylt
Tylt

Opis projektu:Tworzenie kontrolera opartego na ruchu, który może przesyłać dane tam iz powrotem z płyty arduino do silnika projektowania gier Unity 5. W tym przypadku używamy akcelerometru z trzema osiami (Adxl345) do kontrolowania pozycji X i Y obiektów gry wewnątrz silnika Unity. Zarówno akcelerometr, jak i arduino są zmontowane w prostokątnym pudełku, tworząc wygodny, przyjazny dla użytkownika kontroler.

Materiały:

Akcelerometr

Klej samoprzylepny

Arduino BoardPodstawowe umiejętności lutowania

BreadboardLaser Cutter (piła taśmowa też by działała, ale nie tak dokładna)

Pleksi (lub dowolny inny materiał, z którego chcesz zmontować arduino i akcelerometr)Kabel USB 1.1

Przewody

Krok 1: Montaż mechaniczny

Montaż mechaniczny
Montaż mechaniczny
Montaż mechaniczny
Montaż mechaniczny
Montaż mechaniczny
Montaż mechaniczny

Najpierw zatop swoje szpilki w akceleratorze. W tym przykładzie wszystkie piny są przylutowane, ale jedyne potrzebne piny to: port VIN, port Grnd, port SDA i port SCL. Umieść akcelerometr na płytce stykowej tak, aby wszystkie szpilki znajdowały się w różnych rzędach, ale w tej samej kolumnie. Następnie podłącz cztery przewody z arduino do akceleratora. Jeden przewód powinien płynąć z portu 5V na arduino do portu VIN na akcelerometrze. Oba porty masy na arduino i akcelerometr również powinny być połączone. Porty SDA i SCL na arduino powinny być również połączone (i dopasowane) do portów SDA i SCL na akcelerometrze. Sprawdź tył swojego arduino, aby dowiedzieć się, które z jego portów to SDA i SCL. Nie martw się o podłączenie zasilacza, cała moc będzie podawana do arduino przez kabel USB 1.1.

Krok 2: Zaprojektuj swoją grę

Jest to prawdopodobnie najważniejsza część gry i zdecydowanie zaleca się, aby czuć się komfortowo z jednością w tym projekcie. Naprawdę możesz stworzyć dowolny rodzaj gry, który chcesz, zdecydowaliśmy się stworzyć grę w stylu kuli i labiryntu. Podczas tworzenia gry upewnij się, że wszystkie obiekty, które mają być kontrolowane, są dziećmi większego obiektu gry.

Krok 3: Kodowanie

To chyba najtrudniejsza część projektu. Pierwszą rzeczą, którą będziesz chciał zrobić, to pobrać bibliotekę kodu dla akcelerometru ADXL345 w Arduino IDE. Można go znaleźć na stronie adafruit. Po przesłaniu do arduino wyrzuci on mnóstwo danych na monitor szeregowy. Naprawdę idealnie byłoby pobrać dane pozycyjne XYZ i wysłać je bezpośrednio do projektu unity, ale wysyłanie pływaków nie jest tak proste, jak się wydaje. Wysyłając dane, unity zawsze odczyta je jako ciąg, co okazuje się trudne w obsłudze. Aby obejść ten problem, możemy zrobić serię instrukcji if dla arduino. na przykład:

if(zdarzenie.przyspieszenie.y >3){

Serial.println("prawo");

}

Będziemy chcieli zrobić te rodzaje porównań dla ośmiu różnych kierunków: góra, dół, lewo, prawo, góra-prawo, góra-lewo, dół-prawo i dół-lewo.

Wysyłając te ciągi wskazówek, faktycznie możemy ich użyć! W Unity, na naszym kontrolerze gracza (który powinien być dołączony do obiektu lub grupy obiektów, którymi chcesz sterować) będziemy chcieli użyć instrukcji if, która wykorzysta ciąg czytany w:

if(serial. ReadLine() == "po lewej"){

Debug. Log("po lewej");

transform. Rotate((-Time.deltaTime * 50), 0, 0);

}

I znowu, będziemy chcieli to zrobić we wszystkich ośmiu kierunkach.

Teraz najtrudniejszą częścią jest umożliwienie przesyłania danych do jedności. W tym samym skrypcie chcemy zezwolić na bibliotekę Serial: using System. IO. Ports

Następnie będziemy chcieli utworzyć nową instancję portu szeregowego:

SerialPort serial = nowy SerialPort("COM5", 9600);

**Uwaga, aby sprawdzić, z którego COM korzysta twoje arduino, możesz to zrobić w Arduino IDE, ale najczęściej są to COM3 i COM5.**

Wewnątrz naszej funkcji startowej chcemy teraz otworzyć port szeregowy:

if(!serial. IsOpen){

serial. Otwórz();

serial. Czas odczytu = 10;

}

Po tym wszystkim spróbuj przetestować transfer danych, a powinieneś zobaczyć, że działa!

Krok 4: Cięcie

Ciąć
Ciąć
Ciąć
Ciąć

Teraz, gdy masz już zakodowaną grę, a arduino komunikuje się z Unity 5, projekt jest w zasadzie zakończony. Jednak chcesz złożyć go w przyjazny dla użytkownika, atrakcyjny kontroler, z którego mogą korzystać wszyscy Twoi znajomi! Aby utworzyć ten kontroler, możesz użyć dowolnego materiału, który chcesz, po prostu upewnij się, że nie wyrzuca on twoich współrzędnych w twoim akceleratorze, być może będziesz musiał wrócić i odpowiednio dostosować swój kod. Pamiętaj też, aby pozostawić otwarty port USB 1.1, aby podłączyć kontroler do komputera. W tym przykładzie użyliśmy pleksi. Najpierw będziesz musiał zmierzyć wymiary każdego kawałka, aby dopasować go do swoich potrzeb. Ponownie, pamiętaj, aby wziąć pod uwagę otwarcie portu USB 1.1. Następnie za pomocą wycinarki laserowej wytnij wszystkie kawałki na skrzynkę sterownika. Pleksi można również ciąć piłą taśmową, ale wycinarka laserowa jest dokładniejsza. Dodatkowo przy pomocy piły taśmowej wycięliśmy mały kawałek drewna o takich samych wymiarach jak arduino. Chociaż nie jest to konieczne, jest zalecane na etapie montażu.

Krok 5: Montaż kontrolera

Zespół kontrolera
Zespół kontrolera
Zespół kontrolera
Zespół kontrolera

(Jeśli nie wyciąłeś kawałka drewna zgodnie z zaleceniami w poprzednim kroku, pomiń tę pierwszą instrukcję) Weź kawałek drewna i umieść na nim płytę arduino. Następnie przykręć deskę do drewna, upewniając się, że jest stabilnie na swoim miejscu. Następnie przyklej drewno do dolnej części pleksi. Jeśli pominiesz drewno, możesz przykręcić deskę bezpośrednio do pleksi, choć może to ją uszkodzić lub stać się niewygodne, jeśli nie będzie wystarczająco gruba dla wkrętu. Następnie usuń naklejkę samoprzylepną z tyłu płytki stykowej, a następnie umieść ją blisko i przytulnie obok arduino. Następnie przyklej pozostałe elementy pudełka, aby utworzyć kontroler, ponownie upewnij się, że port USB 1.1 jest nadal dostępny.

Krok 6: Podłącz i graj

Jesteś skończony! Podłącz swój słodki kontroler do komputera za pomocą kabla USB 1.1 i przetestuj swoją grę!

Zalecana: