HOW TO USE ARKIT WITH THE WRLD UNITY SDK

WRLD recently announced that they are working in ARKit. Weve had a lot of interest since this should here our steps for anyone wanting to get started ARKit and WRLD SDK

Please check the requirements mentioned in the Unity-ARKit-Plugin for the software and hardware required for ARKit.

To get started simply set the platform to iOS on your project and follow the steps below.

Step 1: Import ARKit Unity Plugin

The team at Unity has created a great plugin that allows us to utilize ARKit easily in any Unity projects. Currently it requires that you are using Unity version v5.6.1p1 or later. For detailed documentation please see the download page for the ARKit Plugin.

Step 2: Import WRLD Unity SDK from Asset Store

Download and import the WRLD Unity SDK. If you need a key and then click “Get Key” when prompted or simply click later if you already have one.

Step 3: Modify a couple of files

WRLD SDK is built to be used with real world scale such that 1 unit in Unity is considered 1 meters. You can read more about our coordinate system on our Unity documentation. ARKit however require objects to be quite small, so we will need to scale down our map. In order to do that we need to add a couple of lines of code in our SDK. We will add an API to enable this more seamlessly in future release.

In /Assets/Wrld/Scripts/Streaming/GameObjectFactory.cs go to Method CreateGameObject and Add

Below

In /Assets/Wrld/Scripts/Streaming/GameObjectRepository.cs go to Constructor and Add

Below

Step 4: Making a scene for ARKit

Create a new scene so we can set up ARKit and follow the steps below.

    • Create a new GameObject called CameraParent and make Main Camera its child.
    • On Main Camera make the following changes
    • Building Control system status
      • Set Clear Flags to Depth Only
      • Set Field of View to 60
      • Set Clipping PLanes to 0.1 Near and 30 Far
      • Set Depth to 0
      • Add Component UnityARVideo (In Clear Material set YUVMaterial)
      • Add Component UnityARCameraNearFar
      • See the image below for reference
       Untitled 1
    • Create a new GameObject and name it ARCameraManager
      • Add Component UnityARCameraManager
      • In Camera field drag drop our Main Camera
       Untitled 2
    • Save your scene.

And that’s it!, ARKit is ready to be used.

Step 5: Setting up WRLD SDK

Now that we have ARKit ready, we can start setting up our map. Follow the instructions below.

  • Setup iOS Assets through the Assets Menu.
  • Untitled 3
  • Create a new Camera and name it Streaming Camera. We will use this camera to stream our map. Disable the Camera component as we will not be using this to draw anything.
    • Set Y position to 1000. This means we will be streaming from an altitude of 1000 Meters.
    • Set X rotation to 90 so our StreamingCamera looks towards ground.
    • Remove all the extra components such as AudioListener etc
    • Set Near to 10 and Far to 5000
    • Untitled 4
  • Create a new GameObject and name it WRLD Map.
    • Add component WRLD Map
    • Set your API Key
    • Set Camera to StreamingCamera
    • Set scale to 0.001
    • Set y position to -0.3
    • Set the Latitude to 40.748376 and Longitude to -73.985632
    • Untitled 5
  • Save your scene.

We are now ready to view WRLD Map in ARKit.

Step 6: Build Unity Project

We have completed all the necessary steps, we can finally build our xcode project and see it running on an iOS Device.

If you are having trouble with compiling libStreamAlpha.a then just set “Enable Bitcode” to No in Xcode Build Settings. Also make sure that you add Camera Usage Description for iOS in Player Settings->Other Settings.

If you are having trouble getting shadows then you might need to go to quality settings and set the Shadow distance to 2 and Shadow Near Planes to 0.01.

Step 7: Further improvements

Now that you have a working project with WRLD in ARKit you can start to build new exciting things. Read more WRLD blogs here

Like Hassan Sadiq on Facebook here, Follow Hassan Sadiq on Twitter here and Read more Hassan Sadiq blogs here

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s