-
Posts
20 -
Joined
-
Last visited
Reputation
2 Neutral-
Hello, my issue seems different. I successfully setup the MR scan of the room with planes. My issue is I can have mesh and planes, but not both at the same time displayed like in your example. You can see in the screenshot I gave you that in the debug panel, it is displayed "Scene2D Plane, 3D Objects Mesh + Spacial Anchors". It is supposed to mean that mesh is supposed to be displayed there no ? best regards
-
Hello, Yes I am using the demo scene sample. I activated the possibility to display at the same time scene meshes and scene planes. But when I am testing, only the scene planes are displayed :
-
Hello, So I did a few tests, I could retrieve scene meshes and scene planes, but could not retrieve both at the same time. I also tested with the demo scenes. It seems like when I activate both scene planes and scene meshes, the scene planes takes the priority on the display, resulting in no scene mesh displayed. Best regards
-
I tested, and the Demo scene displayed the meshes successfully ! Now I need to know how and why it was not working on my project. Thanks
-
Hello, No, I am directly testing on my own scene. I could retrieve scene planes but still no scene meshes. I am focusing on what I can retrieve now, so I am managing the Scene Planes. Issue is now that position and rotation doesn't feel right. I display the planes directly on the scene from the data I retrieve, using WVR_Pose_t data, or ApplyTrackingOriginCorrectionToPlanePose() function. It doesn't seem like data we get fits with reality distances.
-
So, I built an APK, and I added some debug informations in the scene to display informations such as Nbr. of meshes retrieved and planes retrieved. There was still 0 mesh and 0 plane retrieved. I don't know where it could come from. I am using this method : scenePerceptionManager.GetSceneMeshes(currentSceneMeshType, out WVR_SceneMesh[] currentSceneMeshes) and currentSceneMeshes.Length returns 0. I have scanned the room with the headset, and gave authorization for Scene Perception.
-
Ok, I will try it. Do you know if there is any possiblity to run it directly on Unity ? The fact that I need to build and upload to the headset each time would be really time-consuming. If there are no other way, then i'll do with it, but I just want and need to know perfectly how it works.
-
Hello, sorry for the misunderstanding, I play on Unity yes.
-
Hello, Sorry for the late reply, had to send the Headset to the After-Sales Service, so I couldn't dev on it. I don't know how to retrieve the logs, I don't use adb for now since I don't build the project for embedded testing. I launch the project directly from unity and get the passthrough on the headset. I have followed the Scene Perception tutorial (https://hub.vive.com/storage/docs/en-us/UnityXR/UnityXRScenePerception.html), but neither Scene Planes nor Scene Meshes are retrieved. The whole process works with the WVR_Success result, but at the end I don't get any data. Best regards
-
For the AndroidManifest.xml, I did something like this to finally get one : In project settings > Wave XR > XRDSK > Import Feature - Custom Android Manifest then I copied the file located in Assets/Wave/XR/Platform/Android at Assets/Plugins/Android and added <uses-feature android:name="wave.feature.sceneperception" android:required="true" /> <uses-permission android:name="wave.permission.GET_SCENE_MESH" /> under </application> (sorry for VS color theme, I know it's too much 😂)
-
I just created an empty project, and Oculus is added via XR Plugin Management plugin. So I don't think it is possible to remove it.
-
The Android folder is empty. Should I have created that file earlier or should it be done automaticly ?
-
Yes, I enabled both Scene Perception and Scene Mesh in my Wave XR settings. I can provide you some screenshots of my project settings.
-
Sure ! For the sample scene it also doesn't work, unfortunately. There might be something i'm missing in what I am doing, but I am following all the steps given by the tutorials. For the error I get, I used the sample code given. private void OnEnable() { //Check whether feature is supported on device or not if ((Int erop.WVR_GetSupportedFeatures() & (ulong)WVR_SupportedFeature.WVR_SupportedFeature_ScenePerception) != 0) { WVR_Result result = scenePerceptionManager.StartScene(); if (result == WVR_Result.WVR_Success) { result = scenePerceptionManager.StartScenePerception(WVR_ScenePerceptionTarget.WVR_ScenePerceptionTarget_2dPlane); //Start perceiving 2D planes if (result == WVR_Result.WVR_Success) { isSceneCMPStarted = true; //Examples of things to do here: //Scene Planes ScenePerceptionGetState(); //- Call scenePerceptionManager.GetScenePerceptionState() to see the current WVR_ScenePerceptionState of a specific WVR_ScenePerceptionTarget //- Call scenePerceptionManager.StopScenePerception() to stop perceiving a specific WVR_ScenePerceptionTarget // //Spatial Anchors //- Call scenePerceptionManager.GetSpatialAnchors() to retrieve all handles of existing anchors //scenePerceptionManager.GetSpatialAnchors(); //- Using the retrieved handles, call scenePerceptionManager.GetSpatialAnchorState() to get information of the Spatial Anchors } } } else { Debug.Log("--------SCENE PERCEPTION NOT AVAILABLE ON DEVICE--------"); } } private void OnDisable() { if (isSceneCMPStarted) { scenePerceptionManager.StopScene(); } } //Sample Code for getting the 2D plane perception state public void ScenePerceptionGetState() { WVR_ScenePerceptionState latestPerceptionState = WVR_ScenePerceptionState.WVR_ScenePerceptionState_Empty; WVR_Result result = scenePerceptionManager.GetScenePerceptionState(WVR_ScenePerceptionTarget.WVR_ScenePerceptionTarget_2dPlane, ref latestPerceptionState); if (result == WVR_Result.WVR_Success) { //Check perception state here if (latestPerceptionState == WVR_ScenePerceptionState.WVR_ScenePerceptionState_Completed) { //When perception for 2d planes is completed, you can retrieve the data of the perceived Scene Planes WVR_ScenePlane[] latestScenePlanes; result = scenePerceptionManager.GetScenePlanes(ScenePerceptionManager.GetCurrentPoseOriginModel(), out latestScenePlanes); if (result == WVR_Result.WVR_Success) { Debug.Log("--- Scene Perception State for 2D PLANE : OK ---"); //Handle the retrieved data of the Scene Planes here //For example: //- Cache Scene Plane data for future reference //- Compare extent and pose of cached Scene Planes with the freshly retrieved ones to see if there are any updates } else { Debug.Log("-----ERROR : NOT ABLE TO RETRIEVE SCENE PLANES-----"); } } } } Those are the functions given, and I get the error at the beginning, saying that scene perception is not available on device. I tried to bypass it by removing the compatibility check, and the code runs successfully to retrieving scene planes, except that there are no scene planes in "latestScenePlanes". I scanned the room in order to be sure that there are scene planes stored in the device. I guess it is because Unity takes the computer as the device, and of course a computer isn't a scene perception compatible device. I don't know how to fix this though.
-
I have been trying since a few days, but it is not working. I guess buttons interaction will be for later, since this is not the most important thing. I have another issue now, and it is that I can't retrieve scene meshes and/or scene planes 2D by using scene perception. I guess it is because the plugin isn't made for my kind of use. I am a bit stuck currently with that, I would like to retrieve world informations in order to place objects that interact with it.