I'm getting pretty bad results with Area Learning, the localization takes very long and I have no idea what's happening. Did I map the area enough? Is there enough landmarks? Is the ADF alright? No clue.
Is there any way to provide a visual feedback while doing the actual motion tracking and area learning? I keep seeing it in Google videos but didn't find any way of doing it in the Unity SDK.
I would like something like this in my video overlay: https://youtu.be/NTZZCtmR3OY?t=10m57s
Btw my results in Unity are FAR worse than this demo, sometimes it takes minutes for the device to localize and only at a certain spot in the room, the next minute the very same spot doesn't work again. Quite frustrating. No idea what app the presenter uses, for instance, my ADF Inspector reliably crashes every time I try to load any ADF. (Using Wasat and recently I've deleted and re-installed everything.)
It is not supposed to be so. It should not be that bad, under the normal day light condition. If it is a small area, should be able to localize using ADF within 3-5 seconds. The video showed the usual case -- always like this.
If your kernel is up to date, and you are using the correct development kit. I would recommend you to reach the tango team customer service directly.
tango-help#google.com
Perhaps it is caused by your device defective. If so, ask for an exchange would solve the problem.
Related
we're using the HoloLens 2 and Azure world anchors to place the content within a room but when viewing the app content the anchors/room are spun 90% or 180% from where they should be. They are always square on and never diagonal, so it's like the room is being flipped.
We’re confident it's not the code, as we've successfully used it in multiple other locations, it just this one room we can't get it to work in.
To ensure it’s not our code we’ve tried rebuilding the app, as well as ensuring we’re on the latest versions of Unity and MRTK. The HoloLens 2 firmware are also up-to-date and we’ve also tried adding a delay to the code, just in case the network's too fast and it needs some latency to do it’s thing but none of this has helped.
Additionally, the anchors stick in a position for 5-20mins, then will move to a new position - so occasionally they seem to be working but even a broken clock is right twice a day!
There’s no consistency across headsets either and the anchors will be a different position for each one. The app and code is rock solid in all other locations and we've tested placing the content on another wifi network and the same wifi network but another location and all works as it should. We've tried removing all and nearby holograms to refresh the spatial map but this doesn't cure the issue. We've also tried making the room less complex as well as more complex but again this doesn't fix things and if it does it's only temporary.
Our gut feeling is it’s something out of our control, such as wifi points throwing it out of whack, or interference of some kind such as magnetic or radio etc. If it's useful or relevant we also use Photon to facilitate a shared experience across devices.
Any suggestions much appreciated!
I am having issues with the Depth callbacks (in Unity) consistently populating with data. It seems somewhat random as I start and stop and restart my application. I'm utilizing the Pose (position) updates as well as the Depth updates. (For the "RoomScanner for Project Tango" app on the play store)
Is there a recommended way to be "closing" or "killing" the apps within the Unity C# code that will produce better/more consistent behaviour with the Depth stack?
I'm getting "bad" returns approximately 60% of the time I run/launch my app for the Depth data, though the Pose data is happy. I've made great progress with my code, but am very hesitant to publish this version to the play store with it being so unstable.
Suggestions? Did I miss something in the Unity/Tango Walkthroughs?
There was actually a regression in the unitypackage, it has been fixed. Try download and re-import the package again.
are you using an area definition file ? If so, if the environment doesn't match, pose stops returning results - the callback is fine, you just aren't getting any - see this question Tango Pose Pair Base
Is there a way to simulate user activity on desktop on Windows? This is the situation: A friend of mine works from his home. His company recently decided to provide their employees with a communication tool which they have to keep running in the background. Apart from its main functionality it also has a very intimidating side effect: It tracks user activity. This means that the programm monitors keystrokes and mouse movements. If a user is idle for say 5 minutes or something, an icon next to his name indicates his idle status to all other users, much similar to instant messengers like skype for example. Now while this may be useful in IM programms, we both find it a bit disturbing in a work related context, for obvious reasons.
Doing some google search only gave me shareware links or cheating tools for MMORPGs. But maybe I searched for the wrong terms. My first guess would have been to have a small process running in the background which imitates keystrokes or mouse movement in regular intervals. But maybe there is another way to deal with this. (Oh, and complaining about lack of privacy to the employer is not an option ;) Also please note that I don't want to promote laziness or question an employer's rights over his employees.)
Any comments and help appreaciated. Thanks!
There is an easy way to make cursor move in C++.
its something like:
pos.X = 10;
pos.Y = 10;
I dont know if this is the best way, but it works.
If you dont want to program your own program, Im sure there are a lot of programs on the internet. You just need to google :) .
I've decided to integrate OpenFeint into my new game to have achievements and leaderboards.
The game is dynamic and I would like user to be rewarded immediately for some successful results, but as it seems for me, OpenFeint's achievements are a bit sluggish and it shows visual notification only when it receives confirmation from the server.
Is it possible to change something in settings or hack it a little bit to show notification immediately as soon as it checks only local database if the achievement has not been unlocked it?
Not sure if this relates to the Android version of the SDK (which seems even slower), but we couldn't figure out how to make it faster. It was so unacceptably slow that we started developing our own framework that fixes most of open feint's shortcomings and then some. Check out Swarm, it might fit your needs better.
There are several things you can do to more tightly control the timing of these notifications. I'll explain one approach and you can use this as a starting point to explore further on your own. These suggestions apply specifically to iOS apps. One caveat is that these suggestions refer to internal APIs in OFSDK 2.8 for iOS and not ordinarily recommended for high level use and subject to change in future versions.
The first thing I recommend is that you build the sample app with your own product key. Use the standard sample app to experiment before applying the result to your own code.
You are going to get the snappiest response by separating the notification pop-up UI from the process of submitting the achievement. This way you don't have to worry about getting wrapped up in the logic for deciding whether the submission is going just to the local db or is doing the full confirmation on an async network transaction.
See the declaration of "showAchievementNotice" in "OFNotification.h". Performing a search in the sample app, you will see that this is the internal API used for displaying the achievement pop-up when an achievement is earned. It does not actually submit the achievement. You can call this method directly as it is called from "OFAchievementService.mm" to directly control when the message appears. You can then use the following article to disable the pop-up from being called when the actual submission occurs:
http://support.openfeint.com/dev/notification-pop-ups-in-ios/
This gives you complete freedom to call the submission at a later time provided you keep track of the need to do so. For example, you could locally serialize a flag to take care of the actual submission either after the level is done or the next time the app starts up. Don't forget that the user could quit out of a game without cleanly finishing a level.
I am attempting to stream video using Apple's http streaming technology. I am beginning to suspect that either the player on the iPhone or the Apple tools used to segment the videos is buggy.
http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html
I am getting really terrible behavior. The app never seems to do a good job of choosing what quality stream to use. It always starts at the lowest quality and often will job to the highest very suddenly and not be able to keep up. I have tried various ways of altering the bandwidth settings to test it.
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=5000
3/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=10000
4/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=459319
5/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=90268800
I have used very large and small setting to make certain streams the obvious choice, but it doesn't matter. Obviously I also have used default the values set by Apple's variantplaylistcreator tool. It always starts at the lowest quality and will jump to seaming random other qualities.
Anyone know whats going on with this?
Have you tried the sample reference streams provided at the bottom of the page here? Apple tests against these, so if it works there, you know it's on your end.