Jump to content

Luka

Verified Members
  • Posts

    2
  • Joined

  • Last visited

Reputation

1 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi Alex! We are suffering a similar set of issues to what you've described with DirectPreview and Unity 2020 in general. I'll detail our discoveries below. tl;dr: - We can't get any images to display in the headset, though data streams via DirectPreview to the editor. The headset just says "Connecting..." even as the editor is rendering images, it doesn't display them. - Some of the control inputs are not sent to the editor, in particular thumbstick axis data, grip or trigger data (both button and axis), and the Y button for some reason. - None of the control data seems to be picked up by the Action-Based Input System (may be unrelated). We are using the following tools: - Unity 2020.3.13f1 - WaveSDK 4.1.1 (Latest) - Vive Focus 3 device Issues from connection onward: To get any connection between the headset and the editor via Direct Preview, this is the instruction set we have come up with, but it isn't perfect 1. Connect headset via USB (USB-C to USB-C cable is the only thing I've had success with, USB-C to USB-A doesn't seem to work) 2. Run the command (in cmd.exe or powershell) `adb tcp 5555` to start adb in network mode (You will need to add a version of ADB to the system PATH. Also note that Sidequest uses a different version of ADB to Unity, that may come up in the notes below) 3. Run the command `adb shell ip addr show wlan0` to find the headset's ip address (can skip this if you know it) 4. Run the command `adb connect <headset ip>` to connect adb to the headset via wireless. 5. Disconnect the USB Cable. 6. Set up the Direct Preview config panel in Unity for WiFi with the Headset IP in the IP Address bar, and have the settings set to "Others" instead of "Focus+" 7. Install the Device APK via Unity Editor dropdown menu. 8. Run the DirectPreview streaming server via Unity dropdown menu. Note the IP that it's listening on, and make sure it's your device's LAN IP and not an adaptor. 9. Run the Device APK from the Unity Editor (using the library apk option just shows a black screen forever). 10. Run the scene, and hope that Unity doesn't crash entirely (it will like 1/3 of the time). At this point, the Unity Editor is showing that we are receiving pose data from the headset, and if you have a Device-Based XR Rig, or the Wave Rig set up in your scene, you should be able to see the camera move with the headset. No images will be show in the headset, it'll just show "Connecting..." as it does when waiting for input data. I've tested this setup using the HTC Samples app in some Unity 2019.4 versions, and the only difference in this setup was that the images were shown in the headset. That is with the exception of Unity 2019.4.31f1, where the first frame was shown and then no other images were displayed. Data was still being sent to the editor though. Notes to this point: - Installing the device apk from the unity portal will work (from memory) while the usb cable is attached, but running the apk will not. - The SideQuest apk version is different to the one Unity uses (as of October 2021). What this means is that connecting via wifi using sidequest will not let you install or run the apk via unity editor. You have to use the command line, essentially. Knowing this, it might be okay to try and build without being able to use the headset as the display (annoying, but possible). However, some of the controller inputs are not sent to the editor over DirectPreview (no log is in the DP server, or Unity Editor, and the little controllers that the interaction manager spawns don't animate these inputs as they do in the built application). These controls are: - Trigger Press and Trigger Axis - Grip Press and Grip Axis - The Y Button on the left controller. Futhermore, the Action-Based Input System doesn't seem to work properly at all with them. You can listen for the data coming in via DirectPreview, and it will detect all but the above data. However, binding these to an action doesn't seem to do anything. When you listen for that action and say, log something to the console when a button is pressed, nothing happens. I'm fairly sure I have the scene Event System and such set up correctly. Also setting up a Unity Action-Based XR Rig doesn't work in the build (there is a case where it does work in the editor if you use a script pasted in this post: Focus 3 development with Wave and Unity's XR Interaction Toolkit - Vive Wave SDK - Community Forum), but once it is built for android, it doesn't work. The controllers never work in either build or DirectPreview. I'm attempting to set up a test scene using Business Streaming to see what else I can learn, and will post here if anything interesting happens. Hope this information is useful! Thanks
  2. Hi @jwatson Did you ever resolve this issue? We are experiencing something similar in our environment. Unity 2020.3.13f1, URP not enabled, Focus 3 device, Wave SDK 4.11. Connecting to the headset using adb over wifi, the headset just shows "Connecting...", but all the pose data seems to stream fine to the Unity Editor. We aren't using hand tracking or bluetooth, currently. Logcat does output the following error once dpServer is receiving data, and you start the unity scene: `09-30 12:17:04.509 27438 27438 W VRCORE Decorator: RuntimeException: com.htc.vr.directpreview.agent.unity version is not compatible. client:3.99.46 server: 4.1.2-u06` But I'm not sure if it's related to the issue. EDIT: Attached the logs from the Focus3 Device, these were taken over the course of this morning, so include multiple sessions. DirectPreview.log
×
×
  • Create New...