Code Monkey home page Code Monkey logo

marospekarik / decawave-unity-greenscape Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 196.86 MB

Greenscape is an interactive installation located in mixed reality space that is facilitating an experience of exploration of an augmented reality soundscape of Karolinelund park in Aalborg, Denmark. The user is walking through space encouraged to discover a wide range of sound elements located in the audio augmented reality soundscape.

C# 98.72% ShaderLab 0.79% Objective-C 0.20% Objective-C++ 0.30%
dwm1001 mixed-reality spatial-audio augmented-reality installation-art installation unity unity3d decawave position-tracking

decawave-unity-greenscape's Introduction

decawave-unity-greenscape

Tags: #mixed-reality #augmented-reality #DWM1001 #spatial-sound #MQTT #unity

IMAGE ALT TEXT HERE

What is the project about?

Greenscape is an interactive installation located in mixed reality space that is facilitating an experience of exploration of an augmented reality soundscape of Karolinelund park in Aalborg, Denmark. The user is walking through space encouraged to discover a wide range of sound elements located in the audio augmented reality soundscape. User can experience an auditory illusion of a different sound sources within the physical and digital space, which are temporally blended together. The sounds change in volume and stereo positioning depending on the user’s real-life location and head orientation within the space.

How does that work?

This repository aims to demonstrate the connection between MDEK1001 and Unity over network through MQTT protocol. Decawave's system can calculate X, Y, Z position of the tags with around 10 cm of accuracy. We use this positional system in Unity virtual environment, where we designed different sound sources with 3D spatial properties. Their location is carefully aligned with the specific physical location to create a mixed reality spatial sound experience. This project also try to provide an example of using such technology together with smartphone devices running Android to present the sound binaurally over headphones and achieve appropriate mobility.

We are using Unity v 2019.1.0f2 to build the app for smartphones, taking advantage of their computational power for quality audio processing and build-in orentation sensor. We use this together with Resonance Audio to provide a proper stereo panning suitable for experiencing the three-dimensional sound.

Installation

  1. Follow Gateway Quick Deployment Guide which is a part of DWM1001, DW10001-DEV and MDEK1001 Documents under Product Documentation of MDEK1001 Development kit to gather data about the all DWM tags and share them over network through MQTT protocol. Don't forget to set up network for Raspberry with wpa_supplicant.conf described in the guide.

    Gateway: R3B plus one of the DWM1001 development board

  2. Follow MDEK1001 Quick Start Guide to create a DRTLS network

  3. To receive MQTT data in Unity, the clients and Raspberry Pi needs to be connected to the same network. Mqtt Client script need to be adjusted to the IP address corresponding to IP address of Raspberry pi on our network, MQTT username and password defined during our Gatewave installation, and topics we want to subscribe (in this case we care only about the tags and their location).

    Mqtt Client script process data coming from DWM1001 gateway which is attached to the Player game object.

    The Main Player represents the main camera view. If we want to run multiple players on multiple app instances, we need to build another app with the different tag for the Main Player, or provide some interface for switching between the MQTT tag subscription.

  4. Additonally follow Resonance Audio setup in a case that spatial audio is not working

  5. Build the app for android and connect the device with the same network

All scripts + additional scripts that controlls moving game objects can be found in src/Assets/Scripts

decawave-unity-greenscape's People

Contributors

marospekarik avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.