Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Mobile AR: Qualcomm vs String

Discussion in 'iOS and tvOS' started by Aron, Jun 27, 2011.

  1. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    Have to disagree in one point: Of course string has a unity demo and you can just replace the 3 Quads with your one stuff. Up and running quite fast.
     
  2. sonoflaertes

    sonoflaertes

    Joined:
    Aug 24, 2011
    Posts:
    1
    With all the licensing costs, could someone explain to me please which unity licenses I have to pay for to use the Qualcomm AR SDK? Do I needn to buy the Unity Pro ad Android Pro license at 3000 USD? Or can I use the free Unity and the "simple" Android add-on for 400 USD?

    Thanks in advance!
     
  3. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,369
    Marjan, you are right. I didn't see that. I will amend it in the review.
     
  4. damienthorn

    damienthorn

    Joined:
    Oct 1, 2009
    Posts:
    28
    I can't play the tutorial that comes with the String demo because it gives me the following warning in the editor:

    "Couldn't initialize String preview plugin. StringWrapper will return placeholder data. If you're not running Unity Pro, your editor doesn't support plugins, and you can safely ignore this message. You will still be able to deploy to iOS. If you are running Unity Pro, please make sure you've added String.bundle from the SDK to your project."

    I'm using a Unity iPhone Pro trial account, so the plugin should work. I have added String.bundle to the Plugins folder in the project, but it still gives this warning.

    I have OS X v 10.5.8 and Unity 3.4.

    Any thoughts?
     
  5. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    What do you mean by "I can't play the tutorial"? In the editor? As you notice from the Warning this works only with unity pro, i guess.
    Furthermore of course you need a camera.
     
  6. damienthorn

    damienthorn

    Joined:
    Oct 1, 2009
    Posts:
    28
    As you can read in my post, I have a Unity iPhone Pro account. I tested different plugins and they worked perfectly. I have also a camera connected to the mac (also tested it's reception).

    I edited the try/catch of the warning and the error is DLL not found (String.dll), but as I said, I have added String.bundle to the Plugins folder in the project.

    I think the problem is in the OS X version, but I really need to know that that is the case.
     
  7. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    Ok, sorry, i was blind. Hm. Never heard of an a Unity iPhone Pro trial version. And iPhone Pro is not Unity Pro. There is one Pro for each.
    But since this always so confusing and to long to write, i guess you have all the right stuff.

    I have Unity 3.4 with String 1.1 on 10.6.8. No problems. But i have no 10.5 Testmachine around.
     
  8. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    Hi guys! I just received my updated string license and i was searching for the video texture....can't find it.
    Also it comes with no tutorial or documentation at all.

    Did anyone of you find a way to make the video texture work?
     
  9. damienthorn

    damienthorn

    Joined:
    Oct 1, 2009
    Posts:
    28
    The problem was in the OS version. With 10.6.8 it works perfectly.
     
  10. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    Actually i figured that out but my Code is specific so you need to change something for your needs:
    Code (csharp):
    1.  
    2. using UnityEngine;
    3. using System.Collections;
    4. // using System.Collections.Generic;
    5.  
    6.  
    7. public class UpdateReflection : MonoBehaviour{
    8.  
    9. public Material  theMat;
    10.     public StringManager stringmanager;
    11.    
    12.     void Update () {
    13.         Matrix4x4 test = Matrix4x4.zero;
    14.         test = test.inverse;
    15.         Texture2D videoTex = stringmanager.stringWrapper.GetCurrentVideoTexture(out test);
    16.         theMat.SetTexture("_Reflect", videoTex);
    17.     }
    18.    
    19. }
    So, there you have it. In this case the video texture is applied to a reflective material. The texture _Reflect gets it.
    Your material might have other texturenames, so you need to change that.
    Then i used pixelplacements StringManager. If you dont use that you need to change that to the script that holds the string instance and call that.

    What i don´t actually understand is, why you need to give a matrix4x4 out, what it does and what would be a good matrix. In my case i see the material is beeing updated, but the texture is upside down. I guess a rotation matrix would solve that. But for a Spheremap it doesn´t matter.

    This Script only works on String 1.1 Developer or Pro licences.
     
  11. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    WOW! Thank you Marjan i will try it immediately!
    I use String 1.1 Pro license too and stringmanager, so i think i will have no problems!

    Great!
     
  12. aviel08

    aviel08

    Joined:
    Sep 7, 2011
    Posts:
    4
    wow..I wasn't aware of the thread, I ended up emailing String to give them my opinion
    I agree with all of you guys, and the worst thing is that even if I know that Qualcomm is for free I'm happy to pay for String, they're a small company and I like it, but no, they had to be greedy and make incredible unafortable the only licence that has no maks! For $7000 they should give you the code! haha it's kinda good at the same time that Qualcomm launched almost at the same time their SDK, so the string people will have to re consider they prices.
    It would be sad if someone would be decompiling String and making the demo version full when there are so many people out here willing to pay for a reasonable license.
     
  13. ibivibiv

    ibivibiv

    Joined:
    Mar 3, 2007
    Posts:
    81
    I agree with the general sentiment here. You get what you pay for. String overall is a more polished product on iOS in my humble opinion. The Qualcomm solution is jerky and slow to pick up the marker. However, all of that being said I refuse to pay the ridiculous YEARLY license for String. Make it a one time at that price and a small yearly maintenance like most software vendors and I might consider it, but the same price every year? Sorry guys, it isn't THAT much better. Plus Qualcomm is in beta so I am going to assume what I have will improve. Oh well I guess they are proud of their work at String.
     
  14. cty71

    cty71

    Joined:
    Sep 13, 2011
    Posts:
    3
    New to Unity/AR. Working on a little iOS/QualcommAR demo and was wondering if anyone could tell me quickly how to hide my object until the image tracker registers to the scene. Currently my object is showing when the app starts and I'd like to have it hidden until the track begins.

    Thanks!

    --cy
     
  15. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    cty71:
    that should already be the case, if you use string. At least, thats my experience. You can look into the string scripts. There you find the code to toggle stuff, too.
     
  16. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    cty71:

    you need to drag the Object into the ImageTarget.prefab and then you must add the TrackableEventHandler.cs script to the ImageTarget.prefab (you can find the script into the demo folders)

    Cheers,
    Iguana
     
  17. aviel08

    aviel08

    Joined:
    Sep 7, 2011
    Posts:
    4
    Can you toggle the reticle and splash? lol
     
  18. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    of course, here is the code:


    if (s == "reticle") {
    s= "splash";
    } else {
    s = "reticle";
    }

    Hehehe... Never mind.
     
  19. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    i can't stop laughting...hehehehe...

    @aviel08 : No you can't and its also illegal, if you don't want the reticle and splash screen the only legal way i know is buy the campaign version (7.000 US Dollars).

    Not to mention that the reticle and splash are inside a encripted lib and inside the Plug in, its not just a script.
    If you want a free AR without any reticle and splash you can use Qualcomm QCAR, i'm using both and honestly they are almost the same thing.
     
  20. aviel08

    aviel08

    Joined:
    Sep 7, 2011
    Posts:
    4
    haha..
    thanks marjan!
    yes I know Iguana, I know it's not that easy..it would take a while to decompilate it and find the "string".. I can't be bothered.. I rather use Qualcomm QCAR. But it's ironic that I'd be happy to pay a 99 bucks license to help a indie company like them, but never $7000!
    anyway...
     
  21. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    @Aviel08...i would be happy to pay even 400 per App to help indies but definitely not 7000...and not per year.

    News of the day: QUALCOMM Plug In is definitely out of beta and it is officialy released to the public.
     
  22. cty71

    cty71

    Joined:
    Sep 13, 2011
    Posts:
    3
    Unity/QCAR Newbie Question:

    Using QualcommAR / iOS. Trying to implement Unity TapControl. When QCAR image tracker engages, my "player" object loses collision/physics and falls through my mesh/plane. Is there a relatively simple solution to keep collision/physics in place while using QCAR ImageTarget and have mobile tap control working? Any advice would be greatly appreciated.

    Thanks!

    --cy
     
  23. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    @cty71 try to set the camera's world center to USER and your imageTarget also try to resize the imageTarget.

    I did with a fully working car and its working really good so it should be just the center of gravity (world).

    EDIT: IMPORTANT! Use a mesh collider into the your mesh/plane if you don't have it.

    Iguana
     
  24. cty71

    cty71

    Joined:
    Sep 13, 2011
    Posts:
    3
    That was it! Camera world center to USER. Had tried everything else! Thanks for your help! :)

    --cy
     
  25. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    You're welcome! :)
     
  26. ibivibiv

    ibivibiv

    Joined:
    Mar 3, 2007
    Posts:
    81
    Quick update since my last post. Now that the Qualcomm is out of beta String is even less viable for me (at least at their current pricing). A lot of the target acquisition issues have been solved and the target tracking is at an "acceptable" frame rate for Qualcomm. String is still a much more polished offering but as many have pointed out, it is not worth that ridiculous price point they have chosen. I wish them the best of luck, but as Qualcomm improves their offering it is going to be harder and harder for them to justify that cost.
     
  27. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    Hi Guys! I decided to switch all my apps to Qualcomm's AR engine but i noticed a problem.
    It doesn't support ipad's orientations...this means i can use only one orientation...that means my app will be rejected.

    Using string (even on docs says that is not compatible to orientations) i can use portrait and portrait upsidedown without issues.

    If someone got a trick or DIY solution please let me know.

    Iguana.
     
  28. ibivibiv

    ibivibiv

    Joined:
    Mar 3, 2007
    Posts:
    81
    They reject based on orientation change not being supported? Are you sure? I am only questioning because I have apps that most definitely do not change orientation and they were accepted. Albeit those were iphone and were last year. Is this something new, or ipad specific?
     
  29. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    Hi ibivibiv, the problem is for iPad2 only.
    Apple will reject any App that doesn't allow at least 2 orientations, i heard people in this forum that had the app rejected only because the splash screen was one orientation only....you can imagine the entire App...;)
     
  30. ibivibiv

    ibivibiv

    Joined:
    Mar 3, 2007
    Posts:
    81
    Good to know. I haven't got to the ipad version of my app yet, but when I do if you haven't got a solution I'll post back here. I am thinking you might be able to grab the plane they are putting the camera stream on, but I don't know if that is in objective c native side or if it can be done in Unity side. I guess that is fun to be discovered soon.

    Edit:
    Just at a quick glance I saw this in CameraDeviceBehavior:

    // Enables or disables the request of the camera image in the desired pixel
    // format. Returns true on success, false otherwise. Note that this may
    // result in processing overhead. Image are accessed using GetCameraImage.
    // Note that there may be a delay of several frames until the camera image
    // becomes availables.
    public bool SetFrameFormat(Image.PIXEL_FORMAT format, bool enabled)
     
    Last edited: Sep 27, 2011
  31. LD

    LD

    Joined:
    Nov 6, 2009
    Posts:
    40

    Incorrect, I have an app on the app store (FR and DE) that only supports one orientation - landscape.
     
  32. LD

    LD

    Joined:
    Nov 6, 2009
    Posts:
    40
    ..and that's on iPad2 and iPhone4.
     
  33. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    You're right but there are few people that saw their app published with one orientation only.
    In fact i found hundred posts out there with people get rejected for this reason (ipad only).

    Personally i was rejected 3 days ago (i tried anyway...but no luck)....
    now i will publish my app for iphone/touch only..waiting for qualcomm to fix the autorotation problem.
     
  34. mikevanman

    mikevanman

    Joined:
    Sep 30, 2009
    Posts:
    108
    have to say just been playing with the qualcomm solution and found it pretty simple to get going and great fun. still can't believe its free ! whats the catch?

    i presume I should display their logo on the splash screen , (if only I could find the time to work on this stuff(back at uni)).
     
  35. LD

    LD

    Joined:
    Nov 6, 2009
    Posts:
    40

    Were you rejected for having only one orientation? I suspect there are more apps with only one rotation out there than there are people who have had apps rejected for solely that reason..
     
  36. Daxter12

    Daxter12

    Joined:
    Oct 9, 2011
    Posts:
    8
    Hey guys,

    Bit of a newbie q but it would help loads!

    I'm looking to start Qualcomm AR with unity. Which unity licence do I need to create a game and publish it to the app store?

    Is just Unity Pro with the the Qualcomm extension enough??
     
  37. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    I'm new to unity and trying to build with string. I'm using unity 3.4 and String 1.1 and am getting errors also,

    ld: duplicate symbol PresentContext_UnityCallback(UnityFrameStats const*) in /Users/simon/Documents/Development Docs/String iOS SDK Demo 1-0/Libraries/libStringUnityDemo-1.0.a(StringAppController.o) and /Users/simon/Documents/Projects/Unity/stringTest/Build/Tardis_01/build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv6/AppController.o for architecture armv6

    and


    ld: duplicate symbol PresentContext_UnityCallback(UnityFrameStats const*) in /Users/simon/Documents/Development Docs/String iOS SDK Demo 1-0/Libraries/libStringUnityDemo-1.0.a(StringAppController.o) and /Users/simon/Documents/Projects/Unity/stringTest/Build/Tardis_01/build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/AppController.o for architecture armv7

    I've tried witching to a different OS target but with no luck.

    Any suggestions?

    Could someone point me to a document which deals with this issues maybe?

    Thx.
     
  38. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    Not sure but...Is it with the simulator? Because it doesn't work with it...you need the actual device.

    Did you follow the unity3d tutorial on the String SDK? Because its pretty easy to follow ands shows you what to do step by step.
     
  39. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    Hey,

    I ran through it from scratch again with no luck, but then realised i was using Xcode 3.2.6, would this be the problem?
    i'm downloading the lastest now.

    Cheers.
     
  40. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    I'm Getting Closer!

    So, after installing the latest Xcode, i was able to build the app, and launch it on my phone, but it crashes after the splash screen.

    These are the last 2 lines in the output window,

    2011-10-13 15:58:56.547 test[443:707] -> registered mono modules 0xb013fc
    2011-10-13 15:58:56.656 test[443:707] applicationDidFinishLaunching() called.

    don;t know if that's helpful.

    It also came up with 2 semantic errors during the build.

    I'm using Xcode 4.2

    Any help would be greatly appreciated

    Thnx.
     
  41. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    Hi Siberman,
    honestly i'm using xcode 3.2.6 with SDK 4.3 and it works really well.

    Didi you try to open the xcode project on String tutorials and just publish it? If its not working then something is wrong with your xcode.

    The only thing that could be (because you said the project quits after the splash)...is that you need to add the libstring.a (that comes with string). And pay attention to your app ID, it must be the same as your string license.
     
  42. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    Hey iguana_02,

    i seem to have the libstring.a added correctly, although it is called. libStringUnityDemo-1.1.1.a, could it be that i can't test it as i'm using the demo?

    I'm about to build the tutorial project, gotta run off a grab an iPhone cable...

    Cheers.
     
  43. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    No luck with the tutorial patch.

    Frustrating. Sent String an email... we'll see.
     
  44. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    Hey again,

    sorry to overrun the thread, but i just noticed i have this error in unity

    MissingMethodException: Cannot find the requested method.
    UnityEditor.EditorGUI.DoTextField (UnityEditor.RecycledTextEditor editor, Int32 id, Rect position, System.String text, UnityEngine.GUIStyle style, System.String allowedletters, System.Boolean changed, Boolean reset, Boolean multiline, Boolean passwordField)
    UnityEditor.EditorGUI.ArraySizeField (Rect position, Int32 id, Int32 value, UnityEngine.GUIStyle style)
    UnityEditor.EditorGUI.ArraySizeField (Rect position, UnityEngine.GUIContent label, Int32 value, UnityEngine.GUIStyle style)
    UnityEditor.EditorGUI.PropertyField (Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label)
    UnityEditor.EditorGUI.PropertyField (Rect position, UnityEditor.SerializedProperty property)
    UnityEditor.Editor.OptimizedInspectorGUIImplementation (Rect contentRect)
    UnityEditor.GenericInspector.OnOptimizedInspectorGUI (Rect contentRect)
    UnityEditor.InspectorWindow.DrawEditors (Boolean isRepaintEvent, UnityEditor.Editor[] editors, Boolean eyeDropperDirty)
    UnityEditor.InspectorWindow.OnGUI ()
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)


    Could this be the issue?

    Thanks Again!
     
  45. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    The name is correct, its the library that comes with the demo...
    Its really weird that doesn't work, i actually opened the demo project, published on the iphone and it worked the first time.
    I don't have any idea to solve it right now...
     
  46. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    Hmm.... by demo project do you mean the unity scene? or is there an actual xcode project file that i'm missing?
     
  47. iguana_02

    iguana_02

    Joined:
    Apr 22, 2011
    Posts:
    211
    I mean, if you open the unity scene without change anything on it and then you export the xcode project, add the libStringUnityDemo-1.1.1.a file and publish on your device. It must work.
     
  48. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
    That's what i thought, that's what i've done, and amended the build phases as per the tute.

    could it be a problem with my phone? i might restore it anyway.

    If that doesn't work i'll try it on another, older computer and see what happens.

    Thanks for your help man.
     
  49. siberman

    siberman

    Joined:
    Oct 12, 2011
    Posts:
    31
  50. knopperchopper

    knopperchopper

    Joined:
    Oct 19, 2011
    Posts:
    2
    Does anyone know where I can get String SDK 1.1 so it works correctly with Unity 3.4? Seems like it's not available on their site, but people have it here.