April 21st, 2022
Kontrolowany fizyczny obrót ludzkiego obserwatora jest pożądany dla pewnych eksperymentalnych, rekreacyjnych i edukacyjnych zastosowań. W tym artykule przedstawiono metodę przekształcania biurowego krzesła obrotowego w medium do kontrolowanego obrotu fizycznego w środowisku rzeczywistości wirtualnej.
Kiedy poruszasz się po świecie, otrzymujesz wizualne i przedsionkowe sygnały o tym, jak poruszasz się ty i otaczające cię obiekty. Ta konfiguracja pozwala na niezależne manipulowanie tymi sygnałami. Jest to niedrogi sposób na kontrolowanie ruchu osoby w wciągającym środowisku audiowizualnym przy użyciu części, które są łatwo dostępne, takich jak krzesło biurowe.
Moja rada dla całego systemu krzeseł jest taka, aby elektronika i silnik działały tak, jak chcesz, zanim cokolwiek prawidłowo złożysz. Zacznij od podłączenia płytki Arduino do komputera za pomocą USB. Z menu rozwijanego narzędzi wybierz port, do którego podłączona jest płytka Arduino.
Następnie wybierz odpowiednią płytę, a następnie procesor. Upewnij się, że pasuje do rzeczywistej płyty głównej i procesora. Tutaj można wkleić dostarczony przykładowy kod Arduino.
Sprawdź i zapisz kod Arduino. Następnie prześlij go na płytkę Arduino za pomocą przycisku przesyłania. Podłącz i włącz podsystem elektryczny.
Następnie przesuń mały przełącznik do pozycji, w której zaświeci się mała kontrolka LED, i obróć pokrętło potencjometru, aby upewnić się, że kontroluje prędkość i kierunek krzesła. Prędkość i kierunek krzesła powinny się różnić w zależności od położenia potencjometru. Następnie otwórz nowy lub istniejący projekt aparatu Unity.
Aby zaimportować wtyczkę SteamVR, najpierw upewnij się, że jesteś zalogowany na swoje konto Unity. Następnie kliknij okno i magazyn zasobów, aby otworzyć magazyn zasobów w przeglądarce internetowej. Wyszukaj SteamVR.
Wybierz wtyczkę SteamVR i kliknij, dodaj do moich zasobów. Po powrocie do aparatu Unity wybierz pozycję menedżer pakietów na karcie okna. Wybierz moje zasoby.
Następnie kliknij importuj w obszarze SteamVR i postępuj zgodnie z instrukcjami, aby zakończyć import. Kliknij Zaakceptuj wszystko, aby wprowadzić zmiany konfiguracyjne i postępuj zgodnie z instrukcjami. Poszukaj nowego zasobu o nazwie SteamVR w oknie projektu na ekranie inspektora.
Rozwiń folder z zasobami SteamVR, a następnie wybierz gotowe gotowce. Przeciągnij zasób zestawu kamery do okna hierarchii, aby umożliwić korzystanie z gogli VR i kontrolerów w grze. Usuń domyślną kamerę główną z hierarchii lub sceny, ponieważ będzie ona kolidować z kamerą SteamVR.
Następnie wyszukaj wtyczkę Ardity, korzystając z tego samego procesu, który jest używany w przypadku SteamVR. Następnie utwórz obiekty potrzebne do eksperymentu. Aby to zrobić, kliknij na obiekt gry i wybierz obiekt 3D.
Na przykład tutaj jest płaszczyzna nazywana tłem, która jest umieszczona w tle widoku kamery. Tło można zablokować w odpowiedniej pozycji względem wyświetlacza zamontowanego na głowie. Aby dodać funkcjonalność do sceny, kliknij przycisk dodaj komponent w oknie inspektora i wybierz nowy skrypt.
Wywołaj skrypt, skonfiguruj wersję próbną. Domyślny kod w tym miejscu powinien zostać zastąpiony kodem w dostarczonym pliku próbnym konfiguracji. Jest to minimalny kod wymagany do prawidłowego poruszania się krzesła.
Wróć do aparatu Unity. Nowy skrypt próbny instalacji jest teraz dołączony do obiektu w tle. W folderze assets w oknie projektu otwórz folder Ardity, a następnie folder scripts.
Przeciągnij skrypt kontrolera szeregowego do obiektu gry działającego w tle w oknie hierarchii. Przewiń listę komponentów w oknie inspektora, aby zlokalizować skrypt kontrolera szeregowego. Upewnij się, że nazwa portu i szybkość płyty są zgodne z tymi dla programu Arduino.
Przeciągnij obiekt tła z okna hierarchii do pola wprowadzania obok odbiornika komunikatów w oknie inspektora. Kliknij dodaj komponent u dołu okna inspektora i wybierz nowy skrypt. Nazwa, nowy kontroler krzesła skryptu.
Dostarczony skrypt kontrolera krzesła można wkleić do tego pliku. Potrzebna jest co najmniej funkcja, która zamienia działania użytkownika na liczbę z zakresu od zera do 1 023. Następnie użyj funkcji wiadomości szeregowej kontrolera szeregowego kropki, aby wysłać numer do Arduino i zapisać skrypt.
Wróć do aparatu Unity, przeciągnij obiekt wyświetlany zamontowany na głowicy z okna hierarchii do pola wejściowego obok przycisku head. Następnie przeciągnij prawy obiekt kontrolera do pola wprowadzania obok ręki. Przewiń w dół w oknie inspektora, aby znaleźć zmienne publiczne skryptu wersji próbnej konfiguracji.
Zgodnie z typem wejściowym przykładowego kodu trzy są przeznaczone dla kontrolera VR, a cztery dla kontrolki myszy. Tutaj wybierany jest kontroler VR. Gdy aplikacja SteamVR jest wyłączona, gdy po raz pierwszy naciśniesz przycisk odtwarzania w Unity, pojawią się komunikaty o błędach związane z działaniami SteamVR.
Postępuj zgodnie z instrukcjami, aby skonfigurować działania SteamVR. Zamknij okno ustawień i zajmij się wszelkimi innymi monitami ze SteamVR. Na koniec naciśnij przycisk odtwarzania, aby rozpocząć korzystanie z VR.
Dzięki tym ustawieniom użytkownik ma możliwość obracania krzesła za pomocą kontrolera VR. Przedstawiono tu schematyczne przedstawienie działań obserwatora i wynikających z nich zmian krzesła i sceny podczas eksperymentu. W stanie kongruentnym, jeśli obserwator przesunie kontroler w lewo, krzesło również przesunie się w lewo, a tło wizualne przesunie się w przeciwnym kierunku, tak jakby była to nieruchoma scena, względem której obraca się osoba.
W stanie nieprzystającym krzesło porusza się w przeciwnym kierunku, co sprawia, że ruch krzesła jest niezgodny z wizualnym ruchem tła. Pokazano tutaj zrzut ekranu przedstawiający obszar bodźca na wyświetlaczu wizualnym. Małe wzorzyste plamy pozostawały na swoim miejscu przez cały czas, ale wzory w ich wnętrzu poruszały się tak, jakby każda plama była oknem na większy poruszający się obiekt.
Plamy leżące na pierścieniu stanowiły cel, a pozostałe plamy stanowiły tło. W tym przykładowym filmie cel porusza się pionowo w górę, a tło przesuwa się w prawo. Ruchome tło tworzy iluzję ruchu w lewo od celu, sprawiając, że wydaje się, że porusza się on w górę i w lewo.
Ten iluzoryczny ruch w lewo jest określany jako ruch indukowany. Pierścień tarczy miał promień pięciu stopni kąta widzenia, a obszar tła zmniejszał się o 20 stopni na 20 stopni. Siła efektu ruchu indukowanego w warunkach ruchu przystającego i nieprzystającego jest reprezentowana przez wartość parametru beta.
Reprezentatywny obraz przedstawia średnie wartości beta dla każdego obserwatora w warunkach przystających i nieprzystających. Jak można się było spodziewać, jeśli obserwatorzy założą, że ruch tła jest spowodowany ich własnym ruchem przez nieruchomy świat, średnia wartość beta dla warunku przystającego jest bliska jedności. Z wyjątkiem jednego obserwatora, wartość beta wszystkich obserwatorów zmniejszyła się w warunkach niezgodnego ruchu krzesła.
Dane te wskazują na zmniejszone prawdopodobieństwo, że wizualny ruch tła jest spowodowany fizycznym ruchem obserwatora. Chcesz mieć pewność, że koło pasowe krzesła i koło pasowe silnika są naprawdę dobrze wyrównane i że napięcie paska jest dobre. Trochę elastyczności w pasku, ale niewiele.
Możesz sterować sygnałami wizualnymi i dźwiękowymi za pomocą zestawu słuchawkowego, a następnie oddzielnie możesz sterować ruchem ciała sterowanym silnikiem lub napędzanym stopą. Jest się czym bawić.
View the full transcript and gain access to thousands of scientific videos
Niniejszy dokument opisuje metodę przekształcenia biurowego krzesełka obrotowego w medium do kontrolowanego fizycznego obracania w środowisku rzeczywistości wirtualnej. Konfiguracja pozwala na niezależne manipulowanie sygnałami wzrokowymi i przedsionkowymi, zwiększając doświadczenia immersyjne.
Controlled rotation of human observers in a virtual reality environment enables precise manipulation of multisensory integration, supporting advanced studies of perception and behavior under immersive conditions. This capability is strategically relevant for biopharma R&D teams seeking to model human sensory processing, de-risk translational neuroscience hypotheses, and validate targets related to vestibular and visual integration. The method's accessibility and reproducibility position it as a reusable platform for early discovery and mechanistic de-risking in neurobehavioral research portfolios.
This method integrates into the discovery-to-preclinical continuum by enabling controlled manipulation and measurement of sensory integration, supporting both early hypothesis testing and translational model validation.