FirstVR 게임 튜토리얼 편

10631 단어 FirstVRUnity

일단 퍼스트 VR.


FirstVR는 H2L사가 개발·판매한 근육 이동을 사용하는 컨트롤러에 부착된 VR 장비다.
팔에 전용 장치를 달아 근육의 움직임을 측정해 손과 팔의 동작을 컨트롤러에 입력하는 획기적인 장치다.
지금은 VR로 손가락과 팔을 잡는 동작을 하려면 컨트롤러를 돌리지 않고 대규모의 동작 포착 세트가 필요하다.
이 퍼스트 VR이라면 전용 센서를 손목에 감으면 손가락이 돌아가기 때문에 VR 게임 실황 등에 적용할 수 있을 것으로 보인다.
이번에 이FirstVR을 받아서 튜토리얼을 해봤어요.

이동까지의 프로세스


1. 펌웨어 업그레이드


먼저 FirstVR의 펌웨어 업데이트를 진행합니다.
방법은 공식 사이트에 설명이 있다.
게다가 펌웨어 업데이트는 iOS에서 쉽게 수행할 수 있습니다.

전용 어플리케이션 설치

firmware 항목을 선택하고 컨트롤러와 맞춘 후 업데이트를 누르면 됩니다.
또한 Android의 펌웨어 업데이트를 시도했지만 실패했습니다.
(안드로이드 방법의 설명임에도 iOS를 이용한 해설은 차이가 있는 부분에서는 불분명하다.)

2. Unity SDK 다운로드


개발자용 웹 사이트FIRST VR Developer Center에서 SDK를 다운로드합니다.
다운로드하려면 계정에 로그인해야 합니다.

3. Unity 프로젝트 가져오기


이번이 모처럼의 기회인 만큼 이 글을 쓸 때 최신 버전인'Unity 2018.3.0b7'로 프로젝트를 만들었다.
SDK의 가져오기였지만 zip을 해제하면 "Asseets"와 "Project Settings"가 그대로 나오기 때문에 이 D&D를 Unity Project에 넣습니다.

이렇게 되면 PlayerSettings도 당연히 덮어쓰게 됩니다. SDK를 가져온 후 취향에 따라 조정하십시오.

(NET4.X로만 전환)

4. 실제 전송 구축


FirstVR은 Editor에서 디버깅을 지원하지 않습니다.
따라서 동작을 확인할 때 iOS/Android를 대상으로 구축하고 실제 컴퓨터로 확인해야 한다.
한 마디로 하면 아무것도 고려하지 않고 샘플 장면만 포함하여 구축해 본다.
이번에는 안드로이드(GalaxyS8)로 동작을 확인해보자.

그리고 빌딩이 끝난 후에 나는 실기기로 동작을 확인하고 싶었는데 응용 프로그램이 떨어졌다.

5. 이렇게 하면 움직이지 않기 때문에 수정해야 한다


강제 종료 후 애플리케이션을 시작할 수 없기 때문에 Debug를 만들어 안드로이드 Device Monitor에서 무슨 일이 일어났는지 확인해야 합니다.
Didn't find class com.unity3d.player.UnityPlayerProxyActivity 오류가 발생했습니다.
원래com.unity3d.player.UnityPlayerProxyActivity는 오래전(Unity 5학과)에서 추천하지 않던 액티비티였는데, Unity 2018.1에서 삭제됐다.
( Unity 2018.1.0b13 출시 노트북 )
따라서FirstVR SDK에 첨부된 안드로이드 매니페스트 파일은 오래된 원인이기 때문에 여기서 수정합니다.

Android Manifest 수정


다시 쓰다Assets\Plugins\Android\AndroidManifest.xml.
변경 전(20-44 행)
    <application
        android:theme="@style/UnityThemeSelector"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.unity3d.player.UnityPlayerProxyActivity"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        </activity>
        <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <meta-data android:name="android.app.lib_name" android:value="unity" />
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
             <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
        </activity>
    </application>
수정 후
  <application
        android:theme="@style/UnityThemeSelector"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.unity3d.player.UnityPlayerActivity" 
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
이렇게 구축하면 안전하게 작동할 수 있다.

추기:FirstVR의 사람과 연락하면 SDK를 수정할 수 있습니다.

6. 실제 기기로 동작 확인


우선 컨트롤러를 팔에 설치한다.

이후 컨트롤러와 안드로이드 단말기를 연결하고 주의사항이 있습니다.부팅 컨트롤러가 터미널에 가까워지면 조립할 필요가 없다.
빠른 시작 설명서 아래에 상세하게 쓰여 있으니 자세히 읽어 주십시오.
Q3. FirstVRコントローラと使用しているスマートフォンが接続されません。
A3. 以下点をご確認いただきますようお願い申し上げます。ご確認の上、ご不明点がございまいしたらお問い合わせ窓口までご連絡をお願い致します。

[コントローラ接続の確認点]
1.お使いの端末がiPhone6S以降またはAndroid6.0以降である。
2.お使いの端末のBluetoothがver. 4.2である。
3.コントローラとスマートフォンはペアリングの必要はございません。スマートフォンのBluetoothをオンにする→コントローラの電源を点ける→アプリを立ち上げる→コントローラをスマートフォンに近づける→接続完了します。

[Androidをお使いの方へ]
AndroidでFirstVR Bluetooth接続できない場合の対処法
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「設定」→「位置情報」→メニュー(縦3つのドット)→「スキャン」からBluetoothのスキャンをオフにする
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
중점은'위치 정보를 끄는 블루투스'일 수 있다.
또한 터미널과 컨트롤러의 연결은 BLE를 사용한다.
따라서 단말기의 안테나 부분과 컨트롤러의 거리에 최대한 접근하는 것이 안정적인 연결의 비결이다.
(전파 강도를 사용하여 단말기 사이의 거리를 측정하여 배합 여부를 판단한다.)

몸짓



샘플 응용 프로그램의 매개 변수
  • 팔 각도
  • 팔 가속도(절대치)
  • 팔 속도(절대치)
  • 팔 전체의 방위(시동시를 정면으로 하고 팔이 몸의 정면, 위, 아래, 오른쪽, 왼쪽, 뒤에 들어가는 곳)
  • 팔의 상태(팔면이 어디로 향하는지)
  • 팔의 동작(백조, 모양)
  • 각 근위 이동 센서의 매개 변수
  • 총결산

  • iOS부터 펌웨어 업그레이드가 압도적으로 간단
  • 어플리케이션 및 컨트롤러 연결에 필요한 노하우
  • UnityEditor에서 작업을 확인할 수 없으며 실제 구성이 필요합니다.
  • 동작을 확인할 때마다 실기 빌딩은 역시 엄격하기 때문에 유니티 에디터에서 디버깅을 할 수 있을 것으로 기대된다.

    좋은 웹페이지 즐겨찾기