Giter VIP home page Giter VIP logo

ar-fur-app-'s Introduction

Couch Mirage

Welcome to Couch Mirage!

Couch mirage is an augmented reality furniture design planner app similar to IKEA Place. Couch Mirage lets you place 3D models in your place. By utilizing ARCore and Sceneform libraries by google it allows you to visualize how furniture would fit to your home without ever going to the shop.
Currently Couch Mirage works only in Israel.

Couch Mirage is the final project in the university course #67625 at The Hebrew University in Jerusalem. See : https://shnaton.huji.ac.il/index.php/NewSyl/67625/2/2020/

Release

The app can be found on Google Play:

https://play.google.com/store/apps/details?id=com.huji.couchmirage

Latest version is v1.0.2

Features

  • Measuring real world location
  • Searching furniture with maximum measumrent
  • Placing 3D model of real furnitures! at home
  • Taking picture/ vidoe of model at your home
  • help page showing how to use the app

Supported devices

Go to :

https://developers.google.com/ar/discover/supported-devices

Demo

Screenshots

Main page searching for plane

screenshot 1

Main page plane discovered

screenshot 2

Main page measuring 3d box

screenshot 3

Furniture Catalog main papge

screenshot 4

Item catalog by category screen

screenshot 5

Item description screen

screenshot 6

The model has been placed!!

screenshot 7

Help page 1

screenshot 8

Help page 2

screenshot 8

project structure

.
├── ar                                      # arcore related logic
│   ├── CameraFacingNode.kt                 # a type of node always facing the camera
│   └── MyArFragment.kt                     # custom arframgent 

├── catalog                                 # contains the catalog screens logic
│   ├── CatalogFrontActivity.kt             # main page of the catalog(the one with the categories)
│   ├── DepartmentActivity.kt               # department page activit
│   ├── Department.kt                       # department item 
│   ├── DepartmentRecyclerAdapter.kt        # department adapter
│   ├── DepartmentSourceData.kt             # holds the department images
│   ├── Furniture.kt                        # data class representing a furniture
│   ├── ItemDetailsActivity.kt              #  activity showing details about ites.
                                               Also allows downloading a model to show
│   ├── ItemRecyclerAdapter.kt              # recycle adapter for items
│   └── LoadingDialogFragment.kt            # loading aimation fragment

├── greetings                               # contains logic regearding screens displaying on first app usage
│   ├── AboutAppFrag.kt                     # fragemnt showing details about the app
│   ├── AppDescriptionFrag.kt               # show how to use the app
│   ├── AppTechnicalDescriptionFrag.kt      # shows technical notes regardign ar
│   ├── GreetingActivity.kt                 # the activity showed to the user on first usage
│   ├── HomeFrag.kt                         # first page  showed in the greetnig fragment
│   ├── ObservableWebView.java              # webviewcustom   used to show the privacy notes
│   ├── PrivacyPolicyFrag.kt                # fragments show the privacy policy
│   ├── SquareImageButton.java              # sqaure image button.Extends Button class
│   └── VideoAppFrag.kt                     # video framenget of the video 
                                              shown to the user in the greetings pages

├── Help                                    # use help activit'ies related logic
│   ├── HelpActivity.kt                     # actvity that disaplys usage help to the user
│   ├── HelpDescriptionFrag.kt              # show how to use the app
│   ├── HelpTechnicalDescriptionFrag.kt     # shows technical notes regardign ar
│   └── HelpVideoFrag.kt                    # video framenget of the videds
                                              shown to the user in the help pages

├── InfoFAB.kt                              # the infofab shows no the camera activity.Top left panel
├── MeasurementBox.kt                       # holds logic regearding creating the 3d cube used to
                                              measure a reald world 3d sapcec
├── OpenCameraActivity.kt                   # the main activity.Holds the AR logic

└── utils                                   # utility classes
    ├── PhotoSaver.kt                       # saves ar scene photo
    └── VideoRecorder.java                  # records ar scene video

3D models

Our app uses Firebase as backend.

The models were takes from multiple sources. They were preprocessed using blender software and uploaded to firebase using python. See : https://github.com/arikzilWork/CouchMirageFirebaseLoader

List of 3d models sources

* https://free3d.com/3d-models/ikea

* https://www.polantis.com/ikea/arstid-wall-lamp

* https://www.turbosquid.com/Search/3D-Models/free/ikea

* https://clara.io/view/615465b6-822c-4e2a-9b7d-e77b816001a7#

* https://sketchfab.com/tags/ikea

* http://www.proviz.info/blog3dfreemodels/3dmodels-ikeafalster

* http://ikea.csail.mit.edu/

* https://3dbrute.com/33-ikea-sofa/

* https://cgtricks.com/high-quality-3d-models-ikea-proviz/

* https://3dwarehouse.sketchup.com/collection/ue790c74c-6a82-4077-92cd-7f6d2a5f1661/ikea?sortBy=createTime%20DESC&searchTab=model&hl=en&login=true

* https://3dwarehouse.sketchup.com/collection/c03129ceab823647aac2578a7b9ddb8c/2-IKEA-SOFA?sortBy=createTime%20DESC&searchTab=model&hl=en

* https://cgdownloads.com/download-slect-ikea-slakt-ikea-3d-model-free/

* http://www.cgchannel.com/2014/03/download-10-free-models-of-ikea-furniture-from-proviz/

* https://archibaseplanet.com/download/6f86e1ec.html

List of tools used

  1. Blender - used to edit/prepare models for ARCore to be displayed

  2. adobe after effects - used to prepare the instruction videos

  3. free logo design - used to create the icon

Credits

Ariel Zilbershtyin - Computer Engineering student at The Hebrew university University mail : [email protected]

Brahan Wassan - Math & Computer Science student at The Hebrew university University mail : [email protected]

ar-fur-app-'s People

Contributors

arikzilhuji avatar ariel-zilber avatar brahanu 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.