Search Unity

Resolved ARKit support for iOS via Unity-ARKit-Plugin

Discussion in 'AR' started by jimmya, Jun 5, 2017.

Thread Status:
Not open for further replies.
  1. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Good stuff man - I always wanted to see an Orc smash a monitor.
     
  2. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    UnityARAmbient is already being used in the UnityARKitScene to alter the intensity of the Directional Light in the scene. To see how someone used this effectively in their own scene, check this out: https://twitter.com/CodyBrown/status/872532086032355329
     
  3. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Unfortunately, this functionality does not exist in ARKit currently. Apple may have some other frameworks within iOS 11 beta that might be able to do this (e.g. https://developer.apple.com/documentation/vision), but we have not tested any of those with ARKit or with this plugin. YMMV.
     
  4. robomex

    robomex

    Joined:
    Mar 21, 2016
    Posts:
    2
    I second the request for info on/attempts at using the planes ARKit generates for real world pathfinding. I've tried a few things with no success yet – I'll post if I figure it out.
     
    Aiursrage2k likes this.
  5. WellFiredDevelopment

    WellFiredDevelopment

    Joined:
    Jun 16, 2012
    Posts:
    661
    Any ideas how to fix the following? Attached to this post. Clean project, clean install, clean build.

    Building to iPhone 6s+ running iOS 11 from Xcode 9 9M136h.
    Building with Unity 5.6.1p2

    - Terry
     

    Attached Files:

  6. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    It does not look like that would be related to this plugin. Are you able to build an empty unity project? Only thing I can think of is that you have chosen a simulator instead of device? Could you show more of your XCode build output?
     
  7. prtm

    prtm

    Joined:
    Jun 7, 2017
    Posts:
    2
    I'm literally having the same issue. What was the fix?
     
  8. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    In player settings, you should set some text in the Camera Usage description
     
  9. WellFiredDevelopment

    WellFiredDevelopment

    Joined:
    Jun 16, 2012
    Posts:
    661
    I'm definitely deploying to my iOS device, but for some reason Xcode seems to think I'm trying to target a simulator.

    Code (CSharp):
    1. CompileAssetCatalog /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app Unity-iPhone/Images.xcassets
    2.     cd /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test
    3.     export PATH="/var/folders/ww/_1bmmg8x6wv56rpt3dssn9h80000gn/T/AppTranslocation/7ED96BAB-DAA1-4250-B513-CFB3C34E67A2/d/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/var/folders/ww/_1bmmg8x6wv56rpt3dssn9h80000gn/T/AppTranslocation/7ED96BAB-DAA1-4250-B513-CFB3C34E67A2/d/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    4.     /var/folders/ww/_1bmmg8x6wv56rpt3dssn9h80000gn/T/AppTranslocation/7ED96BAB-DAA1-4250-B513-CFB3C34E67A2/d/Xcode-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/assetcatalog_dependencies --output-partial-info-plist /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/assetcatalog_generated_info.plist --app-icon AppIcon --launch-image LaunchImage --compress-pngs --enable-on-demand-resources YES --filter-for-device-model iPhone8,2 --filter-for-device-os-version 11.0 --sticker-pack-identifier-prefix com.ar.table.sticker-pack. --target-device iphone --minimum-deployment-target 8.0 --platform iphoneos --product-type com.apple.product-type.application --compile /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets
    5.  
    6. /* com.apple.actool.errors */
    7. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets: error: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) with runtime iOS 11.0 (11.0 - 15A5278f) - com.apple.CoreSimulator.SimRuntime.iOS-11-0
    8.     Failure Reason: Failed to create new simulator device that matches IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) for runtime iOS 11.0 (11.0 - 15A5278f) - com.apple.CoreSimulator.SimRuntime.iOS-11-0 (The operation couldn’t be completed. Invalid argument)
    9.     Underlying Errors:
    10.         Description: The operation couldn’t be completed. Invalid argument
    11.         Failure Reason: Invalid argument
    12. /* com.apple.actool.document.notices */
    13. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./AppIcon.appiconset/[][iphone][57x57][][][1x][]: notice: 57x57 app icons only apply to iPhone apps targeting releases of iOS prior to 7.0
    14. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./AppIcon.appiconset/[][iphone][57x57][][][2x][]: notice: 57x57@2x app icons only apply to iPhone apps targeting releases of iOS prior to 7.0
    15. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][736h][3x][portrait][full-screen][8.0]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    16. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][736h][3x][landscape][full-screen][8.0]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    17. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][667h][2x][portrait][full-screen][8.0]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    18. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][][1x][portrait][full-screen][]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    19. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][][2x][portrait][full-screen][]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    20. /Users/hyeonlimyang/Projects/unity-arkit-plugin/Builds/test/Unity-iPhone/Images.xcassets:./LaunchImage.launchimage/[iphone][retina4][2x][portrait][full-screen][]: notice: This launch image only applies to iOS 6.x and prior but the minimum deployment is 7.0 or later.
    21. /* com.apple.actool.compilation-results */
    22. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/AppIcon57x57.png
    23. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/AppIcon57x57@2x.png
    24. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/AppIcon60x60@2x.png
    25. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/AppIcon60x60@3x.png
    26. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-800-Portrait-736h@3x.png
    27. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-800-Landscape-736h@3x.png
    28. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-800-667h@2x.png
    29. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-700@2x.png
    30. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-700-568h@2x.png
    31. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage.png
    32. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage@2x.png
    33. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Products/ReleaseForRunning-iphoneos/arkitscene.app/LaunchImage-568h@2x.png
    34. /Users/hyeonlimyang/Library/Developer/Xcode/DerivedData/Unity-iPhone-bbrmcgvsgdakbghjqqwiqieymhrp/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/assetcatalog_generated_info.plist
    35.  
     

    Attached Files:

  10. WellFiredDevelopment

    WellFiredDevelopment

    Joined:
    Jun 16, 2012
    Posts:
    661
    I built through Unity with everything default (from the repo).
     

    Attached Files:

  11. Method-Studios

    Method-Studios

    Joined:
    Feb 5, 2015
    Posts:
    2
    Go to Player Settings and choose Device SDK (not Simulator SDK) as Target SDK.
     
  12. WellFiredDevelopment

    WellFiredDevelopment

    Joined:
    Jun 16, 2012
    Posts:
    661
    Thanks for the pointer, however it’s currently setup exactly like the image you attached. :(
     
  13. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    If you are still having issues, could you submit a bug report from Help->Report A Bug.. and include your xcode project? Please post the bug number here.
     
    Last edited: Jun 9, 2017
  14. prtm

    prtm

    Joined:
    Jun 7, 2017
    Posts:
    2
    Arvin6 likes this.
  15. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,085
    Has anyone gotten Vuforia to play well with this yet? i.e., use Vuforia Cloud to create Image Targets in conjunction with this
     
  16. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Updated project with a new sample scene called UnityARBallz. Get latest from https://bitbucket.org/Unity-Technologies/unity-arkit-plugin. In this scene you can toggle between two modes controlled by button on top right: "MAKE" the balls, and "BREAK" the balls. MAKE allows you to touch a spot on a detected plane and create a ball at that spot. BREAK will allow you to drag your finger along the surface of a plane, scattering existing balls in every direction.

     
    robomex likes this.
  17. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,085
    Are these pointclouds 1:1 with what ARKit detect? s
     
  18. RubyKrongDev

    RubyKrongDev

    Joined:
    May 25, 2016
    Posts:
    16
    Can I use ARkit for the front camera?
     
  19. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    It was all building and working fine here.... now our Unity project and even a fresh download right from BitBucket does this when I run it on device (iPhone 6s, from XC9, on 10.13 beta using Unity XR preview p1)... Any ideas?

    We've tried 3 different projects now with different bundleids with cleans before builds.

    Initializing Metal device caps: Apple A9 GPU

    Initialize engine version: 5.6.1xMacVR-p1 (f196ae3d2614)

    =================================================================

    Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]

    PID: 769, TID: 491085, Thread name: (none), Queue name: NSOperationQueue 0x1c42288a0 :: NSOperation 0x1c044cde0 (QOS: DEFAULT), QoS: 21

    Backtrace:

    4 arkittest 0x0000000103e5cf34 UnityCurrentOrientation + 60

    5 arkittest 0x0000000103e4a95c __UnityCoreMotionStart_block_invoke + 108

    6 Foundation 0x0000000185b52de4 <redacted> + 16

    7 Foundation 0x0000000185a932e0 <redacted> + 96

    8 Foundation 0x0000000185a83280 <redacted> + 620

    9 Foundation 0x0000000185b5574c <redacted> + 228

    10 libdispatch.dylib 0x00000001a747c2bc <redacted> + 16

    11 libdispatch.dylib 0x00000001a748657c <redacted> + 532

    12 libdispatch.dylib 0x00000001a7486fa8 <redacted> + 332

    13 libdispatch.dylib 0x00000001a7487b28 <redacted> + 388

    14 libdispatch.dylib 0x00000001a7490368 <redacted> + 864

    15 libsystem_pthread.dylib 0x00000001a77131e8 _pthread_wqthread + 924

    16 libsystem_pthread.dylib 0x00000001a7712e40 start_wqthread + 4

    2017-06-09 17:51:50.572552+1000 arkittest[769:491085] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]

    PID: 769, TID: 491085, Thread name: (none), Queue name: NSOperationQueue 0x1c42288a0 :: NSOperation 0x1c044cde0 (QOS: DEFAULT), QoS: 21

    Backtrace:

    4 arkittest 0x0000000103e5cf34 UnityCurrentOrientation + 60

    5 arkittest 0x0000000103e4a95c __UnityCoreMotionStart_block_invoke + 108

    6 Foundation 0x0000000185b52de4 <redacted> + 16

    7 Foundation 0x0000000185a932e0 <redacted> + 96

    8 Foundation 0x0000000185a83280 <redacted> + 620

    9 Foundation 0x0000000185b5574c <redacted> + 228

    10 libdispatch.dylib 0x00000001a747c2bc <redacted> + 16

    11 libdispatch.dylib 0x00000001a748657c <redacted> + 532

    12 libdispatch.dylib 0x00000001a7486fa8 <redacted> + 332

    13 libdispatch.dylib 0x00000001a7487b28 <redacted> + 388

    14 libdispatch.dylib 0x00000001a7490368 <redacted> + 864

    15 libsystem_pthread.dylib 0x00000001a77131e8 _pthread_wqthread + 924

    16 libsystem_pthread.dylib 0x00000001a7712e40 start_wqthread + 4

    2017-06-09 17:51:50.848938+1000 arkittest[769:491111] -[MTLRenderPipelineDescriptorInternal validateWithDevice:], line 2295: error 'No valid pixelFormats set.'

    -[MTLRenderPipelineDescriptorInternal validateWithDevice:]:2295: failed assertion `No valid pixelFormats set.'
     
    Last edited: Jun 9, 2017
  20. rockstarsaad

    rockstarsaad

    Joined:
    Sep 26, 2015
    Posts:
    7
    Is there possible to create vertical planes (like for adding windows or something to stick by the wall) as well Jimmy? If so, can you please share light on that as tutorial or however you prefer.
     
  21. John1515

    John1515

    Joined:
    Nov 29, 2012
    Posts:
    248
    Ah ok :) But does UnityARAmbient or calling m_session.GetARAmbientIntensity() affect the ambient lighting (map) in Unity?
     
  22. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    Not in their example, but just like in the example they include that effects the light intensity, you could always do the same thing to effect the ambient intensity.
     
  23. brunodp

    brunodp

    Joined:
    Dec 22, 2015
    Posts:
    1
    Just a heads up for all people trying to get this to work on a device < A9 (iPhone 6, for example). Maybe it's obvious but I found the documentation to be ambiguous... it states that A9 is needed, but then on the API doc itself it states that ARWorldTrackingSessionConfiguration is for A9 while the lower quality tracking ARSessionConfiguration is for the other lower end devices that support iOS 11... still it was not working on my iPhone 6 even though I was trying to use ARSessionConfiguration. It took me a while but eventually I found the "iOS 11 Beta Release Notes" where it states that:
    • ARSessionConfiguration is only supported on iOS devices with an A9 or later processor and will be enabled for all iOS 11 devices in a future beta.
    So.... it will eventually work on an iPhone 6 but it does not at the moment.
     
    kaushik-d and jimmya like this.
  24. KwahuNashoba

    KwahuNashoba

    Joined:
    Mar 30, 2015
    Posts:
    110
    You already have project Tango. It is limited to very few phones though. I just hope that SLAM works as good as this one.
     
  25. nickmc1210

    nickmc1210

    Joined:
    Jun 9, 2017
    Posts:
    5
    Thanks so much for this plugin and the support! I’ve never used Unity before, this is getting me started and so far it’s incredible. Keep it up!

    Got an issue. I’ve got an empty gameobject corresponding to a map visualization Mapbox/Unity SDK. I’ve got location data being displayed through Map Image and Terrain factory components. The map is showing up in my ARKit app, which is just the sample project your plugin provided.

    However, while the RandomCube black/white checkered object remains stationary, the map visualization does not. It’s transformation moves with the phone camera, making it impossible to see the map from above.

    Is there a particular component that I must add to my gameobject to get it to remain stationary in the world? I can’t tell that there’s anything special on the other stationary objects but something must be different.

    Thanks again!

    Edit: submitted early
     
  26. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
  27. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Welcome to Unity development - hope we can help you get the most out of it.
    Now to your issue - there should be nothing special you have to do to your gameobject to make it stay in place. Basically, all the GameObjects that you create in the scene will exist and animate where and how you want it to. The only thing the ARCameraManager script does is move and rotate the camera within this scene based on the movement and orientation of your phone. From your description then, it might be that you put your gameobject under the hierarchy of the camera? Or there is some script or component on it that is moving it based on gyro?
     
  28. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Good find, brunodp! I did not know this. I'll update the docs.
     
    brunodp likes this.
  29. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    That functionality does not currently exist in ARKit, so it would not be trivial task. You should ask Apple to create this if you need it.
     
  30. nickmc1210

    nickmc1210

    Joined:
    Jun 9, 2017
    Posts:
    5
    I'll have to double check to make sure some component isn't getting tied to the gyro. However, the gameobject moved with the camera even when I added it to the RandomCube object as a child. The Cube remained stationary, as did its other children (the colored axis) but the map moved. I'll figure it out!
     
  31. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
  32. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    If you cant figure it out, submit a bug using the bug reporter under the help menu, include your project and put the bug number in a post here and I can take a look.
     
  33. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Hmm - I did not see that when I tested against the MacVR experimental build. Check if other stack traces submitted on this forum help you figure out what this is. You could try just the patch build 5.6.1p1+ or beta build of 2017.1.0b5+
    Finally if all else fails, you can submit a bug via bug reporter, include your Xcode project, and post your bug number here and I can take a look.
     
  34. nickmc1210

    nickmc1210

    Joined:
    Jun 9, 2017
    Posts:
    5
    Figured it out. The problem was twofold:

    1) the environment didn't give the ARKit much reference at the beginning of the app. This caused not only the map but all content to move, as if the original "world origin" wasn't set for the first few seconds as the ARKit framework tried to build a sense of the world.

    2) My AbstractMap component on the MapVisualizer has a default value for Unity Tile Size set to 100. This made the map so disgustingly large that it was almost impossible to see from my camera's positioning, and made what little of them map I could see seem to move as I moved the camera. Taking the tile size down to 1 has fixed the issue. I've got a map of my location rendering on my desk! The coolest damn thing I've seen in a while.

    Anyone using the Mapbox SDK for Unity, decrease the tile size!

    Thanks for the help, keep up the awesome work!
     
  35. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Excellent! Please share any screenshots or videos if you can.
     
  36. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    ok, I downloaded 2017.1b9 and it seems to be behaving in there, including running my previous attempts that were crashing on device. I'll let you know if I see it again, but for me, something is def not working with the Mac VR preview.
     
  37. WellFiredDevelopment

    WellFiredDevelopment

    Joined:
    Jun 16, 2012
    Posts:
    661
    I managed to get it to work on a other Mac, so it's environment specific, I'll upload the project with a bug report soon.

    I think the instability is because of the solid white walls.

    In the mean time, exporting one of my existing demos to AR (Proc generated world with a grid overlay for an RTS or something similar). https://twitter.com/TerryDrever/status/873524588059275264

     
    Last edited: Jun 10, 2017
    christophergoy and jimmya like this.
  38. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Glad you got it working - send us a project via bug reporter if you could - we would like to make sure the experimental build works for everyone as well.
     
  39. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Nice! Thanks!
     
  40. PolarBearTC

    PolarBearTC

    Joined:
    Jun 11, 2017
    Posts:
    1
    I'm just starting out, but this is fascinating. Thank you so much, great work! I'm still trying to build my first ARKit scene, but anyone able to get this set up in a Google VR SDK (Cardboard) app? I would like to know if a "poor man's" HoloLens is possible.
     
  41. Blarp

    Blarp

    Joined:
    May 13, 2014
    Posts:
    269
    @jimmya if you are ever feeling like superman for a day, can you add the WWDC demo as an example scene in the Unity-ARkit source? The example scenes are really the bread and butter when it comes to pushing people to build upon this early.

    https://github.com/DonQvixote/WWDC17-ARKit-Demo

    Other than that, super excited about this, markerless AR is pretty amazing.

    Other good example projects that I wish were in the Unity-ARkit source would be:

    Ground plane overlay with water/lava/grass/etc with vehicles cruising ontop with some kind of projectiles going back and forth.



    Shooter

     
    Last edited: Jun 11, 2017
    Gametyme and JoeStrout like this.
  42. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Thanks for the suggestions Blarp. We are excited to see all the different content that people have already come up with using the plugin e.g the shooter you linked. Started a twitter feed with the ones we find: https://twitter.com/jimmy_jam_jam. We are looking into making better examples, but we wanted to make sure we had the functionality available to let Unity developers easily create or adapt their own content. The other examples you have pointed to should be pretty straightforward to implement with the plugin functionality. e.g. The ARKit-Demo is just a list of prefabs that you can place on any plane that is found.
     
    Blarp likes this.
  43. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    Earlier in this thread, someone was looking into a mixed reality app something like what you envision.
     
  44. Blarp

    Blarp

    Joined:
    May 13, 2014
    Posts:
    269
    I really look forward to your updates. Will be checking this thread every single day for the next month for sure.

    Thanks for the reply on the weekend, A+ bro.

    This is some real cutting edge stuff, I've mainly been webgl/webplayer(RIP) for the past 6 years.
     
  45. kaushik-d

    kaushik-d

    Joined:
    Aug 25, 2011
    Posts:
    19
    So, I haven't been able to run the demo on iPad Air2 successfully. It shows a blue screen and nothing else. I have followed what @jimmya mentions here but with the same result. I understand the device wouldn't support full tracking but wanted to try it out - don't have a higher end device to test out at the moment. Is anyone facing the same problem?
    Here's what XCode output looks like:
    Code (CSharp):
    1. 2017-06-11 22:33:28.525577+0530 arkitscene[341:46203] [DYMTLInitPlatform] platform initialization successful
    2.  
    3. 2017-06-11 22:33:28.603997+0530 arkitscene[341:46101] -> registered mono modules 0x10495d230
    4. 2017-06-11 22:33:28.619281+0530 arkitscene[341:46209] [] <<<< FigVirtualFramebufferServer >>>> FigVirtualFramebufferGetMaxCount: unsupported operation
    5. 2017-06-11 22:33:28.619357+0530 arkitscene[341:46209] [] <<<< FigVirtualFramebufferServer >>>> FigVirtualFramebufferGetFramebufs: unsupported operation
    6. 2017-06-11 22:33:28.619379+0530 arkitscene[341:46209] [] <<<< FigVirtualFramebufferInstallation >>>> FigInstallVirtualDisplay_block_invoke: FigVirtualFramebufferGetFramebufs failed (0 framebufs)
    7. 2017-06-11 22:33:28.747636+0530 arkitscene[341:46101] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    8. -> applicationDidFinishLaunching()
    9. Player data archive not found at `/var/containers/Bundle/Application/904400A1-1BFE-46D4-AEC1-3E34B4D56AFA/arkitscene.app/Data/data.unity3d`, using local filesystem2017-06-11 22:33:28.802727+0530 arkitscene[341:46101] Metal GPU Frame Capture Enabled
    10. 2017-06-11 22:33:28.803376+0530 arkitscene[341:46101] Metal API Validation Disabled
    11. 2017-06-11 22:33:28.846581+0530 arkitscene[341:46101] libMobileGestalt MobileGestaltSupport.m:153: pid 341 (arkitscene) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
    12. 2017-06-11 22:33:28.846666+0530 arkitscene[341:46101] libMobileGestalt MobileGestalt.c:555: no access to InverseDeviceID (see <rdar://problem/11744455>)
    13. -> applicationDidBecomeActive()
    14. GfxDevice: creating device client; threaded=1
    15. Initializing Metal device caps: Apple A8X GPU
    16. Initialize engine version: 5.6.1p2 (fb53d44a1e84)
    17. =================================================================
    18. Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
    19. PID: 341, TID: 46210, Thread name: (none), Queue name: NSOperationQueue 0x1c003a8c0 :: NSOperation 0x1c805ede0 (QOS: DEFAULT), QoS: 21
    20. Backtrace:
    21. 4   arkitscene                          0x0000000103cd1520 UnityCurrentOrientation + 60
    22. 5   arkitscene                          0x0000000103cbf19c __UnityCoreMotionStart_block_invoke + 108
    23. 6   Foundation                          0x00000001855a2de4 <redacted> + 16
    24. 7   Foundation                          0x00000001854e32e0 <redacted> + 96
    25. 8   Foundation                          0x00000001854d3280 <redacted> + 620
    26. 9   Foundation                          0x00000001855a574c <redacted> + 228
    27. 10  libdispatch.dylib                   0x00000001a6b8e2bc <redacted> + 16
    28. 11  libdispatch.dylib                   0x00000001a6b9857c <redacted> + 532
    29. 12  libdispatch.dylib                   0x00000001a6b98fa8 <redacted> + 332
    30. 13  libdispatch.dylib                   0x00000001a6b99b28 <redacted> + 388
    31. 14  libdispatch.dylib                   0x00000001a6ba2368 <redacted> + 864
    32. 15  libsystem_pthread.dylib             0x00000001a6e251e8 _pthread_wqthread + 924
    33. 16  libsystem_pthread.dylib             0x00000001a6e24e40 start_wqthread + 4
    34. 2017-06-11 22:33:29.365941+0530 arkitscene[341:46210] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
    35. PID: 341, TID: 46210, Thread name: (none), Queue name: NSOperationQueue 0x1c003a8c0 :: NSOperation 0x1c805ede0 (QOS: DEFAULT), QoS: 21
    36. Backtrace:
    37. 4   arkitscene                          0x0000000103cd1520 UnityCurrentOrientation + 60
    38. 5   arkitscene                          0x0000000103cbf19c __UnityCoreMotionStart_block_invoke + 108
    39. 6   Foundation                          0x00000001855a2de4 <redacted> + 16
    40. 7   Foundation                          0x00000001854e32e0 <redacted> + 96
    41. 8   Foundation                          0x00000001854d3280 <redacted> + 620
    42. 9   Foundation                          0x00000001855a574c <redacted> + 228
    43. 10  libdispatch.dylib                   0x00000001a6b8e2bc <redacted> + 16
    44. 11  libdispatch.dylib                   0x00000001a6b9857c <redacted> + 532
    45. 12  libdispatch.dylib                   0x00000001a6b98fa8 <redacted> + 332
    46. 13  libdispatch.dylib                   0x00000001a6b99b28 <redacted> + 388
    47. 14  libdispatch.dylib                   0x00000001a6ba2368 <redacted> + 864
    48. 15  libsystem_pthread.dylib             0x00000001a6e251e8 _pthread_wqthread + 924
    49. 16  libsystem_pthread.dylib             0x00000001a6e24e40 start_wqthread + 4
    50. UnloadTime: 3.495208 ms
    51. 2017-06-11 22:33:31.408664+0530 arkitscene[341:46101] [Session] Unable to run the session, configuration is not supported on this device: <ARSessionConfiguration: 0x1c0472800 worldAlignment=Gravity lightEstimation=Enabled>
    52. 2017-06-11 22:33:31.429543+0530 arkitscene[341:46194] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    53. 2017-06-11 22:33:31.442183+0530 arkitscene[341:46101] AR FAIL
    54. 2017-06-11 22:33:31.477036+0530 arkitscene[341:46210] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    55. 2017-06-11 22:33:32.089700+0530 arkitscene[341:46193] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    56. -> applicationWillResignActive()
    57. -> applicationDidEnterBackground()
    58.  
     
  46. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    Okay cool finally got it working the problem was that i didnt set teh camera description, so if you get a similar error do that first.

    The slam tracking seems to work pretty great.

    So heres what I want to be able to do, place the nodes in 3d space and then do a pathfinding solution (like in this video -- I dont really care about the world geometry). So the question is it possible to "save" the blocks in real world space, I mean so lets say I mapped out a route from the start of the mall to a certain store, would I always be able to use it. Or is just relative to where you started doing the simulation.


     
    Last edited: Jun 11, 2017
  47. WonkeeKim

    WonkeeKim

    Joined:
    Apr 8, 2013
    Posts:
    19
    christophergoy and jimmya like this.
  48. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    kaushik-d sorry about that - the original docs stated that, but brunodp found out that the beta sdk does not actually support older devices yet. I will try to update all the docs.
     
    kaushik-d likes this.
  49. onchekwu

    onchekwu

    Joined:
    Aug 18, 2013
    Posts:
    2
    Here's my environment :

    Unity 5.6.1p1
    iPhone 6s iOS 11 beta (15A5278f)
    XCode 9.0 beta (9M136h)
    macOS Sierra 10.12.5

    I'm getting a runtime crash when attempting to run the Xcode project for the Unity ARKit plugin (Unity-Technologies-unity-arkit-plugin-58ebebe064cd). I've already attempted following the directions that have been responded to which had similar errors, such as Jimmya's responses to WonkyKIM and Pebam. We've triple checked that there shouldn't be any signing issues. Could you help me with this?

    Here are the logs from XCode :

    Code (CSharp):
    1. 2017-06-11 17:06:47.608257-0700 ProductName[313:16021] [DYMTLInitPlatform] platform initialization successful
    2.  
    3. 2017-06-11 17:06:47.677659-0700 ProductName[313:15880] -> registered mono modules 0x102ed0930
    4. 2017-06-11 17:06:47.931690-0700 ProductName[313:15880] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    5. -> applicationDidFinishLaunching()
    6. PlayerConnection initialized from /var/containers/Bundle/Application/0711F4F7-E680-4C89-8AE4-4738B5F954B0/ProductName.app/Data (debug = 0)
    7. PlayerConnection initialized network socket : 0.0.0.0 55000
    8. Multi-casting "[IP] 192.168.1.2 [Port] 55000 [Flags] 3 [Guid] 3325690856 [EditorId] 1928838067 [Version] 1048832 [Id] iPhonePlayer(Obis-iPhone-6s):56000 [Debug] 1" to [225.0.0.222:54997]...
    9. Waiting for connection from host on [0.0.0.0:55000]...
    10. Timed out. Continuing without host connection.
    11. Started listening to [0.0.0.0:55000]
    12. Player data archive not found at `/var/containers/Bundle/Application/0711F4F7-E680-4C89-8AE4-4738B5F954B0/ProductName.app/Data/data.unity3d`, using local filesystem2017-06-11 17:06:53.041095-0700 ProductName[313:15880] Metal GPU Frame Capture Enabled
    13. 2017-06-11 17:06:53.043047-0700 ProductName[313:15880] Metal API Validation Disabled
    14. 2017-06-11 17:06:53.154089-0700 ProductName[313:15880] libMobileGestalt MobileGestaltSupport.m:153: pid 313 (ProductName) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
    15. 2017-06-11 17:06:53.154257-0700 ProductName[313:15880] libMobileGestalt MobileGestalt.c:555: no access to InverseDeviceID (see <rdar://problem/11744455>)
    16. -> applicationDidBecomeActive()
    17. GfxDevice: creating device client; threaded=1
    18. Initializing Metal device caps: Apple A9 GPU
    19. Initialize engine version: 5.6.1p1 (74c1f4917542)
    20. =================================================================
    21. Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
    22. PID: 313, TID: 16034, Thread name: (none), Queue name: NSOperationQueue 0x1c023eaa0 :: NSOperation 0x1c06425b0 (QOS: DEFAULT), QoS: 21
    23. Backtrace:
    24. 4   ProductName                         0x0000000101ac01cc _Z16GetAppControllerv + 64
    25. 5   ProductName                         0x0000000101ad8efc UnityCurrentOrientation + 16
    26. 6   ProductName                         0x0000000101ab8184 _Z20UnityReorientVector3fff + 36
    27. 7   ProductName                         0x0000000101ab807c __UnityCoreMotionStart_block_invoke + 292
    28. 8   Foundation                          0x00000001852e2de4 <redacted> + 16
    29. 9   Foundation                          0x00000001852232e0 <redacted> + 96
    30. 10  Foundation                          0x0000000185213280 <redacted> + 620
    31. 11  Foundation                          0x00000001852e574c <redacted> + 228
    32. 12  libdispatch.dylib                   0x00000001a6c0c2bc <redacted> + 16
    33. 13  libdispatch.dylib                   0x00000001a6c1657c <redacted> + 532
    34. 14  libdispatch.dylib                   0x00000001a6c16fa8 <redacted> + 332
    35. 15  libdispatch.dylib                   0x00000001a6c17b28 <redacted> + 388
    36. 16  libdispatch.dylib                   0x00000001a6c20368 <redacted> + 864
    37. 17  libsystem_pthread.dylib             0x00000001a6ea31e8 _pthread_wqthread + 924
    38. 18  libsystem_pthread.dylib             0x00000001a6ea2e40 start_wqthread + 4
    39. 2017-06-11 17:06:56.754602-0700 ProductName[313:16034] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
    40. PID: 313, TID: 16034, Thread name: (none), Queue name: NSOperationQueue 0x1c023eaa0 :: NSOperation 0x1c06425b0 (QOS: DEFAULT), QoS: 21
    41. Backtrace:
    42. 4   ProductName                         0x0000000101ac01cc _Z16GetAppControllerv + 64
    43. 5   ProductName                         0x0000000101ad8efc UnityCurrentOrientation + 16
    44. 6   ProductName                         0x0000000101ab8184 _Z20UnityReorientVector3fff + 36
    45. 7   ProductName                         0x0000000101ab807c __UnityCoreMotionStart_block_invoke + 292
    46. 8   Foundation                          0x00000001852e2de4 <redacted> + 16
    47. 9   Foundation                          0x00000001852232e0 <redacted> + 96
    48. 10  Foundation                          0x0000000185213280 <redacted> + 620
    49. 11  Foundation                          0x00000001852e574c <redacted> + 228
    50. 12  libdispatch.dylib                   0x00000001a6c0c2bc <redacted> + 16
    51. 13  libdispatch.dylib                   0x00000001a6c1657c <redacted> + 532
    52. 14  libdispatch.dylib                   0x00000001a6c16fa8 <redacted> + 332
    53. 15  libdispatch.dylib                   0x00000001a6c17b28 <redacted> + 388
    54. 16  libdispatch.dylib                   0x00000001a6c20368 <redacted> + 864
    55. 17  libsystem_pthread.dylib             0x00000001a6ea31e8 _pthread_wqthread + 924
    56. 18  libsystem_pthread.dylib             0x00000001a6ea2e40 start_wqthread + 4
    57. 2017-06-11 17:06:57.115602-0700 ProductName[313:15880] [] <<<< FigVirtualFramebufferServer >>>> FigVirtualFramebufferGetMaxCount: unsupported operation
    58. 2017-06-11 17:06:57.115694-0700 ProductName[313:15880] [] <<<< FigVirtualFramebufferServer >>>> FigVirtualFramebufferGetFramebufs: unsupported operation
    59. 2017-06-11 17:06:57.115720-0700 ProductName[313:15880] [] <<<< FigVirtualFramebufferInstallation >>>> FigInstallVirtualDisplay_block_invoke: FigVirtualFramebufferGetFramebufs failed (0 framebufs)
    60. UnloadTime: 7.620583 ms
    61. 2017-06-11 17:06:58.785203-0700 ProductName[313:16009] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    62. 2017-06-11 17:06:58.801490-0700 ProductName[313:16008] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    63. Setting up 1 worker threads for Enlighten.
    64.  Thread -> id: 17f367000 -> priority: 1
    65. 2017-06-11 17:06:58.982039-0700 ProductName[313:16034] [] network_config_register_boringssl_log_debug_updates Failed to register for BoringSSL log debug updates
    66.  
     
    Last edited: Jun 12, 2017
  50. jimmya

    jimmya

    Joined:
    Nov 15, 2016
    Posts:
    793
    It will work in the same way Hololens would in this case, but I don't think you will be able to use it in the way you think. ARKit does not know where you are whenever you start an ARSession, since it only keeps world tracking while the ARSession is active. But if for example you had kept the ARSession alive, or had some way of starting the ARSession in the same spot and looking the same way as when you started your ARSession for creating the nodes (e.g. by using a stand at the entrance of the mall), then the nodes you had saved should line up exactly.
     
    Aiursrage2k likes this.
Thread Status:
Not open for further replies.