21 kwietnia 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ć.
Wyświetl pełny transkrypt i uzyskaj dostęp do tysięcy filmów naukowych
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.