FOVE SUPPORT CENTER

UnityでFOVEがキャリブレーション中かどうか?など

Answered

Comments

4 comments

  • Avatar
    Sanuga

    お世話になります。

    私自身がUnityをほとんど知らないので、不正確・不親切な回答になってしまうかもしれませんが、ひとまずお答えします。

    一つ目の質問ですが、キャリブレーション中かどうかの確認は次の関数でできると思います。

    static bool UnityEngine.FoveInterface.IsEyeTrackingCalibrating ()
    http://docs.getfove.com/unityapi/class_unity_engine_1_1_fove_interface.html#a984f4cdb7f0864b1ff30ea1bafe1e1fb
    また、キャリブレーションを実施する関数・キャリブレーション済みかどうかを確認する関数もございます。

    (プラグインのチェックボックスを有効にしている場合、開始時に自動的にキャリブレーションを行います)

  • Avatar
    char creon

    ありがとうございます

    FoveInterface.EnsureEyeTrackingCalibration();
    これでキャリブレーション開始しました。

    FoveInterface.IsEyeTrackingCalibrating()
    これでキャリブレーション終了したか判定できました。

  • Avatar
    Sanuga

    二つ目の質問、キャリブレーションに成功しているかどうかを知る方法についてですが、現在は「ありません」。

    まず、FOVE Software v0.11.4 のキャリブレーションプロセス自身には、失敗を自身で認識する機能がありません。
    ドリフト補正(被りなおしたりして顔がずれたときに補正する)の失敗は認識しますが、これはキャリブレーションの成功・失敗とは別です。

    「キャリブレーション失敗」は、FOVE Software が提供する視線ベクトルが、プレイヤーが見ている方向を正確に示さない状況を指すと考えております。
    v0.11.4 時点では、この「キャリブレーション失敗」は、キャリブレーション後に何かを見てもらって視線ベクトルが期待通りかをテストしない限り判断できません。
    アプリケーション側で、「キャリブレーション精度をテストして再度キャリブレーションをする機構」か、あるいは「キャリブレーション失敗だと思ったプレイヤーが自ら再キャリブレーションを開始するための操作手段」を提供、ということになると思います。

    アイトラッキングの精度向上にはFOVEとしても尽力しており、次回リリース予定のFOVE Softwareでも改善する見込みです。
    しかしながら、現時点ではそのような対応をお願いすることになります。
    お手数をおかけして申し訳ありません。

    キャリブレーションの開始は次の関数で可能です。
    static bool UnityEngine.FoveInterface.EnsureEyeTrackingCalibration()
    http://docs.getfove.com/unityapi/class_unity_engine_1_1_fove_interface.html#a990b5170230434c7e34118dca9d571ea

    キャリブレーション失敗時のフローをどうするか、というのはアプリケーションのデザインにもよると思います。

    なお、私が何かを実装するとしたら
    - 視線ベクタの方向をユーザーが知る手段
    (常時表示で邪魔ならば何かのボタンを押している間のみ表示するなど)
    - ユーザー操作で再キャリブレーションする機能
    - ユーザー操作で視線追跡をアプリケーション側で無視し正面を見ていると見なす機能
    (FOVE VRの Eye tracking modeでも視線追跡を無効化できますが、設定変更にはFOVEランタイムを一度停止する必要があります)
    を自分が使うために入れると思います。
    自分が使うだけならアプリケーション側で失敗を認識する必要はありませんので…。

    つたない回答ですみませんが、よろしくおねがいします。

  • Avatar
    char creon

    「キャリブレーションに失敗しました」と表示されると、(詳しく)説明できる人が傍にいないとプレイヤーが困るだけになってしまいます。

    このあたり、プレイヤーが追加操作できる仕組みが作れるAPIが必須な気がします。

     

    現状無理な事は分かりました。ありがとうございます。

     

Please sign in to leave a comment.