Giter Club home page Giter Club logo

arcoreinsideouttrackinggearvr's People

Contributors

christophgeske avatar t-bond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arcoreinsideouttrackinggearvr's Issues

whiteisland.apk built with wrong name and no launch icon

The current whiteisland.apk appears to have been built with the name com.VRWizard.WhiteIsland and while it can be signed there is no obvious way to launch it since after installation there is no launch icon, though the app does appear in the Android installed app list in settings.

Why Are There Oculus Go .apks?

Why are there Oculus Go .apks if the Oculus Go 1) does not have ARCore and 2) does not have a camera to use for tracking?
Am I missing something?

ARCore tracking is jumping despite 30 fps

Using lerp to smooth out the jumps is possible but than every quick movement of the user also gets smoothed. This solution is not ideal therefore I have to work on a fix.

One possible solution seems to use the accelerometer to check if the data coming from the arcore camera are correct.

The idea of using the IMU was mentioned here
google-ar/arcore-android-sdk#604
by one of the google arcore team members.

Another fix might be to use a filter algorithm which cuts off movements which are to fast for humans or which are unlikely. For example one could record the last few frames and if the next frames differs to much from the ones before it could be a jump in the tracking and filtering it out might help to eliminate the jumps keeping responsiveness high and lag low.

Positional tracking only rendering with 30fps.

As long as ARCore is not supporting faster frame rates this issue might not be solvable. Therefore we have to live with a small jitter when moving through the room and imprecise tracking when moving to fast.

followARCoreCamera - correct the script filename

followARCoreCamera - correct the filename (first letter to capital), because the script doesn't load, and the built app doesn't work as supposed.
The same issue with antialisingCorrection.cs

Tracking Andy objects drifts

Thank you for the wonderful code. I tried to use your code to track the Andy objects in HelloAR example. When I wear the headset and view, the andy objects are drifting. Any possible fix for the same?

Viking Village (Daydream) is not tracking at all (S9+)

The Daydream/Cardboard build of Viking Village is not tracking for me. There is a static image but it does not perceptibly change with head or body movement. The Daydream/Cardboard version of BoxyRoom appears to be working properly at least in a short test so far. Addendum: The Gear VR version of Viking Village appears to be working fine.

A couple of thoughts re Viking Village (Gear VR version)

So this is working on my S9+. It is somewhat laggy -- that is, some jitter in tracking, and blue background can take time to fill in with the image as you move your head or body, with new blue background appearing in other areas. The same tracking issue I've noticed with the other apps is here also -- sometimes the tracking motion with body movements is backwards -- that is, when you physically move toward an object, you end up moving away from it in VR instead. The detail in this app is really very impressive!

Example apk files install under same package name

Hi. This is great work and WhiteRoom is working fine here on an S9+ (actually using a DayDream 2017 headset). However, it appears that both WhiteRoom and WhiteIsland are building to the same package name, and so both cannot be installed simultaneously without additional modifications. Could these be separated out with different package names for simultaneous install? Thanks!

Can ARCore InsideOut Tracking be combined with GearVr, while streaming with ALVR, to achive 6DOF?

Hi,

This s great project and running WhiteIsland_ demo was very smooth. Thank you to the developers. I am just getting my feet wet with AR and VR, and I am learning a lot so far.

I am using a Flight Simulator, Condor Soaring, by injecting it to Revive and Streaming from my PC (win 10 64Bit, i7-7700K, 32GB, RTX 2080) to Gear VR (with Samsung S9) with ALVR. It is smooth and functional at 60FPS. It is a native 3DOF but lacks the 6DOF (5DOF really needed) to be able to lean forwards (to look at panel instrument, PDS or maps) and sideways to better see over the edge of the glider's cockpit (not as important). Note that up and down movements are marginal. Note also, that the requirement is mostly for the front facing position (looking over shoulder +/90, up and down +/-80, leaning forward or side to side by up to 30cm from neutral position). Also, so far 1 or 2h session with ALVR doesn't make the phone heat up much and drain battery too quickly.

Is there a way to combined ARCore Inside Out Tracking with GearVr, while streaming with ALVR, to achieve 6DOF?

If so, how can I integrate it?

Would fixed marker/stickers help smooth and consistent tracking and would ARCore affect adversely the mobile phone CPU load and render image fps received)?

Thank you in advance for your help and clarification.
Donat

ARcore的移动比例问题

我尝试了一下,感觉VR场景中和现实场景的移动比例好像有问题,现实场景移动了很长一段距离,但是VR场景中移动的距离很短,是模型的问题吗?有没有调节移动比例的设置?

Reset viewing direction/position to start point.

Resetting the view to the starting point might be useful for some experiences and should get a special button combination so it doesn't need to be implemented by everyone who wants to use this project and needs this functionality.

Can the WIP Vuforia project be shared?

Hello,

Thank you for all your work into bringing positional tracking to the Gear VR. You said in your README that you'd be willing to share your WIP Vuforia marker controller tracking project. I'm working on something similar and any additional information would be useful.

ARcore v1.11

我的手机用的是ARcore最新版本,我在unity导出apk时是不是要用1.11的SDK,还是要怎样操作?因为我发现按照原来的方式导出来摄像头没有定位功能

other apps with 6dof?

Amazing demo apps for experimenting with 6dof.
Why doesn't some more exist, now that even a 140$ smartphone like a Samsung A22 does support Arcore?
Any link to other 6dof android cardboard apps?

Missing Prefabs in Unity Project

Hello, I'm trying to open the BoxyCardboard Unity project. I get an initial error stating that is was made with an earlier version of Unity, and then when I open it there are lots of missing prefabs. Any ideas how to fix this? Thank you!

Camera Set Up Guide

Is there any chance you send me a guide on how to set up the ARCore Device Object as well as the UserCamera? I had a few things go wrong while importing but I've gotten everything working and I just wanted to make sure I had everything set up the same. If you pass this on to me, I am willing to help out with the project. Especially by making some guides ( pdf and video) for setting the project up, modifying it as well as some videos that who what it can be turned into. Please lmk, this is absolutely amazing work.

Detecting real world barriers

Is there a practical method to use signals or cues from the camera to detect and warn (audibly or visually or both) of real world barriers or other hazards -- e.g. walls or other obstacles?

Proposal for recenter issue with the daydream HMD

Hi, first of all thank you for your great work. Im not sure if I overthought the following problem, but I had an issue with the build in recenter Action from DayDream. The behaviour of the ARCam in relation to the VR Camera really confused me and I couldnt find a solution anywhere. So If anyone stumbles across the same issue this is how I tackled it:

  1. The problem:
    Everytime you recenter in a different orientation than the starting orientation of the app, the VR Camera gets aligned correctly but the ARCore Camera is not affected (which is quite obvious). But it had no affect either, when I tried to rotate the ARCore Camera to the new orientation. And I tried a lot of approaches to fix the rotation issue.
  2. My solution:
    In the end I watched the last X rotations of the VR camera and listened to the GvrControllerInput.Recentered event to get noticed when the event started. You have to listen to the last rotations because it might take one or two more frames till the recenter actually takes place. Then you can spot the desired value. This angle is used to rotate the position vectors in the followARCoreCamera so you still walk straight on.
public class RecenterCorrection : MonoBehaviour {

    public static float ANGLETHRESHOLD = 2f;
    public static int ROTATIONQUEUESIZE = 10;

    //camera for rotation values
    public Transform gearCamera;
    //AR Core Camera for real world position values
    public Transform arcoreCamera;
    //class which "followy" the arcore cam position with the daydream camera
    followARCoreCamera arcorecam;
    //stores rotation each frame from daydream camera
    Queue<Vector3> rotations;
    //flag which indicates that recentered got triggered
    bool watchRotation;
    // Use this for initialization
    void Start () {
        arcorecam = GameObject.FindObjectOfType<followARCoreCamera>();
        watchRotation = false;
        rotations = new Queue<Vector3>();
    }

    // Update is called once per frame
    void Update () {

        //only watch last ROTATIONQUEUESIZE rotations. The rotation recenter can last some frames, so we have to track more rotation values to spot the action and the angle
        if (rotations.Count > ROTATIONQUEUESIZE)
         {
            //if queue is full kick out the oldest element
             rotations.Dequeue();
         }
        //enque the newest rotation value of daydream cam
         rotations.Enqueue(gearCamera.rotation.eulerAngles);

        //recentered got pressed might be executing soon / executed
        if (GvrControllerInput.Recentered)
        {
            Debug.Log("[IO] Recentering Done");
            //watch the Queue with stored rotations to spot the angle difference
            watchRotation = true;
        }

        if (watchRotation)
        {
            //get current y angle of daydream camera
            float yAngle = gearCamera.rotation.eulerAngles.y;
            //check if its inside our "recetered" anglethreshhold
            if ((yAngle > 360f - ANGLETHRESHOLD && yAngle <= 360) ||
                    (yAngle >= 0f && yAngle < ANGLETHRESHOLD)){
                //get the odlest y angle of queue
                yAngle = rotations.Dequeue().y;
                //remeber the angle before yAngle
                float angleBeforeRecenter = 0f;
                //as long ad the yAngle is not in range, dequeue the rotations
                while (!((yAngle > 360f - ANGLETHRESHOLD && yAngle <= 360) || (yAngle >= 0f && yAngle < ANGLETHRESHOLD)))
                {
                    angleBeforeRecenter = yAngle;
                    yAngle = rotations.Dequeue().y;
                }
                //now angleBeforeRecenter has the angle before the recenterd rotation of (almost) 0
                Debug.Log("[IO] Recenter finished, y Angle almost 0f");
                //tell arcore cam the angle, so the delta Vectors can be rotated accordingly
                //we have to substract the old vector, cause this vector is always the new origin rotation
                arcorecam.mirrorAngle = (arcorecam.mirrorAngle - angleBeforeRecenter)%360;
                Debug.Log("[IO] ARCore mirrorAngle = " + arcorecam.mirrorAngle);
                //stop watching the rotations
                watchRotation = false;
            }
            //if not, keep on recording the rotations of daydream cam
            rotations.Enqueue(gearCamera.rotation.eulerAngles);

        }
    }
}

If you have a more convinient solution or if i missed sth please share your thoughts. I just wanted to share this so if another person has similiar issues he can start with my approach.

Greetings

Micha

WhiteRoom and WhiteIsland occasionally go to S9+ "Standby"

Both apps are now functioning excellently. However, I am noticing that sometimes (always? - unsure!) after running for a couple of minutes the phone goes to standby. That is, the screen just goes black, and will come right back to where it was if the power switch is pressed again. I initially thought that the power switch was accidentally being pressed by the system I use to hold the phone in the open Daydream headset, but now I'm doubting that. This does not seem like a typical heat-caused shutdown -- for which I'd expect a warning and the phone completely shutting down -- not just entering standby and coming right back when the power switch is pressed again. It's quite possible this is some heat-related aspect with which I'm unfamiliar, but I don't have enough information at this point to judge what's actually happening.

Please add Samsung S6 support!T_T

Hi,

Really been trying to get it to work on the S6. Phone is rooted and installed special apps using magisk and so on, yet still isn't functioning.

Thanks in advance for making it funciton on the S6!!!:) Plan to make some AWESOME apps!

Detected plane moves with the camera

I tried the boxychardroom example. I dragged the DetectedPlaneVisualizer of ARCORE to Player Gameobject. I have two issues with this.

  1. The detected planes move as I move the camera.

  2. I tried to place andy prefab on a specific location. If I move the camera, the 3d object moves as well instead of being static in its original position.

IDEA: Idea for better 6DoF controller tracking

img_20180915_215220
I put this as an issue because there isn't really anywhere else to put it. It is not an issue.
Could something like this but with markers
attached and a Gear VR controller help with the FOV problem by increasing visibility to the camera?

Unregular frame drops on S7 when controller is connected.

I noticed that sometimes the frame rate drops noticeably when the controller is connected. This only happens sometimes and seems to be caused by other processes running in the background.
If you notice frame drops try turning of bluetooth to disable the controller.

I guess the reason for this is that the app is hardly able to do the 60fps and even a small program running in the background leads to noticeable frame drops but I am not 100% sure about this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.