/Unity-AR-Navigation

unity 实现的ar导航项目

Primary LanguageC#

Unity-Indoor_AR_Navigation

It's Indoor AR Navigation made with Unity.

-Presentation video(Youtube) : https://www.youtube.com/watch?v=FAvtQBpd92M
-Demo video(Youtube) : https://youtu.be/loPQTEZ4DV0

The interior of the large building is very spacious and there are many roads, so it’s not easy to get to the desired location. The building may have a map, but you can’t memorize each one.

So, to relieve this inconvenience, we made an indoor AR navigation system. It can be used anywhere 3D modeling is prepared!

  • guide the user on the way
  • AR environment for easy and visual help
  • providing additional information

System Flow :

How Navigation work :

3D modeling Dijkstra Algorithm
Algorithm making list of points to destination Arrow
  • The AR navigation we produced does not use the GPS function. We planned a program to check the movement through the virtual 3D map and the user’s camera and show the objects placed in the AR environment.

  • Start the search based on the destination and explore the shortest path by using Dijktra algorithm.

  • Navigation function make list of each point that contains next point to go. Based on this information, route is made from start to destination.

  • Every time user reachs a point, navigation get that point's value and check it. If it matches with the value from the 'Landmark', Assign a next location's value in 'Landmark'.

  • The arrow always point to the next location by using 'lookat' function in unity.

How to use it? :

Recognize maps modeled with QR codes. 2D minimap showing the user's current location.
UI indicating the remaining distance to the next point. Allows users to search for destinations they want.
  • When the QR code is recognized, the 3D modeled map is brought into the AR environment.

  • After that, when the user clicks on the desired destination, the shortest distance is obtained by using the navigation algorithm to the destination.

  • The shortest distance obtained above includes an intermediate point, and the nearest intermediate point from the user is referred to as the next arrival point.

  • Here, the arrow indicating the direction, the distance remaining to the next arrival point, and the 2D mini-map make it easier for users to navigate.

  • When you arrive at the arrival point, set the middle point to the arrival point and update the direction of the arrow, the remaining distance, and the mini map.

  • The goal of this project is to make it easier for users to find their way to the desired destination in this way.

Environment :

Unity 2021.1.5f1
ARCore XR 4.2.2
AR Foundation 4.2.2
AT+ Explore 1.4.9f3
SketchUp

Requirements and supported device :

Our project is using ARcore package to show AR environment within Unity. That's why you need to use a device that supports ARCore.

Android)

Android 8.1 (API 27) or later is required.

  • The rear (world) camera is emulated as a virtual scene.
  • Front (selfie) cameras are not supported.

iOS)

The current project is based on Android, but the Unity project settings allow you to add an iOS experience.
The device must support ARKit. Lowest possible deployment target is iOS 12.0, but latest iOS 14.0 is strongly recommended.

Member:

  • [Kwon Soon Wan] @RootOfGroot / AI-Software Gachon UNIV.
  • [Jeon Tak] @JEONTAK / AI-Software Gachon UNIV.
  • [Hwang Seong Min] @tnfpck0306 / AI-Software Gachon UNIV.