당신이 세상을 통과 할 때 당신은 당신과 당신 주변의 물체가 어떻게 움직이고 있는지에 대한 시각 및 전정 신호를 얻습니다. 이 설정을 사용하면 이러한 신호를 독립적으로 조작 할 수 있습니다. 이것은 사무실 의자처럼 쉽게 사용할 수있는 부품을 사용하여 몰입 형 오디오 비주얼 환경에서 사람의 움직임을 제어 할 수있는 저렴한 방법입니다.
이 전체 의자 시스템에 대한 나의 충고는 전자 장치와 모터가 제대로 조립되기 전에 원하는 방식으로 작동하도록하는 것입니다. USB 케이블을 사용하여 Arduino 보드를 컴퓨터에 연결하여 시작하십시오. 도구 드롭다운 메뉴에서 Arduino 보드가 연결된 포트를 선택합니다.
그런 다음 적절한 보드를 선택한 다음 프로세서를 선택하십시오. 실제 보드 및 프로세서와 일치하는지 확인하십시오. 여기에서 제공된 샘플 Arduino 코드를 붙여 넣을 수 있습니다.
Arduino 코드를 확인하고 저장합니다. 그런 다음 업로드 버튼을 사용하여 Arduino 보드에 업로드하십시오. 전기 서브시스템을 연결하고 켭니다.
그런 다음 작은 토글 스위치를 작은 LED 표시등이 켜지는 위치로 휙 돌리고 전위차계 다이얼을 돌려 의자의 속도와 방향을 제어하는지 확인합니다. 의자 속도와 방향은 전위차계 위치에 따라 달라야합니다. 그런 다음 새 또는 기존 Unity 프로젝트를 엽니다.
SteamVR 플러그인을 가져오려면 먼저 Unity 계정에 로그인되어 있는지 확인합니다. 그런 다음 창과 자산 저장소를 클릭하여 웹 브라우저에서 자산 저장소를 엽니 다. SteamVR을 검색합니다.
SteamVR 플러그인을 선택하고 클릭하여 내 자산에 추가하십시오. Unity로 돌아가서 창 탭에서 패키지 관리자를 선택합니다. 내 자산을 선택합니다.
그런 다음 SteamVR에서 가져 오기를 클릭하고 프롬프트에 따라 가져 오기를 완료하십시오. 모두 수락을 클릭하여 구성을 변경하고 프롬프트를 따릅니다. 인스펙터 화면의 프로젝트 창에서 SteamVR이라는 새 자산을 찾습니다.
SteamVR 자산 폴더를 확장한 다음 프리팹을 확장합니다. 카메라 리그 자산을 계층 구조 창으로 드래그하여 게임에서 VR 헤드셋과 컨트롤러를 사용할 수 있도록 합니다. 계층 구조 또는 장면에서 기본 기본 카메라를 제거하면 SteamVR 카메라를 방해합니다.
다음으로 SteamVR에 사용 된 것과 동일한 프로세스를 사용하여 Ardity 플러그인을 검색하십시오. 그런 다음 실험에 필요한 개체를 만듭니다. 이렇게하려면 게임 객체를 클릭하고 3D 객체를 선택하십시오.
예를 들어, 다음은 카메라 뷰의 배경에 배치되는 배경이라는 평면입니다. 배경은 헤드 장착 디스플레이에 상대적인 위치에 잠글 수 있습니다. 장면에 기능을 추가하려면 검사기 창에서 구성 요소 추가 단추를 클릭하고 새 스크립트를 선택합니다.
스크립트를 호출하고 평가판을 설정합니다. 여기의 기본 코드는 제공된 설치 평가판 파일의 코드로 바꿔야 합니다. 의자가 올바르게 움직이게하는 데 필요한 최소 코드입니다.
유니티로 돌아갑니다. 이제 새 설치 평가판 스크립트가 백그라운드 개체에 첨부됩니다. 프로젝트 창의 assets 폴더 아래에서 Ardity 폴더를 연 다음 scripts 폴더를 엽니다.
직렬 컨트롤러 스크립트를 계층 구조 창의 배경 게임 개체로 끕니다. 검사기 창에서 구성 요소 목록을 아래로 스크롤하여 직렬 컨트롤러 스크립트를 찾습니다. 포트 이름과 보드 속도가 Arduino 프로그램의 포트 이름과 보드 속도와 일치하는지 확인하십시오.
계층 구조 창에서 인스펙터 창의 메시지 리스너 옆에 있는 입력 상자로 배경 객체를 끕니다. 인스펙터 창 하단에 있는 컴포넌트 추가를 클릭하고 새 스크립트를 선택합니다. 이름, 새로운 스크립트 의자 컨트롤러.
제공된 의자 컨트롤러 스크립트를 이 파일에 붙여넣을 수 있습니다. 최소한 사용자 작업을 0에서 1, 023 사이의 숫자로 변환하는 함수가 필요합니다. 그런 다음 직렬 컨트롤러 도트 전송 직렬 메시지 기능을 사용하여 Arduino에 번호를 보내고 스크립트를 저장하십시오.
Unity로 돌아가서 헤드 마운트된 표시 객체를 계층 구조 창에서 헤드 옆의 입력 상자로 드래그합니다. 그런 다음 오른쪽 컨트롤러 개체를 손 옆의 입력 상자로 끕니다. 검사기 창에서 아래로 스크롤하여 설정 평가판 스크립트 공개 변수를 찾습니다.
샘플 코드 입력 유형에 따라 세 개는 VR 컨트롤러 용이고 네 개는 마우스 제어용입니다. 여기서, VR 컨트롤러가 선택되고 있다. SteamVR 앱이 꺼진 상태에서 Unity에서 재생 버튼을 처음 누르면 SteamVR 액션과 관련된 오류 메시지가 표시됩니다.
안내에 따라 SteamVR 액션을 구성합니다. 설정 창을 닫고 SteamVR의 다른 프롬프트를 처리합니다. 마지막으로 재생 버튼을 눌러 VR 경험을 시작하십시오.
이러한 설정을 통해 사용자는 VR 컨트롤러를 사용하여 의자를 회전 할 수 있습니다. 관찰자의 행동과 실험 중 결과 의자 및 장면 변화에 대한 개략적인 표현이 여기에 표시됩니다. 일치 조건에서 관찰자가 컨트롤러를 왼쪽으로 이동하면 의자도 왼쪽으로 이동하고 시각적 배경은 사람이 회전하는 고정 된 장면 인 것처럼 반대 방향으로 움직입니다.
부조화 상태에서는 의자가 반대 방향으로 움직이며 의자 움직임이 시각적 배경 동작과 일치하지 않습니다. 여기에 표시된 것은 시각적 디스플레이의 자극 영역의 스크린 샷입니다. 작은 패턴의 패치는 항상 제자리에 머물러 있었지만 그 안에있는 패턴은 각 패치가 더 큰 움직이는 물체의 창처럼 움직였습니다.
링에 놓인 패치는 타겟을 구성했고, 다른 패치는 배경을 구성했습니다. 이 예제 비디오에서 대상은 수직으로 위쪽으로 이동하고 배경은 오른쪽으로 이동합니다. 움직이는 배경은 목표물에서 왼쪽으로 움직이는 환상을 만들어 위쪽과 왼쪽으로 움직이는 것처럼 보입니다.
이 환상적인 좌회전 운동을 유도 운동이라고합니다. 목표 링은 시각 각도가 5도인 반경을 가졌고, 배경 영역은 20도 x 20도로 미묘했습니다. 일치 및 부조화 운동 조건하에서의 유도된 운동 효과의 강도는 파라미터 베타의 값으로 표현된다.
대표적인 이미지는 일치하고 부조화된 조건에서 각 관찰자에 대한 평균 베타 값을 보여준다. 예상할 수 있듯이, 관찰자가 배경 운동이 정지 세계를 통한 자신의 움직임에 의해 발생했다고 가정한다면, 일치 조건에 대한 평균 베타 값은 하나에 가깝습니다. 한 명의 관찰자를 제외하고, 모든 관찰자의 베타 값은 부조화된 의자 운동 조건에서 감소하였다.
이 데이터는 시각적 배경 모션을 관찰자의 물리적 움직임에 의해 야기된 것으로 볼 가능성이 감소했음을 나타냅니다. 의자 풀리와 모터 풀리가 정말 잘 정렬되어 있는지 확인하고 벨트 장력이 좋습니다. 벨트에 약간의 플렉스가 있지만 많지는 않습니다.
헤드셋을 사용하여 시각 및 청각 신호를 제어 할 수 있으며 별도로 모터를 제어하거나 발로 구동되는 신체 동작을 할 수 있습니다. 함께 놀 것이 많습니다.