{"id":5777,"date":"2019-04-12T17:11:34","date_gmt":"2019-04-12T21:11:34","guid":{"rendered":"https:\/\/blogs.swarthmore.edu\/its\/?p=5777"},"modified":"2019-04-22T12:25:17","modified_gmt":"2019-04-22T16:25:17","slug":"a-frame-the-webvr-framework-for-creating-3d-visualizations","status":"publish","type":"post","link":"https:\/\/blogs.swarthmore.edu\/its\/2019\/04\/12\/a-frame-the-webvr-framework-for-creating-3d-visualizations\/","title":{"rendered":"A-Frame, the WebVR framework for creating 3D visualizations"},"content":{"rendered":"<p class=\"p1\">Building interactive VR objects and environments for course materials or as course assignments has gotten much easier with the development of web frameworks such as <a href=\"https:\/\/aframe.io\/docs\/0.9.0\/introduction\/\" target=\"_blank\" rel=\"noopener\">A-Frame<\/a>. This framework leverages WebVR and WebGL APIs using a markup language that should be easy to understand for a beginning web developer. HTML elements are built within a webpage, and each element contains javascript functionality which can be customized to suit the design or interaction with the element. Not only does A-Frame enable one to create static 360\u00b0 content, it also can utilize <a href=\"https:\/\/aframe.io\/docs\/0.9.0\/introduction\/interactions-and-controllers.html\">positional tracking and controllers<\/a> to build interactions.<\/p>\n<p class=\"p1\">All you need to get going is to add a simple script tag to your page and begin using the custom elements. First you will create your space or &#8220;scene&#8221; using a\u00a0 &lt;scene&gt;&lt;\/scene&gt; tag and begin adding what A-Frame calls primitives. These are easy to implement elements that a designed to make building virtual objects\u00a0<a href=\"https:\/\/aframe.io\/docs\/0.9.0\/introduction\/html-and-primitives.html#primitives\">appealing for beginners<\/a>.<\/p>\n<p class=\"codepen\" style=\"height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid black; margin: 1em 0; padding: 1em;\" data-height=\"265\" data-theme-id=\"0\" data-default-tab=\"html,result\" data-user=\"mozillavr\" data-slug-hash=\"BjygdO\" data-pen-title=\"Hello World \u2014 A-Frame\">See the Pen <a href=\"https:\/\/codepen.io\/mozillavr\/pen\/BjygdO\/\"><br \/>\nHello World \u2014 A-Frame<\/a> by mozillavr (<a href=\"https:\/\/codepen.io\/mozillavr\">@mozillavr<\/a>)<br \/>\non <a href=\"https:\/\/codepen.io\">CodePen<\/a>.<\/p>\n<p><script async src=\"https:\/\/static.codepen.io\/assets\/embed\/ei.js\"><\/script><\/p>\n<p>This code above produces the environment and objects seen here:<br \/>\n<a href=\"https:\/\/aframe.io\/examples\/showcase\/helloworld\/\" target=\"_blank\" rel=\"noopener\">https:\/\/aframe.io\/examples\/showcase\/helloworld\/<\/a>. Tap on the google icon to toggle a full screen view and then click in the space to move around.\u00a0A-Frame can be accessed through the browser as well as most VR headsets (Oculus Go\/Rift, Cardboard, Daydream, Vive, GearVR).<\/p>\n<p>Using this framework one can begin building molecular models, recreating historical spaces, designing stage and scene environments for performing arts, and so on. There are many <a href=\"https:\/\/aframe.io\/\">examples<\/a> of VR projects, each with code displays to get you going on building a project with this powerful framework. Visit\u00a0<a href=\"https:\/\/aframe.io\/docs\/0.9.0\/introduction\/\" target=\"_blank\" rel=\"noopener\">https:\/\/aframe.io\/docs\/0.9.0\/introduction\/<\/a> to begin learning.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building interactive VR objects and environments for course materials or as course assignments has gotten much easier with the development of web frameworks such as A-Frame. This framework leverages WebVR and WebGL APIs using a markup language that should be &hellip; <a href=\"https:\/\/blogs.swarthmore.edu\/its\/2019\/04\/12\/a-frame-the-webvr-framework-for-creating-3d-visualizations\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">A-Frame, the WebVR framework for creating 3D visualizations<\/span><\/a><\/p>\n","protected":false},"author":65,"featured_media":5795,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,76,125,304,105],"tags":[],"class_list":{"0":"post-5777","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-academic-technology","8":"category-digitaltools","9":"category-open-source","10":"category-web-development","11":"category-web-projects","13":"fallback-thumbnail"},"jetpack_featured_media_url":"https:\/\/blogs.swarthmore.edu\/its\/wp-content\/uploads\/2019\/04\/A-Frame.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph2nPL-1vb","_links":{"self":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/comments?post=5777"}],"version-history":[{"count":9,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5777\/revisions"}],"predecessor-version":[{"id":5787,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/posts\/5777\/revisions\/5787"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/media\/5795"}],"wp:attachment":[{"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/media?parent=5777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/categories?post=5777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.swarthmore.edu\/its\/wp-json\/wp\/v2\/tags?post=5777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}