Skip to content

codeLabs-summer2021/3D-Model-World

Repository files navigation

3D Model World

"A real world environment to place, view, and share all your 3D models."
View Live App »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Features
  4. Roadmap
  5. Contributing
  6. Acknowledgements
  7. Contact

About The Project

3D Model World allows users to upload their own 3D models (photogrammetry or otherwise created) into a real-world environment using a map API. The user can then name, move, re-size, and rotate their models to their liking. Once a user has a map instance created, they can then share their URL with others to show off all their work and models.

Motivation

There have been a lot of attempts to build something similar like this. (See for example Sketchfab's experiment and Polycam's map).

Our team thought it would be nice to expand on these great ideas and merge the 2D maps and 3D objects together. Doing this will let the user show the 3D objects embedded directly on a single interactable map. The great benefit here is that all objects can now be compared and viewed in a single environment. This also provides a true appreciation of scale.

Besides just the prior attempts to make something like this there is a huge community of people scanning 3D objects, (see the hashtags #objectcapture or #1scanaday on Twitter). As of right now these people don't have an efficient way to show off all their scans in a single environment; 3D Model World fixed that.

Built With

Getting Started

Install

Make sure you have at least npm: 7.#.# and node: 14.#.#

  1. Clone the repo
    git clone https://github.com/codeLabs-summer2021/3D-Model-World.git
  2. Install NPM packages
    npm install
  3. Run the app
    npm start

Use

To use the app, follow these simple steps:

  1. Make sure you have a Sketchfab account. (Completely free to create).
  2. Click the Menu button.
  3. Click Login to Sketchfab.
  4. Once you authorize the app to connect to your Sketchfab account you can now use the app.

Features

Load Models

Loading models is as simple as copy/paste. Just click on the Menu button and navigate to the Add Model section. Now simply copy the Sketchfab URL of the desired model and paste it in the ‘URL’ box. Fill out the rest of the information about the model and click ‘Add’. The App will let you know the loading progress and whether it was successful or not. From here you can display your model or load another.

Models List

All existing models in your map will be shown in the Model List in the Menu. This list will make it easy to locate and delete your models.

Move Models

Moving a model is as easy as right-clicking.

Terrain

Terrain is active so you can see your models compared to the real world environments.

Buildings

Building toggle is also an option for those who are curious how a model fairs compared to real buildings.

Search Bar

Type in a location and see the camera move smoothly to the destination.

Compass

Got turned upside down? Simply reorient yourself with the compass button.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Any contributions are greatly appreciated. Please feel free to add any features or fixes you like. We will review the PR and be happy to add your work to this project.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

Acknowledgements

Creation of App:

This app's creation started during the 2021 summer CodeDay Labs. It was created by Caleb McOlin and Rodrigo Andrade with Omar Shehata as the mentor.

Models used in example gifs:

Contact

About

A real world environment to place, view, and share all your 3D models.

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •