Fire Rescue AR Guidance System
This repo is for the Project of Fire Rescue Evacuation Command Helmet. It assits firefighters to take more efficient rescue in the buildings on fire. It can provde 3D model, visual guidance arrow, visual enhancement based on HoloLens.
Click the image below to watch the video.
Required Software
- Unity 2017.1
- Visual Studio 2015 (with Windows 10 SDK 10.0.10586)
How to Run
Download or Clone this repository, use Unity open the project.
In Unity editor,
- Go to
File/Build Settings
- Select
Universal Windows Platform
, clickSwitch Platform
- Set
Target device
toHoloLens
,Build Type
toD3D
,SDK
to10.0.10586.0
- Check
Unity C# Project
- Click
Build
, create a new folder namedApp
and select that folder
Go to ...\App\Frech.sln
, use Visual Studio open the project
In Visual Studio editor,
- Use USB connect HoloLens to your computer
- Change
Debug
toRelease
,ARM
tox86
, then chooseDevice
- Click
Debug\Run without Debug
How to Run in Unity 2017.2
When you use Unity 2017.2 open this project, choose something like Update Project
, Unity will automatically update those files to new Unity version. But when the project opens, you may still encounter some mistakes of scripts shown in the console. You just need to change all the VR
regarded as mistakes to XR
. For example,
- Change
Using UnityEngine.VR.WSA;
toUsing UnityEngine.XR.WSA;
- Change
VRDevice
toXRDevice
Program Structure
- Main Camera
HoloTooklit Prefab. Indicates user's head. The view of Camera is the view of user. - Directional Light
HoloTookit Prefab. Supplies the light for the environment, enhancing the view of user. - Cursor
Indicates the focus of uesr. The cursor will show in the surface of object that user is gazing. It will provide feedbacks for uesr.- CursorManager.cs
Manages the position and state of cursor object. If will change the shape when user gazes object or gazes environment. It will also show different extra tags when uesr is in different states.
- CursorManager.cs
- Manager
Empty object. Hold many important scripts.- SpeechManager.cs
Manages the voice command. - GazeManager.cs
Manages the virtual raycast. This script can return what object the user is gazing, the CursorManager.cs just draws the cursor. - GestureManager.cs
Manages the gesture command. - PointsManager.cs
Save current position as a key point. Create an sphere in current position, add World Anchor to it and save it to disk. - Route.cs
Detect which two key points the user is in.
- SpeechManager.cs
- DebugInformation
3DText object. It shows the information for user and developer.- DebugInfoManager.cs
Get the value for debugging from other scripts and shows them.
- DebugInfoManager.cs
- FITAll
FIT Building model. Presents the whole view of FIT.- ObjectPlacement.cs
Handles the event from GestureManager.cs - SingleFloorManager.cs
Handles the event from SpeechManager.cs
- ObjectPlacement.cs
- GuidedArrow
Arrow Object. Used for navigation for user.- GuidedArrow.cs
Manages the position and rotation of GuidedArrow object.
- GuidedArrow.cs
- SpatialMapping
HoloToolkit prefab. Used for detect the boundary of environment.- SpatialMappingObserver.cs
Elements of the mesh drawn on the surface of environment. - SpatialMappingManager.cs
Manages the detection process.
- SpatialMappingObserver.cs