Jump to content

VIVE_chengnay

Employee
  • Posts

    752
  • Joined

  • Last visited

Posts posted by VIVE_chengnay

  1. Hi @Romain,

    Regarding the "PoseControl" error is caused by OpenXR 1.6.0 or newer version. Please make sure you uninstall the OpenXR package cleanly.
    After uninstalled, please go to the menu Edit > Preferences and click "Regenerate project files".
    If there is still compiled error, use the code below:

    #if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
    using PoseControl = UnityEngine.InputSystem.XR.PoseControl;
    #else
    using PoseControl = UnityEngine.XR.OpenXR.Input.PoseControl;
    #endif

    About the controller pose issue after suspend/resume, this is known issue of Unity Input System.

    So far, we don't have any solution, you need to reboot your controller to recover.

  2. Hi @dilab,

    You can reference to this script, StoragePermissionManager.cs.

    https://github.com/icosa-foundation/open-brush/blob/platform/wave/Assets/Scripts/StoragePermissionManager.cs

    Please note that after you added correctly, you open your app, it will request for permission.

    If don't see this, then there is problem.

    For AndroidManifest.xml, please place the file attached to Assets\Plugins\Android folder.

    Let me know if you have further questions.

    AndroidManifest.xml

  3. Hi @dilab,

    1. I am not sure if you place WaveRig in your scene?

    If yes, then you can get it by using WaveRig.Instance.transform.

    But, it should be the same as getting it from Camera.main.

    2. I might need to check internally whether DirectPreview supports eyetracking.

    Like I said before if you would like to output your data, just save them as string then output as csv.

    UPDATE:

    image.png.d8a54ec4b7bfb827a4ba35bfcbb907c4.png

    3. For frequency, you can simply collect your data in Update function but in specific time.

    For example, if you would like to get 60Hz, it will be 0.0167s.

    So you can calculate the delta time greater than 0.0167s then collect your data.

    OR

    You can collect data by frame count, like collect once per 10 frames.

    To get frame count by Time.frameCount.

    4. I am not quite sure about using callback to collect eyetracking data.

    According to Wave SDK's EyeManager.cs, it is also calling in Update function.

    I will get back to you when I have any updates.

    UPDATE: No callback.

     

    By looking at the script you provided, so you should be collecting your data when it hits the object?

  4. Hi @dilab

    1. Tracker manager is the one provided by Wave SDK? If yes, then it is only for tracker not HMD.

    Alternative method, you can get pos/rot from Camera.main.gameObject.transform instead.

    2. For timestamp, you can get from DateTime.Now

    3. To save your data as csv, you can collect your data then output as string and save as csv file type.

    Your data needs to separate by comma(,) for each column.

    For example, time stamp, eye origin, eye direction, head pos, head rot

    image.png.689610a89382300f9f8ea696a579fcac.png

    Hint: You can simply open a csv file by TextEditor and you can see actually the data is just text with , to separate them

    4. I will need to check internally, get back to you later

    UPDATE: There is no way to change the output frequency.

    Current frequency is >90Hz, if you want to lower it, then you can do it manually.

  5. Hi @UnendlicheMoeglichkeiten,

    We are testing on this, get back to you ASAP when we have the result.

    Sorry for the inconvenience.

    UPDATE:

    Just to confirm we are talking about the same event.

    For 1010, it is event that you take off your HMD and not application paused.

    For 1011, it is event that you put your HMD on and not application resumed.

    But you previously mentioned that event you got is not related to pausing or stopping the application.

    What event did you get?

×
×
  • Create New...