cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I crawling around on the ground?

myBadStudios
Protege
I noticed that if I set the default system for Unity to load to None then my camera is always crawling around on the ground level and thus half the screen displays what's under the terrain. When I set it to load the Oculus instead then the camera is where it should be and I can "walk" around and look around as I intended... then one day, for some reason, I am now on the ground no matter what. 

clearly the Oculus has been initialised now because I am wearing the thing and looking around in the scene only I am seeing mostly the skybox from below the terrain. I figured that maybe I shouldn't place the Camera Rig prefab on the ground. Maybe it needs to be in the air now, for some reason... So I try moving it up and true enough, now I can see the scene... although my camera and my avatar are nowhere NEAR close to each other now. The avatar is stuck in the ground while my camera is towering 1.5 world units above it.

EyeLevel, GroundLevel... doesn't matter. The camera is at the prefab origin no matter what. Eye level with me sitting or standing... I am still under the terrain. What the heck am I doing wrong? Googling the issue all I can find is people having the complete opposite problem of their cameras being way too high in the scene. Mine is always at y 0. Why is that? How do I fix this? 

It used to work and all was well with the world... then it just... stopped. For reasons unbeknownst to me it just stopped working. I even found that there was a new SDK released in the last two weeks so I upgraded to that in an effort to see if maybe the old SDK and the latest Oculus update were clashing but still I am playing my infinite run game from under the ground... It used to work just fine but now I have spent the last 2 days doing nothing but trying to figure out how to actually show my camera where it was 3 days ago and have done absolutely NO other work at all other than struggling to just show the camera where it was showing 3 days ago....

This is so insanely frustrating now!!!!! 😞 Someone PLEASE help me!!! 

How is one supposed to get the camera at eye level when setting the tracing mode to eye level doesn't do squat? 😞 

I am using the latest Oculus app, the latest SDKs downloaded only yesterday and using the latest public version of Unity 2018

Thanks for any assistance
2 REPLIES 2

lsummers
Protege
Everything in this world is cause and effect.

Either you updated the SDK, and that caused an issue.  You have a calibration problem.  Your version of Unity has a bug.  Or something is wrong with your project/code. 

I've been working with Unity since 4.1 and trust me - the one thing it doesn't do well is reliability for fringe frameworks.  Remember, as amazing and fun as it is - it has always really been focused on Mobile Apps.  So only ever upgrade Unity when you absolutely have to. Only upgrade the SDK's you are using in a project with proper source control so you can back out of a change.  This is a very important set of rules to always follow with Unity on *anything*.

Now, that said, when you search and don't find other people with the issue - that is a positive sign.  It mostly likely points to something wrong with the project itself. If it was a common SDK issue, you'd have found more information.

My rule of thumb is:
- Does a fresh simple project with just a camera view and SDK have the same problems?
- Do other (new) games have the same problem?  Hopefully you have an old EXE of your project that worked before, does it also have the same problem?

If a fresh project has the same issue then we know it is either the SDK version that is bugged, the Unity version is bugged or your hardware is calibrated funny.  You can rule out calibration by trying another game that uses dynamic height - be cautious here, a lot of older games on Rift "set" the height the same for everyone - so newer and well made is important.  You need something modern that was working that is an executable that you trust.  If it happens there, you have a calibration issue.  If not, that points a finger at the SDK or Unity, and you can then roll back either to what you were using a month ago.  Patching and updating is not always without consequence.

Great - but what if I tried a clean project and someone else's game and the issue didn't occur?  That points the finger squarely at your project, or something wrong with your code.  From there you need to debug and walk through and investigate.

myBadStudios
Protege
Hia. Thanks for getting back to me.

My way of testing if the problem was with my code was to open up your sample scene with the local avatar looking at the smaller avatar. If your sample works but my scene does not then I know I am to blame. True to form, even in your scene the avatar was at ground level o the problem was elsewhere.

The one thing to note in all that you have said is that I only started upgrading AFTER the issue started happening. I started the project in 2018.1 and have not upgraded that since. I replaced the built in Oculus SDK with the one from you guys but I did that on day one. I upgraded those to the next update after the bug occurred and I realised there WAS an upgrade available.

Rolling back an update to return to the broken version doesn't really help much. With that being said, I also started wondering "Do I need to rerun setup and see if my calibration is off?" and eventually that was all I could think of doing....

...but before I did that, a miracle happened... everything started working the way it should again. Out of the blue, without me doing anything, it now worked again. Miracle!

This is what makes my life hell... When I write code that works which then suddenly stops and forces me to fix what isn't broken... until I say "There is nothing here I can fix!" only to discover "Yeah, you are right" as everything then starts working again without any code changes. Ughghg!!!! It goes against all I believe in...

My golden rule when it comes to coding is this: A program will never ever do what you want it to do but it will absolutely always do what you tell it to do. Thus, if something doesn't work the way it should, it's my fault and I need to find my mistake. The end. It is for this reason that I  don't like using 3rd party code. I don't know if I can trust them... and when their code is closed it also means I can't go bug hunting... Both Unity and Oculus are third party closed sources I rely on. Can't be helped.

This problem I had... it could have been caused by Unity, you or me... but since it just stated working again out of the blue, we will never know... until next time. 😞