Skip to main content

Week 2 Update

Greetings!

During this past week, I have engineered the main functionalities of my app - fetch models, display models and project models with Augmented Reality. Here's a rundown of all the details:
  • Fetch models with URL or use the default model - the app displays an interface for picking models. The user can enter the urls themselves, or use the default wigwam model.
  • View and manipulate the model: 
    • Zoom, move and rotate model with gestures
    • Manipulate the color of the model with segmented control
    • Adjust light intensity with slider
    • Change the position of the light with a tap on the scene
    • Settings Page
      • Change the scale factor used for the AR model
      • Pick from light types: omnidirectional, directional, probe, spot or ambient
      • Pick from blend modes: add, alpha, multiply, subtract, screen or replace
      • Animations! Choose from no animation or infinite rotation
  • Project models to the real world with Augmented Reality
    • Wait until the device has found a surface to place the model.
    • This app will highlight the the plane detected by ARKit.
    • Once the plane is shown, tapping the plane will place the AR model on the plane
    • Once the model is loaded, pan gesture can be used to adjust the position of the light projected onto the model.
    • The AR model inherits all the settings from the previous SceneKit view.
Here's a few screenshots of this awesome app:

AR Plane Detection

Model Projected with AR

Model Projected with AR

Regular Model Viewer

Model Picker Page

Settings Page










Comments

Popular posts from this blog

Week 8

Greetings, During this past week, I've made much progress on both the iOS and Android ports of 3D Visualizer. For iOS, I added a feature which allows the user to import the 3D model from a third party source (e.g. email attachment or iCloud Drive Documents) into the app and visualize it. The user will have options to save/delete the model on device.  I consider this as a very important addition to the features this app provides, as the user can design their wigwaams on the CSDT website, export the STL file, and then visualize it with the app. As for Android, I've started making the UI for this app. Here's a snapshot:                                                      Thanks for viewing!

Week 5

Hi All! This week I spent more time being a graphic designer rather than being a programmer, as I watched a couple of WWDC videos on app icon design, and crafted an icon for this 3D visualizer app. I thoroughly laid out the design on the official Apple icon grid. Eventually, a design I really liked came out: In addition, I crafted a new feature and fixed a few bugs: New feature: Added a switch in settings so that the user can use the slider for two purposes:  Adjust the intensity of the light illuminating the model Adjust the color temperature of the light illuminating the model Bug Fixes: Fixed a bug where the images in the 2D model image grid would randomly change when scrolling Fixed a bug where the checkmarks in the settings page would randomly appear and disappear Thanks for viewing and have a wonderful week!

Week 10-11

Hello Reader, During the past 2 weeks, I implemented features which takes advantage of force touch on iPhones, as well as features added to AR APIs in iOS 11.3. The first feature is force touch (known as 3D Touch on iOS). The user can force touch on the app icon on the home screen to quickly access the features that interest them the most (Open from URL, Open Default Model and Open List). This is known as Home Screen Quick Actions on iOS. Another feature I've implemented is peek & pop (force touch to peek at the contents, and press harder to view in full detail). The user can peek at the 3D models saved on device, as well as the contents in the grid view (the server page). For the on-device-model peek, the user can swipe up and view in augmented reality directly. In addition, with the release of iOS 11.3, Apple introduced ARKit 1.5, which introduced some new features. One of them is the ability to project model on a vertical surface. This is the feature I'v...