Exploring AFrame

Dinosaur World

Dinosaur World was the first exploration into 3D models found at Sketchfab. Having found a few models of dinosaurs, I was inspired to create a world where you could view these dinosaurs. Using AFrame, I learned to load assets, render <a-entity > with gltf-model, environment and text as well as react to mouse enter and leave events on an entity in order to display a panel of information.

As a side project, I added a small Flask application to externally serve a locally hosted version of Dinosaur World.

View

Character World

Character World was born from the discovery of the animated walking 3D model found at Sketchfab of Kitana from Mortal Kombat. I struggled with getting the 3D model to animate until I found the aframe-extras library and adding the animation-mixer attribute to the entity.

Character World also explored dynamically controlling the position and rotation of a 3D model.

View

Box World

Box World explored dynamically creating
<a-box> and randomizing the color and position in the world. One box was used to explore dynamically moving through the x,y, and z axis. There is also a <a-torus-knot> at (0,0,-5) just for fun. I also had the opportunity to experiment with the animation attribute of entity to rotate it.

View

AR Playground

AR Playground was the initial project that inspired the exploration in AFrame. Using AR.js I could display 3D models upon viewing Hiro and Kanji markers with a camera.

Building on the initial examples, I started to explore location based markers unsuccessfully. Included in the AR Playground is an example that retrieve GPS location via navigator.geolocation.

View