Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

Surplex接続および開発マニュアル

Last updated at Posted at 2024-01-25

To Foreign Users

Hello, Surplex users.
I used Surplex to create a game as part of my university graduation project.
In the process, we saw many people struggling with Surplex connectivity.
So, I would like to share with you the problem I experienced.
However, with my English ability, it is difficult for me to write this document completely in English.
So, please translate it with Google Chrome extension etc. and read it.

はじめに

本記事では、靴型トラッカーである「Surplex」をSteamVRに接続する方法と、OpenXRを用いているUnityに接続する方法の開発マニュアルをまとめています。
公式マニュアルやFAQを元に制作し、実体験から得た補足を加えています。
もし質問がある場合はSurplex公式Discordサーバーにて@OECUへメンションをしてください。(すぐには返信できません)

公式マニュアルは、Surplexと同梱されている手順書に書かれているURLから見られるサイトです。

公式FAQは、公式マニュアルのFAQ & Contact Us > hereから見られるGoogleドキュメントです。

接続環境

デバイス

  • Windows 10
  • VRゴーグル (Meta Quest 2)とコントローラー
  • Surplex
  • 2.4GHzと5GHzとイーサネット接続、全てができるWi-Fiルーター

ソフトウェア

  • OpenSSL
  • Arduino Cloud Editor(ブラウザ上)
  • Cloud Agent
  • Steam
  • SteamVR

zipフォルダ

  • function_test.zip
  • deploy_main.zip
  • surplex_firmware_main.zip
  • websocket_trackers.zip

各ソフトウェアのインストールができているのであれば、対応する手順(4.~6.)を飛ばして構いません。

接続イメージ

SurplexとSteamVRの接続

準備

1. Surplexの充電

SurplexをType-Cのケーブルを用いて充電します。左のランプが緑色になっていれば充電完了です。

2. PCとルーターをイーサネット接続

ルーターの説明書にしたがって、PCとルーターを有線で接続します。

Wi-Fi(無線)を使ってインターネット接続をすると、PCとVRゴーグルをWi-Fiを使って接続できない場合があります。

3. Wi-Fi情報をメモ

以下の3つをメモします。

  1. 接続したルーターの2.4GHzのSSID
    例:Buffalo-G-XXXX MUMAX-XXXXX-G
  2. 1.のWi-Fiパスワード
    例:PassWord Xbh0ycmS
  3. イーサネットのIPv4アドレス
    例:192.168.0.56 192.168.1.9

5GHz用のSSIDはメモしてはいけません。

IPv4アドレスの調べ方
1. [設定] > [ネットワークとインターネット] > [イーサネット] > 接続中のイーサネットのSSIDを選択します。
2. ページ下部の[プロパティ]に書かれている[IPv4 アドレス]をメモします。

ソフトウェアのダウンロード・インストール

4. OpenSSLをインストール

下記のサイトから、Win64 OpenSSL vX.X.X LightEXEをクリックしてダウンロードします。

ダウンロードしようとするとブラウザやPCから拒否しようとしますが無視してください。ただし、安全性は保証できません。

ダウンロードしたインストーラを起動します。

NextInstallをクリックしてインストールします。

インストールが終わると、お金を寄付するか選べます。寄付しなくても機能が無くなることはありません。

参考サイト(「パスを通す」以降は行わない。)

5. Arduino Cloud Editorのセットアップ

下記のURLから、サインインするかArduinoアカウントを作成します。

下記のURLから、Cloud Agentをインストールします。

6. Steam・SteamVRをダウンロード・インストール

下記のURLから、Steamをインストールします。

Steamを起動して、ログインするか、Steamアカウントを作成します。

[ストア] > [検索] からSteamVRをダウンロードします。

7. SteamVRにwebsocket_trackersを追加

公式FAQからwebsocket_trackers.zipをダウンロードし、解凍します。

解凍したフォルダを

C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers

へ移動させます。

...\websocket_trackers\websocket_trackersとならないようにしてください。

ファームウェアのインストール

8. surplex_firmware_main.zipをダウンロード・解凍

公式FAQからsurplex_firmware_main.zipをダウンロードし、解凍します。

フォルダ内のsurplex_firmware_left.zipを解凍します。

9. Arduino Create Agentを起動

[タスクバー] > [ここに入力して検索]でArduino Create Agentを検索し起動します。

[タスクバー]> Arduino Create Agent > Go to Arduino Createをクリックします。サインアウトしていたなら、サインインします。

10-1. Arduino Cloud Editorにsurplex_firmware_leftを追加

Sketchbook > (Import) > IMPORTをクリックして、surplex_firmware_left.zipを選択して開くをクリックします。

surplex_firmware_left🔽を選択して、Secretをクリックして、3.でメモした文字列を入力します。

ラベル 入力する値
SECRET_SSID 1. 接続したルーターの2.4GHzのSSID
SECRET_PASS 2. 1.のWi-Fiパスワード
SECRET_ADDRESS  3. イーサネットのIPv4アドレス

・・・ > Saveをクリックします。

値を入力すると順番が入れ替わりますが、対応したラベルに合わせて入力します。

stray"\302" in programとエラーが出たとき
入力値に不要なスペースを消してください。

10-2. Arduino Cloud Editorにsurplex_firmware_rightを追加

10-1.と同様の手順で右足にsurplex_firmware_rightを追加します。

11-1. Surplexの左足をフォームアップ

Surplexの左足の電源をつけて、USB Type-CでPCに繋ぎます。
上部のプルダウンからESP32 Dev Moduleを選択します。

Arduino Create Agentが起動していても繋がらないことがあります。かなり気分屋なので以下のことを試してください。

  1. USBポートの変更
  2. Arduino Create AgentやPCの再起動

上部のをクリックします。

エラーでDEPLOY_IMU myIMUと出た場合
10.でlibrariesをうまく追加できなかったことが原因です。

  1. 8.で解凍したsurplex_firmware_left内のlibrariesをzipに圧縮する
  2. Libraries > (Import) > IMPORTをクリックして、先ほどのzipを選択して開くを選ぶ

11-2. Surplexの右足をフォームアップ

11-1.と同様の手順で、右足にsurplex_firmware_rightをフォームアップします。

ソフトウェアのダウンロード

12. deploy_main.zipをダウンロード

公式FAQからdeploy_main.zipをダウンロードする。

購入時に届いたメールからダウンロードできるsurplex_software_slim20230510.zipにもありますが、動かない可能性があります。

13. deploy_main.zipを解凍・移動

deploy_main.zipを解凍して、以下のディレクトリになるようにダウンロードフォルダにへ移動します。

└ Downloads
  ├ deploy_main
  ~

新しいフォルダを作成したり別の場所に移動してはいけません。
2024/02/10 要検証です。

ソフトウェアの起動

14. Surplexを再起動

両足のスイッチを一度OFFにてから、もう一度ONにします。
右のランプが赤か黄色に光っていればよいです。

15. SteamVRを起動

VRゴーグルをPCと無線接続をした上でSteamVRを起動します。

Meta Quest 2の場合

  1. PCにMeta Questアプリをインストール
  2. Meta Quest 2を5GHzのWi-Fiに接続
  3. Air LinkでPCとMeta Quest 2を接続
  4. Meta Quest 2からSteamVRを起動

16. deploy_main.exeを起動

13.で解凍したdeploy_main内のdeploy_main.exeを起動します。

Please confirm that your addressが表示されるまで待ちます。

起動がかなり遅いです
あまりにも起動が遅い時はdeploy_main.exeを起動しなおすと、すぐに起動することがあります。

17. 身体情報を入力する

Please confirm that your address atが表示されたら、Enterを入力します。

ここではSurplexの接続先IPv4を確認しています。

Please enter your height in cm:が表示されたら、自身の身長をcm単位で整数のみ入力します。
(例:175 155)

Please enter your weight in kg:が表示されたら、自身の身長をcm単位で整数のみ入力します。
(例:55 78)

Please enter your lower length (from knee to anrkle) in cm:が表示されたら、自身の膝から踵までをcm単位で整数のみ入力します。
(例:50 43)

Please enter your upper length (from waist to knee) in cm:が表示されたら、自身の腰から膝までをcm単位で整数のみ入力します。
(例:50 40)

Pleae Enter to Calibrate IMU (Put your shoes in the same direction as HMD)が表示されるまで待ちます。
表示されたら、Enterを入力してすぐに頭と足を正面に向きます。
このとき、両足の体重が 均等に 乗るように意識しましょう。

Current Frame_rate:が表示されるまで待ちます。

初回起動時にソフトウェアが落ちることがありますが、気にせずもう一度起動してください。

18. SteamVRのトラッカー設定

SteamVRの[設定] > [コントローラー] > [トラッカーの管理]を選びます。
トラッカー名に合わせてトラッカーの役割を設定します。

トラッカー名 トラッカーの役割 In English
~/LeftFoot_tracker 左足 LEFT FOOT
~/RightFoot_tracker 右足 RIGHT FOOT
~/Waist_tracker  WAIST

2回目以降の接続方法

ソフトウェアの起動14. Surplexを再起動から行います。
ただし、17.でIPv4と身体情報を入力しなくて良いです。

OpenXRを用いたUnityとの接続

Surplexがwebsocketを用いている点から、localhostから位置情報を参照することで位置情報を読み取ります。

SteamVR上ではViveトラッカーのような見た目をしていますが、OpenXRを用いている状態でHTCViveTrackerProfile.csを用いても動きません。
https://forum.unity.com/threads/openxr-and-openvr-together.1113136/#post-7803057

1. Unityのプロジェクトでwebsocketが使えるようにする

以下のサイトを参考にwebsocket-sharp.dllをビルドします。

Unityの Assetsにフォルダを制作しPluginsと名前を変更します。

ビルドしたwebsocket-sharp.dllPluginsにインポートします。

2. UnityのGameObjectにSurplexWebSocket.csを追加

以下のURLからSurplexWebSocket.csをダウンロードします。

SurplexWebSocket.csは私が独自に書いたプログラムです。
SurplexWebSocket.csを利用する際は自己責任でお願いいたします。

このコードを使うとビルドができません。おそらく初歩的なミスですがご容赦ください。

past_versionsには過去のバージョンが保存されています。

UnityのAssetsSurplexWebSocket.csを追加します。

任意のGameObjectにSurplexWebSocket.csを追加します。

3. 連動させたいGameObjectにタグを設定

連動させたいGameObjectに以下のタグを設定します。

体の器官 タグ名 
Waist
右足 RightFoot
左足 LefFoot

4. SteamVRとdeploy_main.exeを起動

ソフトウェアの起動14. Surplexを再起動以降の手順を行っていきます。

更新履歴

2024/01/25 テスト公開
2024/02/01 「SurplexとSteamVRの接続」を制作
2024/02/09 「SteamVR経由でOpenXRを用いたUnityゲームの開発」を制作
2024/02/12 文末の統一・展示会での不具合を追加

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?