Giter Site home page Giter Site logo

echo3dco / ios-arkit-echo3d-demo-town-builder Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 2.0 21.59 MB

Simple town builder demo with iOS (Swift/Xcode), ARKit, and echo3D.

Home Page: https://www.echo3D.com

License: Other

Swift 100.00%
arkit swift augmented-reality ios echo3d

ios-arkit-echo3d-demo-town-builder's Introduction

iOS-ARKit-echo3D-Demo-TownBuilder

This is a tabletop augmented reality iOS demo app, built with the echo3D Swift SDK, that allows users to build virtual neighborhoods on horizontal surfaces. This project requires you to enter your echo3D API key or entry IDs.

Setup

  • Register for FREE at echo3D.
  • Clone this repository and open in XCode.

Video

  • See on Youtube here.

Steps

  • Open ARTownBuilderDemo.xcodeproj using Xcode (Note: If you have Xcode downloaded you simply double click the file to open).
  • Go to the "Signing & Capabilities" tab in Xcode and fill out your signing information. See more details here.
  • Go to the Echo3D.swift file and insert your API key as a string where it says "insert API key here" on line 22.
  • Add models to the echo3D console or choose from our library.
  • Go to the ViewController.swift file, add the entry ID's for 3D content you have added to your echo3D console where it says "insert entry ID here" on lines 27 - 34.
    APIKeyandEntryId
  • Uncheck the “Enable Secret Key” box in your echo3D console (Note: For a production build, it’s best to add the echo3D security key to the echo3D.cs script so it remains secure). You can add the security key to the Echo3D.swift file on line 24.
  • Connect your iPhone to your computer.
  • Select your iPhone on the dropdown list of devices to run the demo app on.
  • Press the Play button to build and run (Note: your device must be unlocked and in Developer Mode to run).

Run

  • Move your phone around a horizontal surface to scan a plane.
  • If the "Add" button is selected, choose an object to add and touch somewhere on your horizontal plane to add it.
  • If any other edit buttons are selected such as drag, rotate, or delete, tap or drag on the object you would like to edit.
  • Objects can be scaled at any time by doing the two finger pinch gesture on them.

Learn More

Refer to our documentation to learn more about how to use echo3D and the Swift SDK.

Troubleshooting

Visit our troubleshooting guide here.

Support

Feel free to reach out at [email protected] or join our support channel on Slack.

Screenshots

screenshot screenshot screenshot

Additional Notes

Users can drag nodes to be buried underneath the horizontal plane. Because dragging the horizontal plane itself is not allowed in the demo, this then gets the node stuck underneath the plane.
* Depending on use case, this can be solved by allowing the editing of the horizontal plane (see the isPlane() function).
* Note: Toggling the horizontal plane toggles visibility, but the plane node is still in the scene.

Images of the default entries for the demo

deer and table house and pool mailbox and bike road and tree

Demo created by Daye Jack.

ios-arkit-echo3d-demo-town-builder's People

Contributors

alon-grinshpoon avatar echo3dbebe avatar echo3dco avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 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.