Jump to content

kotauchisunsun

Verified Members
  • Posts

    2
  • Joined

  • Last visited

Reputation

0 Neutral

Recent Profile Visitors

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

  1. Hi @zzy Thank you for reply. I tried it. > Another solution is that, you can completely remove GestureProvider in the scene and AddComponent in ARSessionWatcher.run function after ARCore is enabled. I delete GestureProvider Component in my scene. And, I modified the source code, ARSessionWatcher.cs. I made CheckGestureProvider function. It checks to exist GestureProvider Component in Start(L14). And, it checks to exist it when the script add the GestureProvider Component(L33) too. But, Hand Tracking is not work. I read the log, Track.txt. The log show GestureProvider Component is not exists on Start (L124). And it show GestureProvider Component is not exists when the script add GestureProvider Component(L339) too. > However, there is something strange here. From GestureProvider.Start function (line 90-111), there should be logs that output engine selection process (no matter success or fail). But I cannot find any of these logs. So I think GestureProvider.Start may be already called before you enabled it from the script. In this log, I found "No suitable engine found" message. It's written by GestureProvider Component(L111). I configure the vive hand tracking settings below. I think settings.Engines is not empty. What should I try? ARSessionWatcher.cs Track.txt
  2. Hi @zzy I cannot use hand tracking and passthrough with AR Foundation, too. > Indeed the ARCore failed to start on my side. It seems that ARCore is taking more than 1 frame to start. Hand Tracking starts before ARCore and thus occupying the camera. > quick way to fix this is that, you can disable GestureProvider script in your scene. You can add a script to wait until ARCore is started, and then enable GestureProvider script. I disabled Gesture Provider script on ARFoundation.unty, and I added the ARSessionWatcher component to enable Gesture Provider script after initializing ARCore. But, It's not work. Unity 2020.3.10f1 AR Foundation 4.1.7 ARCore XR Plugin 4.1.7 Pixel 4 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.XR.ARFoundation; public class ARSessionWatcher : MonoBehaviour { // Start is called before the first frame update public ARSessionState state; public int count = 0; void Start() { ARSession.stateChanged += (args) => { state = args.state; Debug.Log("state: " + state.ToString()); if (args.state == ARSessionState.SessionTracking) { Invoke("run", 5f); } }; } void run() { Debug.Log("invoke " + count.ToString()); count++; var component = GetComponent<ViveHandTracking.GestureProvider>(); if (!component.enabled) { Debug.Log("enabled"); component.enabled = true; } } // Update is called once per frame void Update() { } } arfoundation_with_vive_handtracking_20211030.txt that ARSessionWatcher is enabled. arfoundation_without_arsessionwatcher_20211030.txt that ARSessionWatcher is disabled. When ARSessionWatcher is enabled, the application failed to create CameraStream (arfoundation_with_vive_handtracking_20211030.txt L202) How to use hand tracking and pass through with AR Foundation? arfoundation_without_arsessionwatcher_20211030.txt arfoundation_with_vive_handtracking_20211030.txt
×
×
  • Create New...