Skip to content
This repository has been archived by the owner on Feb 10, 2022. It is now read-only.
Wizapply edited this page Aug 9, 2021 · 40 revisions

ここでは、SIMVR向けアプリケーション開発についての使い方をまとめています。
初期セットアップからSIMVR動作までの流れを説明しています。

logo

SIMVRの機器使用上の注意事項について

マニュアルは下記PDFを必ずご確認の上、安全にご利用ください。

ダウンロード:SIMVR_Manual.pdf

ホームポジションでの乗降

製品が足場ユニットにしっかりと着地している事をホームポジションと言います。このホームポジションになっている事を必ず確認してから製品に搭乗してください。
home01
home02

緊急停止スイッチ

SIMVRには緊急停止ボタンが付属しています。このボタンを押すと、SIMVRへの電源供給を止めることが可能です。また、ゲーム側で緊急停止ボタンが押されたことを検知することもできます。
EmergencyButtonPicture
ボタンは押下するとロックされます。矢印の方向に回して、ロックを解除できます。
EmergencyButton

SIMVRとアプリケーションの認証について

home03
実機で稼働させるためにライセンス認証が必要です。開発用としてご購入いただいたお持ちのSIMVRでのみご利用が認められておりますので、別のSIMVRによるビジネスや展示会等でご利用の際は追加でライセンスが必要です。

開発しているアプリケーションを認証するにはSIMVRキーのオンライン発行でキーを取得してください。

認証の仕方について

  1. 動作させるSIMVRシリアル番号を確認します
  2. SIMVRシリアル番号を用いてSIMVRキーを発行しキー取得します。
  3. 開発しているアプリケーションも他者に提供する場合、ライセンス化可能ですので、必要に応じてアプリコードを入力してください。
  4. ライセンスキーをテキストファイル化にして「PublicKey.txt」として名前を付けて保存します。
  5. 実行ファイルまたはプロジェクトファイルの直下にファイルを置きます。(常に置いておく必要があります。)
  6. プログラム実行してSIMVRとの認証ができれば完了です。
    whome1
    whome2
    ※UE4 64bit Editor : C:\Program Files\Epic Games\UE_4.16\Engine\Binaries\Win64\PublicKey.txt
    ※出力した実行ファイル(.exe)の場合は、大抵実行ファイルのディレクトリです。

※開発者ライセンスを受けていれば、通常SIMVR筐体にシリアル番号が記載しております。

SIMVR動作パラメータについて

SIMVRに与えるパラメータについての解説です。

パラメータ API 解説
SIMVR Status GetState() 現在接続しているSIMVRの状態を表示します。 ステータスパラメータは下記表をご確認ください。
Enable Axis Processer SetAxisProcessingMode()
GetAxisProcessingMode()
このチェックがついている状態ではSIMVR Controller Modeとなり Roll,Pitch,Yaw,Heave,Sway,Surgeの6軸を基本とした挙動を作成することができます。 チェックが外れている状態では、SIMVR Direct Position Modeとなり、Axis 1~4の直接制御を行います(非推奨)
Roll SIMVRDataPacket.roll SIMVR正面から見て、左右回転を制御します。初期値は0.0、最小値-1.0,最大値1.0です。
Pitch SIMVRDataPacket.pitch SIMVR正面から見て、前後回転を制御します。初期値は0.0、最小値-1.0,最大値1.0です。
Yaw SIMVRDataPacket.yaw SIMVR正面から見て、上下軸の回転を制御します。初期値は0.0、最小値-1.0,最大値1.0です。
Heave SIMVRDataPacket.heave 上下移動で上下にかかるGパラメータを制御します。初期値は0.0,最小値-1.0,最大値1.0です。
Sway SIMVRDataPacket.sway SIMVR正面から見て、左右Gパラメータを制御します。初期値は0.0,最小値-1.0,最大値1.0です。
Surge SIMVRDataPacket.surge SIMVR正面から見て、前後Gパラメータを制御します。初期値は0.0,最小値-1.0,最大値1.0です。
Enable Origin SetOriginMode()
GetAxisProcessingMode()
チェックがついている間、SIMVRを強制的にホームポジションに設定します。
Speed SIMVRDataPacket.speedAxis123 アクチュエータの速度を制御します。初期値は1.0,最小値0.05,最大値1.0です。
Accelerate SIMVRDataPacket.accelAxis123 アクチュエータの加速度および減速度を制御します。初期値は0.5,最小値0.0,最大値1.0です。
Speed Yaw SIMVRDataPacket.speedAxis4 この機能は廃止されました。互換のため存在。
Accelerate Yaw SIMVRDataPacket.accelAxis4 この機能は廃止されました。互換のため存在。
Rotation Motion Ratio rotationMotionRatio 回転パラメータに対して、どのくらい椅子傾きに反映させるかを設定します。初期値は0.8,最大値1.0,最小値0.0です。
Gravity Motion Ratio gravityMotionRatio Gパラメータに対して、どのくらい傾きを利用した重力加速度に反映するかを設定します。初期値は0.8,最大値1.0,最小値0.0です。
SIMVR 6DOFの場合0.0にすることでパラメータに対して回転が掛からないようになります。

SIMVRの状態についての解説です。

Enum値 整数値 解説
-1 何もしていません。
Initial 0 初期化しています。
CanNotFindUsb 1 USBが接続されていません。
CanNotFindSimvr 2 SIMVRが見つかりません。
CanNotCalibration 3 SIMVRの原点復帰に失敗しました。
TimeoutCalibration 4 SIMVRの原点復帰中にエラーが発生しました。
Running 5 正常動作中です。
StopActuator 6 一部のアクチュエータが停止してます。動作中です。
ShutDownActuator 7 アクチュエータが停止してエラーが発生しました。
Pause 8 一時停止中です。
CanNotCertificate 9 SIMVRの認証に失敗しました。
CalibrationRetry 10 SIMVRの再度原点復帰中です。

またゲームエンジン内でユーティリティのスクリプトがこれらのパラメータを直接制御する場合がありますので、各種別途ご確認ください。

SIMVRの加速度・最高速度について

加速度と最高速度の関係については、下記の図に示します。

home10

各アクチュエータ加速度の計算式は下記のとおりです。

X [G] = accel * 0.25

各アクチュエータ最高速度(スピード)の計算式は下記のとおりです。

X [mm/s] = speed * 100

SIMVR 6DOFにおけるのRotation、Gravityの違いについて

Rotation、Gravityの関係については、下記の図に示します。

home11
Roll、PitchなどRotationで操作した場合は、逆向きの加速度成分が入ってしまいます。
Sway、SurgeなどGravityで操作した場合は、加速度成分の立ち上がりが早く、逆向きの成分が入ることは少なくなります。
傾きを利用した加速度を使用しない場合は、パラメータの「Gravity Motion Ratio」を0.0に設定してください。

SIMVRのツール群を利用について

開発方法を選択してご確認ください。