Log in or register to post comments

Unified Coordinate System

October 15, 2011 - 3:57am #1

I have made a system which enables you to use multiple markers but only use one coordinate system. It is compatible with both Vuforia and String and is called Unified Coordinate System, or UCS.

Important notice: UCS requires a special installation procedure, available in the manual.

Download here:
http://pilotpage.monosock.org/fileadmin/files/UCS_04.part1.rar
http://pilotpage.monosock.org/fileadmin/files/UCS_04.part2.rar

Edit: new version (v0.6) here. Use the files above and then replace MarkerRecorder.cs
http://pilotpage.monosock.org/fileadmin/files/MarkerRecorder_v0.6.rar

Features video:

http://www.youtube.com/watch?v=Uef8FFNA-F0

Android App:
https://play.google.com/store/apps/details?id=org.monosock.ucs

Please discuss any String specific issues here:
http://forum.unity3d.com/threads/108256-Unified-Coordinate-System-for-String-and-QCAR

Prerequisites:
-Unity3d 3.5 or later
-Vectrosity (can be purchased at starscenesoftware.com)
-UniFileBrowser (can be purchased at starscenesoftware.com)
-ObjReader (can be purchased at starscenesoftware.com)

Make sure you you use the latest version of all software.

-With this release, you can use different sized Image Targets when using Vuforia but due to a bug, you cannot use markers with a size x=1.0 when using different sized markers and you have to remove the SAMESIZE preprocessor. If all your markers have the same size, set the SAMESIZE preprocessor and then you can use markers which have a size x=1.0 as well.
-The installation process has changed. Please read it again carefully.

Changelog v0.4
-Changed plane effect shader. It now deforms the mesh in Unity instead of the vertex shader so it works with physics interactions.
-Significant performance improvement.
-Added ability to set the real world size of the augmentations so physics (acceleration) works correctly.
-Added support for differently sized markers in one scene for Vuforia Frame Markers and String markers.
-Augmentations are now the same size with both Vuforia and String.
-Geometry size units now represent meters in real world as long as the marker size is set correctly.
-Hidden menu displayed again when tapping three fingers on the screen in game mode.
-Removed support for hardware menu button.
-The settings are now the same for each scene.
-Added transparent blue overlay to geometry objects when in geometry mode.
-Changed Vuforia video background texture layer name so it doesn't interfere with other game objects.
-Modified the pose filter for Vuforia so it is more aggressive.
-The pose filter can now be switched off in the settings menu.
-The marker outlines now have the pose filter applied as well.
-Can now switch between Vuforia Frame Markers and Image Targets at runtime.
-Can now manually scale the geometry to one side only.
-Geometry object cannot be de-selected anymore by tapping on it. This is to enable manual scaling to one side.
-Scaling and moving geometry manually does not de-select the geometry anymore when touching it.
-OBJ geometry is now placed at a selected marker when loaded in geometry mode.
-Can now only load a scene at home screen and not in geometry mode.
-Added new constraint which aligns the normal of the geometry with the normal of the selected marker, called "Align Normal"
-Constraints of previous object are now removed when another object is selected.
-Moved GUI code to separate script to make integration with 3rd party code easier.
-Reduced flickering when using Vuforia Image Targets.
-Added option in settings menu which allows you to enable or disable the AR game content during geometry creation.
-Fixed a bug which prevented the messages from showing up.
-Fixed a bug which caused the deformed plane special effect to show up when it shouldn't.
-Fixed a bug whereby the mouse clicks on the file browser window were causing menu button clicks as well.
-Fixed a bug which caused the recording animation to work incorrectly when switching menus.
-Fixed a bug whereby the cube constraints where shown incorrectly.
-Fixed a bug whereby a selected object was not de-selected when saving a scene.
-Fixed a bug which caused errors when using "Clear Selections" on an *.obj object.
-Fixed a bug which sometimes caused Tracking Markers to be marked as Geometry markers.
-Fixed a bug which caused the marker size of marker 4 with Vuforia Image Targets to be incorrect.

v0.50
-Pose filter default value is on during first run.
-Fixed bug which causes unpredictable behavior when scene name is loaded which is not included in the game.
-Fixed a bug which caused an error when loading a scene.

v0.6
-Program now keeps same file version if nothing in the file save logic is changed.
-Moved the change log to a separate file.
-Can now only save and load scenes from a pre-populated list derived from the sceneObjects array set in the Editor.
-Messages are not removed after a certain time anymore.
-Fixed bug which caused a crash when adding geometry when the scene is not saved yet.

From the manual:

Introduction
Most Augmented Reality applications draw some 3d content on top of a marker or around a marker. With this method the marker must be in view at all times and camera movement is therefore restricted. The Method described here uses multiple markers and brings them into a single coordinate system. This enables you to point the camera anywhere, as long as there are enough markers scattered around. Another problem is that a normal AR scene is not interactive. The software does not know where for example the walls and floor of the physical scene are. The software described here solves that problem with a geometry creation system. This package also contains a special effect example which makes use of the video texture.

Vuforia uses a similar approach with the multitarget system but the relative marker position must be available during compile time which is often not the case. Also, a method for finding out what the relative marker position is in the first place is not available. Therefore, a dynamic, user based content creation system cannot be used with the Vuforia multitarget system.

The code included in this package is meant to be a reference or framework for game or application development and is not meant to be a game or useful application on it's own.

Introduction Most Augmented Reality applications draw some 3d content on top of a marker or around a marker. With this method the marker must be in view at all times and camera movement is therefore restricted. The Method described here uses multiple markers and brings them into a single coordinate system. This enables you to point the camera anywhere, as long as there are enough markers scattered around. Another common problem is that a normal AR scene is not interactive. The software does not know where for example the walls and floor of the physical scene are. The software described here solves that problem with a geometry creation system. This package also contains some special effects examples which make use of the video texture.

Vuforia uses a similar unified coordinate system approach with the MultiTarget system but the relative marker position must be available during compile time which is often not the case. Also, a method for finding out what the relative marker position is in the first place is not available. Therefore, a dynamic, user based content creation system cannot be used with the Vuforia MultiTarget system.

The code included in this package is meant to be a reference or framework for game or application development and is not meant to be a game or useful application on its own.

Unified Coordinate System

July 12, 2016 - 2:28pm #68

Hi,

This is very interesting! Does it work with the latest version of Vuforia, Unity 5.3.x, and current Android / iOS?

Unified Coordinate System

March 8, 2014 - 3:46am #67

There is a bug in UCS 1.2 which prevents the VidTexPatch example from working correctly.

The problem was caused by a new way of resetting the camera which was needed for Vuforia 2.8.7. Get the fix here:
http://pilotpage.monosock.org/fileadmin/files/UCS12bugfix.rar
Replace the two scripts in the Scripts folder.

Unified Coordinate System

January 16, 2014 - 4:15am #66

Thanks for the update, nice!

Unified Coordinate System

January 16, 2014 - 3:38am #65
New release
 
Features:

-Stitch markers together for use in one scene, similar to SLAM.
-Set SLAM scene orientation and scale to make physics work correctly.
-Compatible with multiple AR engines.
-Different sized markers in one scene.
-Works with Unity Basic.
-Use multiple movable objects, each with its own single or multiple markers.
-Real world objects participating in occlusion, shadowing, and collision.
-Create objects for occlusion, shadowing and collision on the fly.
-Load pre-made obj files.
-Advanced object alignment system, including camera freeze for precision placement.
-Marker pose filter to enhance tracking quality.
-Real world object warping special effects.
-No programming required.

Download here:
 
Video (outdated):
 
Android App (outdated):
 
Markers (updated to include StudierStube Tracker markers):
 
Prerequisites:
-Game engine: Unity 4.0 Basic or later. This can be downloaded for free at unity3d.com
-Line drawing: Vectrosity. This is optional but recommended. It can be purchased at starscenesoftware.com
-File browser: UniFileBrowser. This is optional and can be purchased at starscenesoftware.com
-Obj file reader: ObjReader. This is optional and can be purchased at starscenesoftware.com
-AR tracking engine: Vuforia, String, or PointCloud.
 
-The installation process has changed. Please read it again carefully.

Changelog v1.2:
-Fixed compatibility issue with Vuforia 2.8
-Simplified Vuforia installation.
-Added support for the StudierStube Tracker AR engine.
-Fixed bug which caused a crash if an image target dataset contains more markers then specified.
 
From the manual:
 
Introduction  
Most Augmented Reality applications draw some 3d content on or around a marker. Using this method, the marker must be in view at all times and camera movement is therefore restricted. UCS stitches multiple markers together and brings them into a single coordinate system. This enables you to point the camera anywhere, as long as there is at least one marker in view. The process is similar to SLAM, except it is using markers for tracking instead of random features.
 
Another problem with traditional AR is that the scene is not interactive. The software does not know where the physical geometry of the real world is. UCS solves this problem with a geometry creation system. 
 
UCS is also compatible with markerless SLAM tracking using PointCloud from 13th Lab. When using SLAM, no markers need to be stitched together a universal coordinate system is not needed. However, PointCloud does not support scene orientation placement in markerless mode. UCS solves this problem by providing a scene orientation placement system. The geometry creation feature in UCS is also a great addition to SLAM tracking. 
 UCS uses Unity as the game engine. UCS is a reference framework and is not meant to be a game or useful application on its own although it does contain an example project. UCS is free and open source but it does require paid 3rd party software depending on your needs. See the Prerequisites chapter for more detail.

Unified Coordinate System

January 16, 2014 - 3:36am #64

New version uploaded: v1.2

Changelog v1.2:
-Fixed compatibility issue with Vuforia 2.8
-Simplified Vuforia installation.
-Added support for the StudierStube Tracker AR engine.
-Fixed bug which caused a crash if an image target dataset contains more markers then specified.

Unified Coordinate System

January 12, 2014 - 12:24pm #63

when this could be possible to do with vuforia Unity?

http://www.youtube.com/watch?v=T70hgNvpUxE

Unified Coordinate System

November 21, 2013 - 4:36am #62

That can be done using PointCloud (uses SLAM technology) but you don't need UCS for that. UCS supports PointCloud though by placing the scene in the correct orientation.

Have a look here:
http://pointcloud.io/

Then download UCS and read through the manual on how to set up PointCloud and how to initialize the SLAM map. Let me know if you have any problems.

Unified Coordinate System

November 18, 2013 - 6:58pm #61

 Can u show me how to make Vuforia, SLAM tracking using PointCloud from 13th Lab!

Unified Coordinate System

February 11, 2013 - 12:46am #60

Thanks for the update Elecman!

Unified Coordinate System

February 9, 2013 - 11:37pm #59

 

Major new release. Now compatible with Vuforia 2.0 and PointCloud! Also added a new cool video texture effect.
 
Features:
-Compatible with Marker tracking or markerless SLAM tracking.
-Compatible with AR engines: Vuforia, String, and PointCloud (IOS and/or Android depending on AR engine)
-Compatible with Vuforia Frame Markers and Image Targets.
-Works with Unity Basic.
-Stitch markers together for use in one scene, similar to SLAM.
-Set SLAM scene orientation and scale to make physics work correctly.
-Use multiple movable objects, each with its own single or multiple markers.
-Different sized markers in one scene.
-Real world objects participating in occlusion, shadowing, and collision.
-Create objects for occlusion, shadowing and collision on the fly.
-Load pre-made obj files.
-Advanced object alignment system, including camera freeze for precision placement.
-Marker pose filter to enhance tracking quality.
-Real world object warping special effects.
-No programming required.
 
Download here:
 
Video (outdated):
 
Android App (outdated):
 
Markers:
 
Prerequisites:
-Game engine: Unity 4.0 Basic or later.
-Line drawing: Vectrosity. This is optional but highly recommended. It can be purchased at starscenesoftware.com
-File browser: UniFileBrowser. This is optional and can be purchased at starscenesoftware.com
-Obj file reader: ObjReader. This is optional and can be purchased at starscenesoftware.com
-AR tracking engine: String, Vuforia, or PointCloud. String can be purchased at poweredbystring.com. Vuforia can be downloaded for free at ar.qualcomm.at/qdevnet/sdk. Pointcloud can be downloaded for free at 13thlab.com.
 
-The installation process has changed. Please read it again carefully.
 
Changelog v1.0:
-Added support for 13th Lab PointCloud SLAM tracking.
-Added support for 3rd party components attached to UCS geometry.
-Added arrow to indicate normal direction if 3 points are selected.
-Added a texture patch special effect.
-One unitypackage for all AR engines.
-Layers are now set in code and do not require to be checked in the editor.
-Fixed compatibility issue with UniFileBrowser.
-Fixed compatibility issue with Vuforia 2.
-Fixed a bug which caused incorrect object placement when marker tracking was lost.
-Fixed a bug when using ObjReader with String.
-Added support for Unity 4. Discontinued support for Unity 3.
-Discontinued support for Vuforia runtime ImageTarget and FrameMarker swapping.
-Removed "disable game content in geometry mode" feature.
 
From the manual:
 
Introduction  
Most Augmented Reality applications draw some 3d content on or around a marker. Using this method, the marker must be in view at all times and camera movement is therefore restricted. UCS stitches multiple markers together and brings them into a single coordinate system. This enables you to point the camera anywhere, as long as there is at least one marker in view. The process is similar to SLAM, except it is using markers for tracking instead of random features.
 
Another problem with traditional AR is that the scene is not interactive. The software does not know where the physical geometry of the real world is. UCS solves this problem with a geometry creation system. 
 
UCS is also compatible with markerless SLAM tracking using PointCloud from 13th Lab. When using SLAM, no markers need to be stitched together a universal coordinate system is not needed. However, PointCloud does not support scene orientation placement in markerless mode. UCS solves this problem by providing a scene orientation placement system. The geometry creation feature in UCS is also a great addition to SLAM tracking. 
 UCS uses Unity as the game engine. UCS is a reference framework and is not meant to be a game or useful application on its own although it does contain an example project. UCS is free and open source but it does require paid 3rd party software depending on your needs. See the Prerequisites chapter for more detail.

  The installation procedure

January 2, 2013 - 9:20pm #58

 

The installation procedure for Vuforia 1 is located in the manual. What are you not sure about?

I am trying to upgrade to Vuforia 2.0 but I am really stuck due to insufficient documentation of the API changes.

I am in the process of separating the geometry creation from the marker stitching. This will probably take a few months to complete.

The Math is present in the source code. Mainly in MarkerRecorder.cs. The best way to understand the code is to single step through it using the FrameMarkersManual scene. Then you can see how the markers are recorded and how the math works.

Let me know if you have any further questions.

Thanks for this great tool,

January 2, 2013 - 6:57pm #57

Thanks for this great tool, unfortunately I could not run it with Vuforia2 yet. I appreciate if you can explain how it integrates with Vuforia1, and the math, then more people (including me) may be able to step up and upgrade it to work with newer versions.

Also it would be great if the stiching part gets separated from the geometry generation, some sort of a Universal ARCamera. I mean, One may want to take advantage of the marker hand-off mechanism without the need to extra libraries to draw and define geometries and load objects on runtime.

Any advice as to how to read your code is appreciated.

Update on the Vuforia 2.0

January 1, 2013 - 7:12pm #56

Update on the Vuforia 2.0 migration. 

Unfortunately Vuforia 2.0 breaks nearly everything on the AR part. Most of the Vuforia API changes are undocumented so I can't fix it that easily. I am waiting for better documentation and at the moment the migration project is at a halt. Sorry for the inconvenience.

Unified Coordinate System

January 1, 2013 - 7:12pm #55

Yes, the Unity forum is much better as it is way faster to load, the forum posts are not displayed in reverted order, the text formatting doesn't get messed up if you edit a post, and code tags actually work. Let's go there.

Unified Coordinate System

October 20, 2012 - 9:00am #54

I have fixed it. Thanks for letting me know about this bug. Please download the latest version again.

Don't use the MarkerRecorder.cs script from an older version.

You can use the red car demo from an older version though. Try the link below but because the UCS version is old, ONLY extract the car and related scripts from it.

http://pilotpage.monosock.org/fileadmin/files/UCS_07.rar

Unified Coordinate System

October 20, 2012 - 8:49am #53

Wow .. .great to hear, i thought I was missing the plot or something  ;)  

I will be setting this up over the next hours so if you are about please check my progress occassionally as I've been at this all day & now I feel I might be able to get it sorted. 

Perhaps its better I send all my messages to the Unity3D forum instead.. yes ?   

I will go to the Unity3D forum now, download the new version and set-up UCS from scratch. 

Really Hope I can get it operating this time around. Laughing

 

  Mick

Unified Coordinate System

October 20, 2012 - 8:43am #52

Hi Elecman,

 

Ok I have found a MarkerRecorder.cs script   ( it was not included in the set up package  v.06 )   I will try and continue ..... Are here any other such files that I should be aware of ??  

I'm confused about this line " RayCastLayerMask in the Inspector on MarkerRecorder.cs should have: everything except "ignore raycast" and vidScreen. "   

Is this referring to the MainCamera culling  or is there supposed to be a "RayCastLayerMask " prefab ?   

p.s this is my first time trying to use UCS ... so any tips would be appreciated.  

    Is the red car example available to download and test ? 

 Mick

Unified Coordinate System

October 20, 2012 - 6:49am #51

HI Elecman,

I am following the vuforia Manual setup & in the correct order.  

 I am simply trying to add " MarkerRecorder.cs " to the execution order but  there is no MarkerRecorder.cs script  

 Can you please check to make sure it is in your latest upload or perhaps it is now re-named.  

I have check over and over through the folder etc.. but nothing.

 note: I have Vectrosity installed but not object reader or unifilebrowser.

 Regards,

              Michael

Unified Coordinate System

October 19, 2012 - 8:28pm #50

New version uploaded.

Most notable changes:
-More accurate rotational averaging when multiple markers are in view.
-Fixed compatibility issue with Vectrosity.

Unified Coordinate System

October 7, 2012 - 11:54pm #49
Quote:

Which is easier to adjust for an end user: a pre-made collision object (obj) that replicates a real world object boundary such as a table with four legs. Or vector lines as seen in your sample vid?

If the object is complex then it is easier to load a pre-made obj file. For this you need:
-Vectrosity for the vector lines. Note that in this case the user doesn't use the vectors to build the geometry. The vector lines are only used to align the obj file with the real world geometry. UCS will automatically draw a line on every obj triangle edge.
-ObjReader to load the obj files.
-UniFileBrowser to browse for the obj file you want to load.

Of course you can make your own system which replaces these software packages, since UCS is open source. For example, if you don't need the lines to be drawn, you can disregard Vectrosity. If you have your own obj loading code, you don't need ObjReader. And if you don't want to browse for the obj file but use a few pre-defined buttons instead, you can leave out UniFileBrowser.

As to what is easier to use for an end user, you have to keep in mind that you most likely don't have an obj file which can be scaled so it exactly fits say the table of the user due to the near infinite amount of geometric shapes out there. This feature is more for experimentation and research purposes then a serious commercial usage. Most users would just want to drive a model car or robot on the table and make it fall off the edge, or drive or fly something in their living room and make it bounce off the walls, floor, ceiling, etc. For that, simple rectangular planes will do. In that case, you just need Vectrosity, unless you want to write your own line code.

Quote:

What do you mean when you say, the software has been updated so it can now blend scenes? I am guessing this means if I have several game levels the object recording positions are kept for when each new scene is loaded.. yes?

The feature that you can save recordings so you can load different scenes already existed. I was actually referring to this:
Let's say that you have a milk box and you have markers attached to each side of the box. Now you can rotate the box around and have some 3d objects surrounding the box. But what if you want to have a serial box in the same frame with some markers on each side as well? In this case, the software must know that the markers belonging to the milk box are separate from the markers of the serial box. Before you couldn't do this as it was only possible to use only one milk box, one table, or whatever object. Now you can use multiple objects with a couple of markers attached to them, and move the objects around freely. This is called a merged scene. Does that make sense?

Quote:

The warp filter I see at the end of the sample video: does this allow the user to create an illusion such as floor bulging upwards? & will the car react accordingly ie. The car will drive up and over the raised section?

Yes, it does exactly that. Here is a game which uses my effect:
http://itunes.apple.com/us/app/warp-runner/id526622754?ls=1&mt=8
https://play.google.com/store/apps/details?id=com.Visionaries777.warprunner

Unified Coordinate System

October 7, 2012 - 7:06am #48

Hi,

I am still very interested in your work and developing with UCS.

I am uncertain as to which StarScene software I require ?  

I watched your sample video several times and like the idea of vectorosity lines  but I also work alot with Maya3D obj files.

I would like to create a small car game that allows the user to choose pre built obj. shapes and scale them accordingly so they fit real world objects such as a table or chair 

So I have a couple of questions.

1.  Which is easier to adjust for an end user:   a pre-made colission object (obj) that replicates a real world object boundary such as a table with four legs.

                                             or vector lines as seen in your sample vid ?

2. What do you mean when you say,  the software has been updated so it can now blend scenes ? I am guessing this means if I have several game levels the object recording positions are kept for when each new scene is loaded.. yes ?

3. The warp filter  I see at the end of the sample video : does this allow the user to create an illusion such as  floor  bulging upwards ? & will the car react accordingly  ie.  The car will drive up and over the raised section ?

 Regards,

             Michael

 

Unified Coordinate System

October 3, 2012 - 3:02am #47

Yes, it does work with IOS.

By the way, you only need UniFileBrowser if you want to load .OBJ files so you can have complex objects (stairs, table, etc) participate in collision and occlusion. You only need Vectrosity if you want to use the geometry creation feature.

Unified Coordinate System

September 27, 2012 - 3:43am #46

Hi there

Before I go ahead and buy Vectrosity and Unifilebrowser, etc. can I just double check this all works with iOS?

 

Thanks

 

Stuart

Unified Coordinate System

August 27, 2012 - 10:15pm #45

New version added. Biggest improvement:
-Complete rewrite of the geometry creation and alignment system to make it compatible with future SLAM implementations, simplify the alignment procedure, and provide more flexibility.

EDIT:
New version added. Biggest improvement:
-Can now merge multiple scenes together, as requested.

Re: Unified Coordinate System

May 14, 2012 - 10:36am #44

I updated the software (v0.6 now) to make the workflow more easier to understand. The workflow is now like this:

-Place the markers around so that at least two of them can remain in view at all times.
-Record the scene and pan the camera around so all markers are into view at least once.
-During recording, select one of the markers (by tapping on it, the outline will change to bold when selected) which will be the reference marker. The reference marker is used as the world origin and for the direction of gravity.
-When the reference marker is selected and all the markers were panned into view at least once, stop the recording.
-Save the recording by selecting one of the available scenes. This scene is now automatically loaded as well. Now game mode or geometry mode can be used.

Also, there might be some problem with scene loading and saving before, but I fixed that bug in the latest version. Give that one a try and let me know if it works.

Re: Unified Coordinate System

May 13, 2012 - 5:45am #43

I'm getting closer to getting the UCS to work... I believe I have recorded a scene but whenever I try Game Mode or the other buttons I get the error "Load Scene first" ... when I try to Load Scene, there is an empty file dialog. After trying to save the scene, I get the prompt for selecting the reference target. I am not sure how to resolve or select the reference target?

Re: Unified Coordinate System

May 1, 2012 - 12:28am #42

Update released. Check out the Android App as well!

Re: Unified Coordinate System

April 17, 2012 - 1:23am #41
Quote:

Now I just get an empty list in UniFile for FrameMarkersRuntime

You have to record a scene and then save it before you can load it.

Quote:

White image in ImageTargetsRuntime though....

Hm, strange... Something must be wrong with with either the culling mask of the vidScreen / backgroundCamera, the background camera depth, clipping planes, or the background camera is not pointing at the vid screen. You can check all these and see if it makes sense.

Quote:

The FrameMarkersManual detects the bounding box of each frame marker but I am unable to load or save sequences.

Do not use FrameMarkersManual on a mobile device. It is to be used in the editor only. What do you mean with "unable to load or save sequences"? Do you mean a "scene" instead of "sequence"?

Quote:

Do you have an example scene from the video you showed?

The car is a modified version of the Unity Car demo. I will see if I can include it. It makes my project size much larges though...

One note: the method of operating UCS (loading, saving, etc) is included in the manual. Please read the entire manual, not just the installation instructions. Let me know if something is not clear in the manual and I will amend it.

Re: Unified Coordinate System

April 17, 2012 - 12:24am #40
elecman wrote:

Like this:

You cannot run ImageTargetsRuntime and FrameMarkersRuntime in the editor. On what mobile device are you running it?

Does the FrameMarkersManual scene work?

The FrameMarkersManual detects the bounding box of each frame marker but I am unable to load or save sequences.

Right now, I'm just trying to get the example running. (Do you have an example scene from the video you showed?)

I tried all three on the Galaxy Note and HTC Evo 3D. Screenshots above via ddms for Evo 3D

Re: Unified Coordinate System

April 17, 2012 - 12:15am #39

Okay! I had tried putting the two above Default Time... that might have been it. Before, I had QCAR before Marker, but not before Default Time.

Now I just get an empty list in UniFile for FrameMarkersRuntime

White image in ImageTargetsRuntime though....

Re: Unified Coordinate System

April 16, 2012 - 5:43am #38

Like this:

The actual number doesn't matter, as long as QCARBehaviour is on top. I am trying to get Qualcomm to add this as a feature so you don't have to do any mods but so far no luck.

You cannot run ImageTargetsRuntime and FrameMarkersRuntime in the editor. On what mobile device are you running it?

Does the FrameMarkersManual scene work?

Re: Unified Coordinate System

April 15, 2012 - 1:56am #37

-Click on any script in the Unity3d editor and select "Execution order" in the top right Inspector window. Then modify the script execution order so that QCARBehaviour.cs is executed first, and MarkerRecorder.cs second. Then click Apply.

Just to be sure, it's: QCARBehaviour, MarkerRecorder, "Default time"
and not "Default time", QcarBehaviour, MarkerRecorder
?

Still getting the same results. Also tried again after upgrading to the latest 3.5.1

I have followed the directions through several times, on different days (to be sure I wasn't too tired and misreading)

Re: Unified Coordinate System

April 9, 2012 - 7:38pm #36

Sounds like you didn't follow the installation instructions in the UCS manual.

Re: Unified Coordinate System

April 9, 2012 - 3:48pm #35

Trying to run the example scenes... Not sure how to get things to work...

ImageTargetsRuntime
- no camera, just white screen. buttons show up though..

FrameMarkersRuntime
- camera input is inverted?

Re: Unified Coordinate System

April 8, 2012 - 9:26pm #34

The reason it seems that UCS only has 6 Frame Markers is because you are looking at the wrong scene. UCS has 3 scenes included: "FrameMarkersManual", "FrameMarkersRuntime", and "ImageTargetsRuntime". The FrameMarkersManual scene is only meant to be used for debugging and the Frame Markers have to be added manually I added 6 as an example, but you can add more if you like or remove them as well. The other scenes generate markers at runtime. In the MarkerRecorder.cs script there is a variable called "markerAmount". This has to be set to the maximum amount of markers you want to use. I set it to 6, but you can set it to any number as long as Vuforia supports that many markers.

You can add up to 512 Frame Markers, not 5. The amount of markers which can be tracked simultaneously is indeed limited to a much smaller number but you can still add much more markers to your scene. It just means that Vuforia can only track (5?) markers at the same time but if you pan the camera around, it will pick up others as well, as the previous ones are lost from view. You cannot fit a lot of markers in the camera field of view at the same time anyway, so this is not a problem.

With Vuforia, there is no such thing as "image markers". They are called "Frame Markers" (square with bar code around it), or "Image Targets" (picture).

UCS does support multiple data sets as Vuforia supports it, although you will have to build the user interface for that yourself. But again, the "limitation" of 5 markers is not because you can only load one data set. It doesn't work that way. One dataset can hold as much as 50 Image Targets (more but not recommended). You can only view a small amount at the same time though.

UCS supports both Image Targets and Frame Markers. In a future release you will be able to switch between those two at runtime.

So to make a long story short, UCS does not have a limitation of only 5 or 6 markers.

Re: Unified Coordinate System

April 8, 2012 - 7:51pm #33

I notice that UCS has 6 markers but QCAR only supports tracking up to 5 image markers at the same time..

Does UCS support loading multiple data sets to allow for more than 5 image markers to be used?

Or does UCS support using both frame makers and image markers?

Re: Unified Coordinate System

April 6, 2012 - 4:10pm #32

Yes. I didn't notice any difference.

Re: Unified Coordinate System

April 6, 2012 - 11:25am #31

Do square image markers work as well as rectangular ones?

Re: Unified Coordinate System

April 5, 2012 - 6:39pm #30

The rectangle is warped because it is not aligned properly with the real world. I had to hold the camera in an awkward position to make that shot (table too big) so I was happy with it the way it looks, even though I could have done a better job.

I could have aligned it properly by applying a "Marker Plane" constraint. In the video the plane is slightly tilted, that's why the car keeps on falling off the edge and the plane also is not aligned visually.

There can be still slight inaccuracies though even if you align the geometry properly. This is caused by small marker pose errors. I can solve this by splitting the geometry up in separate triangles and fixing the vertices to a marker position or offset thereof. This is a project in development though.

Items created at runtime work fine as this is a core feature of UCS. It also works if it is scaled to be bigger then the camera frame. Any items outside of the camera frame but spanning into the current view are correctly mapped. This also is a core feature of UCS.

Re: Unified Coordinate System

April 5, 2012 - 12:43am #29

Also... does this work if the items in your scene are actually created at runtime?

What if one item is changed (during runtime) to be larger than the size of the camera frame, spanning to the domain of another image marker? Will the occluded part show up on the other image marker?

Re: Unified Coordinate System

April 4, 2012 - 9:55pm #28
elecman wrote:

I added a video of UCS. Check the first post.

cool! i notice that in your video when you defined the rectangular geometry of the table using constraints, you have a warped edge on one corner. Is there a way to stabilize this so it stays a rectangle with all 90 degree angles in the plane? (See 0:18 teal rectangle and 3:39)

Re: Unified Coordinate System

April 2, 2012 - 10:00pm #27

I added a video of UCS. Check the first post.

Re: Unified Coordinate System

March 16, 2012 - 7:08pm #26

Update added. See first page. I fixed the different sized markers issue but it comes with special instructions due to a bug in Vuforia so be sure to read those carefully.

Re: Unified Coordinate System

February 7, 2012 - 8:16am #25

I was going to give it a try at the end of the week anyway ;-) thanks again for all your work and I'll let you know about the outcome!

Re: Unified Coordinate System

February 6, 2012 - 10:31pm #24

Yeah, I think it can be done. I added it to the todo list. Or perhaps it already works as is... The tracking should work I think, but certain geometry creation constraint types will not work correctly yet. Give it a try.

Re: Unified Coordinate System

February 6, 2012 - 10:50am #23

Ok, thanks. I also tried on another Android device and had the same problem. It would be interesting if someone else has this problem on Android, maybe someone else could give some feedback...?
About your previous comment

Quote:

Let me check up on the image target aspect ratio again. In any case, it is important that markers with different scales are perceived to be at the same distance from the camera if that physically is true. Normally a smaller marker will be perceived to be further away. But I will have a look.

The scale that is set in Unity is represented and updated in the .xml file, therefore different scales shouldn't be a problem when using image targets in opposite to markers.
Best,
Stefan

Re: Unified Coordinate System

February 5, 2012 - 6:14pm #22

Good to hear you got it to work.

I am not sure what the practical difference is between the two path specifiers. But here is some more info:

From Kim:
STORAGE_APPRESOURCE: same location that 1.0.6 used, these datasets must be bundled with the application
STORAGE_APP: private application storage, you can download a dataset at runtime and place it in the application directory (Internal Storage on Android)

from manual:
STORAGE_APPRESOURCE: Storage for assets bundled with the application
STORAGE_APP: Storage private to the application.

I don't have access to an Android until next month but when I do, I will fix this problem. But until that time, anyone who has an Android, is experiencing the same problem, and knows how to fix it (not using an absolute path), can jump in here.

Re: Unified Coordinate System

February 5, 2012 - 12:03pm #21

hi elecman,
sorry for not mentioning that, i'm working on android an di managed to figure out the problem. i couldn't manage to see the resource folder of my app on the device but what i did was changing your code a bit to load the resources from the sdcard. (of course i copied the files there before...) so i really don't know what the problem is but loading the resources from the sdcard works fine now. just out of curiosity, do you know what's the difference between STORAGE_APP and STORAGE_APPRESOURCE?
best,
stefan

Re: Unified Coordinate System

February 3, 2012 - 8:29pm #20

-Are you using Android or IOS?
-If you use IOS, are you code signing your application? If you don't the app won't find the files. See this thread here which describes the same problem:
(amongst others)
http://ar.qualcomm.at/node/2001331
-Can you get the QCAR example image targets project (beta 1.5) to work?
-Can you use a file browser on your mobile device and verify that the files are there as well, even though they are located in the unity project folder?
-The reason the recording animation does not show up is because it can't find the data set files so it does not go into recording mode. I will make an error message so the user is informed about this in the next release. If the data set is loaded successfully, the recording animation will be displayed.
-Let me check up on the image target aspect ratio again. In any case, it is important that markers with different scales are perceived to be at the same distance from the camera if that physically is true. Normally a smaller marker will be perceived to be further away. But I will have a look.

Re: Unified Coordinate System

February 3, 2012 - 2:34pm #19

hi elecman,
thanks for your answer.
i followed all your steps and the additional hints in your answer, still without success. it seems like the app can't find the .dat file although it is in "StreamingAssets/QCAR/". the output from logcat is in the attached text file.
to the GUI problem, neither the "recording..." text, nor the red dot shows up.
for the aspect ratio, i don't see any limitation from qualcomm when it comes to a restriction for image targets. i have some apps using QCAR and they have multiple image targets with different formats. just to be sure about that.
if i can do anything else to help, please let me know.
best,
stefan

Log in or register to post comments