<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Andre Vasconcelos</title>
    <description>The latest articles on DEV Community by Andre Vasconcelos (@avasconcelos114).</description>
    <link>https://dev.to/avasconcelos114</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F52180%2F06a52b0a-9884-47f7-b09a-a41d4ff0aa22.jpeg</url>
      <title>DEV Community: Andre Vasconcelos</title>
      <link>https://dev.to/avasconcelos114</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/avasconcelos114"/>
    <language>en</language>
    <item>
      <title>The rise of WebVR (and how Aframe can help fill the content drought)</title>
      <dc:creator>Andre Vasconcelos</dc:creator>
      <pubDate>Mon, 15 Apr 2019 08:49:27 +0000</pubDate>
      <link>https://dev.to/wandererstudio/the-rise-of-webvr-and-how-aframe-can-help-fill-the-content-drought-i7l</link>
      <guid>https://dev.to/wandererstudio/the-rise-of-webvr-and-how-aframe-can-help-fill-the-content-drought-i7l</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Virtual reality has always been a topic of interest for the human population, as we've seen in movies, TV shows, books, and several forms of media that depict a distant future where reality itself has been replicated by technology, and that the bounds of what is possible can only be limited by one's own imagination.&lt;/p&gt;

&lt;p&gt;While we may not yet be in the dystopian world of The Matrix, we've began paving our way to it with the recent advancements of VR technology. &lt;/p&gt;

&lt;p&gt;Ever since Palmer Luckey re-ignited humanity's passion for the extraordinary with the introduction of Oculus' &lt;a href="https://xinreality.com/wiki/Oculus_Rift_DK1"&gt;development kit 1&lt;/a&gt;, HTC has come up with its own line of head mounted displays (HMDs for short), and Microsoft created an ecosystem for Virtual Reality, to which companies like ACER, HP, and Lenovo have created different versions of HMDs to be run on that ecosystem.&lt;/p&gt;

&lt;p&gt;This year is set to be an exciting year for VR, with the introduction of the Oculus Quest, a standalone &lt;a href="https://packet39.com/blog/2018/02/25/3dof-6dof-roomscale-vr-360-video-and-everything-in-between/"&gt;6DoF&lt;/a&gt; headset that doesn’t require a powerful gaming computer to run polished (albeit less graphically impressive) VR experiences, and new players like Valve introducing &lt;a href="https://www.inverse.com/article/54708-valve-index-vr-headset-release-date-price-specs-steam"&gt;its own take on VR&lt;/a&gt; with a new generation of controllers that track the movement of every finger. We'll also be getting a number of high-quality games like &lt;a href="https://www.oculus.com/asgards-wrath/?locale=en_US"&gt;Asgard's Wrath&lt;/a&gt; and a patch for &lt;a href="https://www.nomanssky.com/2019/03/no-mans-sky-beyond-vr/"&gt;No Man's Sky&lt;/a&gt; that enables full VR support.&lt;/p&gt;

&lt;p&gt;As exciting as most of the things mentioned above are, Palmer Luckey himself recently &lt;a href="http://palmerluckey.com/free-isnt-cheap-enough/"&gt;wrote an article&lt;/a&gt; claiming that even if we were to distribute free VR headsets to the population worldwide, VR would still be hard pressed to succeed at keeping people engaged. But why is that?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Content issue
&lt;/h2&gt;

&lt;p&gt;Currently the majority of VR content is being delivered in the form of games. It makes sense given that many gamers aren't as price sensitive as the rest of the population, if it means that they get a premium experience out of the deal.&lt;/p&gt;

&lt;p&gt;This becomes a problem, however, when trying to bring VR into the mainstream. Because even if we were to have cheap headsets available, there aren't many uses for them outside of gaming, where the non-gaming experiences currently available are limited to short stories, documentaries, or creative apps (3D modeling and drawing).&lt;/p&gt;

&lt;p&gt;And when it comes to creating a full ecosystem of Virtual Reality applications, there are still many bases left to cover that are left open; some of them include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fitness apps&lt;/li&gt;
&lt;li&gt;Educational apps&lt;/li&gt;
&lt;li&gt;Social Media apps&lt;/li&gt;
&lt;li&gt;Productivity apps&lt;/li&gt;
&lt;li&gt;Shopping apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Similarly to how the price of smartphones was justifiable because of the value brought to us by the App Store (or Google Play Store) and its diverse applications, VR will also require a certain amount of diversity and polish to its offerings in order to make the cost of a headset worthwhile. &lt;/p&gt;

&lt;p&gt;The problem with that is that developing for VR is a costly, time-consuming process, and most of the people with experience in the disciplines required to create VR apps, were people who were already in the creative industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enters WebVR and Aframe
&lt;/h2&gt;

&lt;p&gt;While there's little doubt that currently the most polished and performant applications are built on top of the Unity or Unreal game engines, a new emerging alternative is being introduced, as modern browsers like Firefox (or browsers created from the ground-up with VR in mind, like &lt;a href="https://www.supermedium.com/"&gt;Supermedium&lt;/a&gt;) begin to add support for the positional tracking of HMDs and controllers, as well as events triggered by these controllers.&lt;/p&gt;

&lt;p&gt;The folks behind the previously mentioned Supermedium browser have created their own library that's been built on top of &lt;a href="https://threejs.org/"&gt;Three.js&lt;/a&gt;, called &lt;a href="https://aframe.io"&gt;Aframe&lt;/a&gt;. Aframe enables you to create a 3D scene, import your own models, add objects and text, all with HTML and Javascript.&lt;/p&gt;

&lt;p&gt;This is important because Aframe:  &lt;/p&gt;

&lt;h3&gt;
  
  
  1. Lowers the technical barriers to entry
&lt;/h3&gt;

&lt;p&gt;Developing for VR, as opposed to developing traditional websites, already include a plethora of new areas and topics to explore, such as creating and adding 3D models to your scene, adding sounds to enrich the experiences you're creating, and creating interfaces that are tailored for VR motion controllers.&lt;/p&gt;

&lt;p&gt;While none of the above are trivial things to learn on their own, having to learn how to develop on Unity or Unreal engines (including brushing up your C# or C++ skills) on top of that makes it incredibly time-consuming and difficult for any given individual to get started on bringing their ideas to life.&lt;/p&gt;

&lt;p&gt;At the very least with Aframe, you get to use your pre-existing knowledge of HTML and Javascript to be used as a foundation on which to build your ideas on top of. And with the many readily-made components, you can quickly put together a prototype, and work towards building a finished product.&lt;/p&gt;

&lt;p&gt;But just how difficult is it to build a VR scene on Aframe?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://aframe.io/releases/0.9.0/aframe.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a-scene&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-box&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"-1 0.5 -3"&lt;/span&gt; &lt;span class="na"&gt;rotation=&lt;/span&gt;&lt;span class="s"&gt;"0 45 0"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#4CC3D9"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-box&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-sphere&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"0 1.25 -5"&lt;/span&gt; &lt;span class="na"&gt;radius=&lt;/span&gt;&lt;span class="s"&gt;"1.25"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#EF2D5E"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-sphere&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-cylinder&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"1 0.75 -3"&lt;/span&gt; &lt;span class="na"&gt;radius=&lt;/span&gt;&lt;span class="s"&gt;"0.5"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"1.5"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#FFC65D"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-cylinder&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-plane&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"0 0 -4"&lt;/span&gt; &lt;span class="na"&gt;rotation=&lt;/span&gt;&lt;span class="s"&gt;"-90 0 0"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#7BC8A4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-plane&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-sky&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#ECECEC"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-sky&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/a-scene&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;As seen above, a few lines is all it takes to create 3D objects and initialize a scene you can explore not only in VR, but also with your standard desktop or mobile browser.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Increases the diversity of creators
&lt;/h3&gt;

&lt;p&gt;I'll admit, I'm making the assumption right now that most of the folks who can build experiences on Unity and Unreal engine are the ones who work within the entertainment industry, be it developing games, animations, or educational content that can be viewed in 3D. But I feel somewhat confident in saying that the people who have extensive amounts of experience in a specific industry, say, developing B2B productivity tools, will for the most part not be too familiar with game engines.&lt;/p&gt;

&lt;p&gt;This means that the ease of development brought by Aframe enables people from various areas of expertise to try their hand at bringing over these experiences to Virtual Reality, and who knows what types of different ways to visualize information and interact with other people will now become commonplace inside VR?&lt;/p&gt;

&lt;h2&gt;
  
  
  Shortcomings of WebVR
&lt;/h2&gt;

&lt;p&gt;As much as we see clear benefits and opportunities coming from consuming VR content through the web. There are still a few technical difficulties that should be overcome before WebVR can deliver contents of comparable quality when compared to game engines.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Size limitations
&lt;/h3&gt;

&lt;p&gt;One of the main selling points of WebVR is the fact that no installation of a given app is required prior to using it. &lt;/p&gt;

&lt;p&gt;However this can easily become one of its shortcomings given that assets still need to be downloaded onto the client, and depending on the size of your scene, you can still be better off going the traditional route by having users download and install your app with all its assets prior to loading up your experience, instead of having them download everything each time they log onto your website.&lt;/p&gt;

&lt;p&gt;These limitations can be mitigated by caching assets that are frequently used, breaking down your scenes to use the minimum amount of resources possible (this is quite easily achievable when using route functionalities of Javascript frameworks), and offering the option of loading lower-quality assets (models with fewer poly counts, low-res textures and whatnot) to diminish download sizes for the client.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Performance limitations
&lt;/h3&gt;

&lt;p&gt;VR is still in its infancy, and WebVR even more so. &lt;/p&gt;

&lt;p&gt;This means means that large scenes can become unstable and suffer from frame-rate drops. And until WebVR matures further, scenes will have to be carefully constructed to be short and sweet, limiting poly counts on models and not relying on any over-the-top animations or particle effects.&lt;/p&gt;

&lt;p&gt;This may be discouraging but let's remember just &lt;a href="https://www.webdesignmuseum.org/exhibitions/web-design-in-the-90s/apple-1996"&gt;how ugly websites used to be&lt;/a&gt; in their early days before we got to the point where they can &lt;a href="https://www.awwwards.com/websites/"&gt;legitimately be considered works of art&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;VR can be a beautiful medium for expression, and a powerful tool to get things done. Its potential, however, is not being thoroughly fulfilled given the lack of diversity and quality of experiences currently available in the market.&lt;/p&gt;

&lt;p&gt;But I remain hopeful that WebVR can pave the way for developers of various backgrounds to create meaningful content and revolutionize their respective industries.&lt;/p&gt;

</description>
      <category>vr</category>
      <category>webvr</category>
      <category>aframe</category>
    </item>
    <item>
      <title>What do people think of ARKit? </title>
      <dc:creator>Andre Vasconcelos</dc:creator>
      <pubDate>Mon, 17 Sep 2018 07:53:41 +0000</pubDate>
      <link>https://dev.to/avasconcelos114/what-do-people-think-of-arkit--17ed</link>
      <guid>https://dev.to/avasconcelos114/what-do-people-think-of-arkit--17ed</guid>
      <description>&lt;p&gt;Has anyone been developing AR apps around here?&lt;br&gt;
Was it easy to get into it? &lt;br&gt;
Did you manage to scale it up well enough?&lt;br&gt;
Does anyone have a good learning resource to recommend?&lt;/p&gt;

&lt;p&gt;I personally have started a little while ago, and was surprised that while there are a lot of people writing articles about it, they're all covering fairly basic stuff and everything else I've been having to figure it out as I went (A lot of trials and failures ensued).&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ios</category>
      <category>augmentedreality</category>
      <category>arkit</category>
    </item>
    <item>
      <title>Rendering your first AR object with AWS Sumerian (2/2)</title>
      <dc:creator>Andre Vasconcelos</dc:creator>
      <pubDate>Mon, 17 Sep 2018 05:27:32 +0000</pubDate>
      <link>https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-22-1jn0</link>
      <guid>https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-22-1jn0</guid>
      <description>&lt;p&gt;If you've followed &lt;a href="https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-12-27po"&gt;the previous article&lt;/a&gt; on this tutorial, you should now have a working project with two scenes attached to it.&lt;/p&gt;

&lt;p&gt;We'll now go over how to create and publish scenes, and use these other scenes inside other scenes inside your projects.&lt;/p&gt;

&lt;h4&gt;
  
  
  Creating a 3D Entity
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Adding an Entity
&lt;/h5&gt;

&lt;p&gt;Now we're ready to keep going, click on the scene you want to move into and enter the editor screen&lt;/p&gt;

&lt;p&gt;Since we just want to render a simple 3d object, this is what we're going to do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on &lt;strong&gt;Create Entity&lt;/strong&gt; at the top of the editor screen.&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;Box&lt;/strong&gt; entity on the top-left corner of the prompted screen.&lt;/li&gt;
&lt;li&gt;(optional) Click on the box, and change its &lt;code&gt;name&lt;/code&gt; property on the right-hand side of the screen, so that you can identify this entity more easily in the future.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gcx6nrei--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lnb3zwbxgg6yo82ayreg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gcx6nrei--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lnb3zwbxgg6yo82ayreg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As AWS Sumerian saves all changes automatically, we're pretty much done creating a basic 3D shape that would be rendered on the screen (Though you can feel free to make it as complex as you like).&lt;/p&gt;

&lt;h5&gt;
  
  
  Creating an asset pack
&lt;/h5&gt;

&lt;p&gt;On the bottom left corner of the editor screen, you'll notice an &lt;strong&gt;Assets&lt;/strong&gt; section in there with a variety of icons and a tree hierarchy menu. &lt;/p&gt;

&lt;p&gt;That section is where you will be able to create Asset Packs, which can then be shared between all scenes in your AWS Projects. To add our own customized pack in there, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on the &lt;strong&gt;Create Pack&lt;/strong&gt; button&lt;/li&gt;
&lt;li&gt;Select the newly created &lt;code&gt;New Pack&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change its &lt;code&gt;name&lt;/code&gt; property on the right side of the screen, as this is a name you'll be referring back to in other scenes, you want to be able to recognize your assets&lt;/li&gt;
&lt;li&gt;Drag the box entity on the top-left right of the screen (in the Entities panel) inside your new Asset Pack&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If everything went well, we now have a custom pack with a 3D entity inside it, now all that remains in this step is to make it accessible to other scenes.&lt;/p&gt;

&lt;h5&gt;
  
  
  Exporting asset packs
&lt;/h5&gt;

&lt;p&gt;To export any Packs you create, you just have to hover your mouse over the desired pack and click on the second icon to the left.&lt;/p&gt;

&lt;p&gt;This should prompt a modal that will ask you what kind of pack you're going to be exporting, in this case we're exporting a pack in the &lt;code&gt;Entities&lt;/code&gt; category.&lt;/p&gt;

&lt;h4&gt;
  
  
  Handling your AR Scene
&lt;/h4&gt;

&lt;p&gt;Now that we have a readily available 3D asset on hand, we just have to enter our AR scene and make use of it!&lt;/p&gt;

&lt;h5&gt;
  
  
  Scene elements
&lt;/h5&gt;

&lt;p&gt;Going back to the editor screen of our AR Scene. You'll notice on the left side of the screen that we have the following entities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AR Camera: The initial point where the scene gets rendered, with the coordinates &lt;code&gt;(0, 0, 0)&lt;/code&gt; on an &lt;code&gt;(X, Y, Z)&lt;/code&gt; axis.&lt;/li&gt;
&lt;li&gt;AR Anchor: An anchor is a coordinate you can use to attach entities to your scene, the AR Template comes with an anchor automatically placed at the &lt;code&gt;(0, 0, 0)&lt;/code&gt; coordinate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Importing assets
&lt;/h5&gt;

&lt;p&gt;The first step we'll want to take is to import our asset pack to the scene.&lt;/p&gt;

&lt;p&gt;Just click on &lt;strong&gt;Import Assets&lt;/strong&gt; at the top, select the pack you want (notice that there are many pre-made options in there to play with as well!), and hit &lt;strong&gt;Add&lt;/strong&gt; at the bottom of the menu. This should add a new pack on your &lt;code&gt;Assets&lt;/code&gt; menu.&lt;/p&gt;

&lt;h5&gt;
  
  
  Adding a script
&lt;/h5&gt;

&lt;p&gt;At this point we &lt;em&gt;could&lt;/em&gt; just drag our 3D asset into the scene and render it in an app. &lt;/p&gt;

&lt;p&gt;But I found that most real apps are more interested in programatically adding objects to their scenes instead of "hard coding" them in there. To accomplish this we'll be having to use AWS Sumerian's scripting functionality, which will require you to know a bit of Javascript.&lt;/p&gt;

&lt;p&gt;First thing we want to do is adding a script to the &lt;code&gt;ARAnchor&lt;/code&gt; entity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the &lt;code&gt;ARAnchor&lt;/code&gt; entity on the top-left tree hierarchy menu&lt;/li&gt;
&lt;li&gt;Scroll down the properties pane on the right side of the screen, to find the &lt;code&gt;Scripts&lt;/code&gt; section&lt;/li&gt;
&lt;li&gt;Click the &lt;code&gt;+&lt;/code&gt; button to add a new script, and select the &lt;code&gt;Custom&lt;/code&gt; option&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This will create a script template that contains a few life-cycle functions that are triggered at various times. &lt;/p&gt;

&lt;p&gt;Over this example we'll only be working with the &lt;code&gt;setup&lt;/code&gt; function, and adding our custom &lt;code&gt;parameters&lt;/code&gt; at the bottom of the file.&lt;/p&gt;

&lt;h5&gt;
  
  
  Instantiating an object
&lt;/h5&gt;

&lt;p&gt;We'll need to load our custom-made 3D asset into this script so that it can be rendered, for that we'll need to add a &lt;code&gt;parameter&lt;/code&gt; for our function that can receive said asset:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;parameters&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;entity&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;exampleEntity&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Example Entity&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: You may call the &lt;code&gt;key&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; values whatever you wish, however it's recommended to keep it a value relevant to the asset pack you'll load into this parameter.&lt;/p&gt;

&lt;p&gt;At this point you may save your script file, and you'll notice that a new slot with the &lt;code&gt;Entity&lt;/code&gt; attribute appeared on the right-hand attribute menu (inside the Script section). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1GlfsPvE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kax50n5vue9y78fuclgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1GlfsPvE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kax50n5vue9y78fuclgq.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this point, you can drag your asset pack into the empty slot and the name of your pack should now be seen inside that empty slot, and to finalize the process, add the bit of code that will instantiate your asset and place it inside the AR world scene:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ctx&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;arSystem&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;ctx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;world&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getSystem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ArSystem&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// Creates an Entity and adds it to the world&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;translation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;sumerian&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Matrix4&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;clonedEntity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sumerian&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;EntityUtils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ctx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;world&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exampleEntity&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;clonedEntity&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addToWorld&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nx"&gt;clonedEntity&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;sumerian&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ArAnchorComponent&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
    &lt;span class="nx"&gt;arSystem&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;registerAnchor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;translation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;anchorId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;clonedEntity&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ArAnchorComponent&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;anchorId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;anchorId&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To explain the code seen above:&lt;br&gt;
Firstly we instantiate &lt;code&gt;ArSystem&lt;/code&gt;, a built-in functionality in Sumerian that allows the user to perform some functionality native to AR. View documentation &lt;a href="https://content.sumerian.amazonaws.com/engine/latest/docs/ArSystem.html"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;After that we set the &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt;, and &lt;code&gt;z&lt;/code&gt; values that we want our 3D entity to be rendered at, and create a transform value from them to be used later.&lt;/p&gt;

&lt;p&gt;We then use the &lt;a href="https://content.sumerian.amazonaws.com/engine/latest/docs/EntityUtils.html"&gt;EntityUtils&lt;/a&gt; to generate a clone of our &lt;code&gt;exampleEntity&lt;/code&gt;, which we can receive from the &lt;code&gt;args&lt;/code&gt; parameter, and add it to the World. &lt;/p&gt;

&lt;p&gt;As AR functions around tying Anchors to virtual objects, we now need to take the extra steps of attaching an Anchor component to our &lt;code&gt;clonedEntity&lt;/code&gt;, and then register a new anchor from the &lt;code&gt;tranlation&lt;/code&gt; values we set earlier.&lt;/p&gt;

&lt;p&gt;Lastly we set the &lt;code&gt;anchorId&lt;/code&gt; value of our &lt;code&gt;clonedEntity&lt;/code&gt; to match the one we've just created, which will result in your object to be viewed at the position set on your &lt;code&gt;translation&lt;/code&gt; value.&lt;/p&gt;

&lt;h4&gt;
  
  
  Loading the scene in an iOS App
&lt;/h4&gt;

&lt;p&gt;Now that we've set up all the logic behind instantiating nodes and anchors, as well as rendering a 3D entity in real-space. We now have to test that with a real device. &lt;/p&gt;

&lt;p&gt;The first thing you want to do is &lt;strong&gt;Publish your scene&lt;/strong&gt; using the top menu of the editor screen, or hitting &lt;code&gt;Shift + Ctrl + P&lt;/code&gt;. Then you may follow these steps to &lt;br&gt;
run it on your device:&lt;/p&gt;

&lt;h5&gt;
  
  
  Running on iOS
&lt;/h5&gt;

&lt;ol&gt;
&lt;li&gt;Clone the &lt;a href="https://github.com/aws-samples/amazon-sumerian-arkit-starter-app"&gt;SumerianARKitStarter&lt;/a&gt; repository.&lt;/li&gt;
&lt;li&gt;Open XCode, choose Open on the File menu, and then navigate to the SumerianArKitStarter.xcodeproj file in the top-level directory of the cloned repository.&lt;/li&gt;
&lt;li&gt;Set up your code-signing identity and provisioning profile on the General tab of the application settings. See &lt;a href="https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html"&gt;Apple’s documentation&lt;/a&gt; if you’re not familiar with these concepts.&lt;/li&gt;
&lt;li&gt;In XCode, open the &lt;code&gt;ViewController.swift&lt;/code&gt; file. Change the &lt;code&gt;sceneURL&lt;/code&gt; variable to point to the URL of &lt;strong&gt;your published scene&lt;/strong&gt; from the previous step. Append &lt;code&gt;/?arMode=true&lt;/code&gt; to the URL. This parameter causes the scene to render in a way that’s more amenable to an AR experience (specifically, it enables the alpha channel on the WebGL canvas and removes the UI elements).&lt;/li&gt;
&lt;li&gt;Connect your iOS device. Build and run the application.&lt;/li&gt;
&lt;/ol&gt;

&lt;h5&gt;
  
  
  Running on Android:
&lt;/h5&gt;

&lt;ol&gt;
&lt;li&gt;Clone the &lt;a href="https://github.com/aws-samples/amazon-sumerian-arcore-starter-app"&gt;SumerianARCoreStarter&lt;/a&gt; repository.&lt;/li&gt;
&lt;li&gt;Open Android Studio, choose Open an existing Android Studio project from the menu, and then navigate to the SumerianARCoreStarter directory in the top-level directory of the cloned repository.&lt;/li&gt;
&lt;li&gt;In Android Studio, open the &lt;code&gt;MainActivity.java&lt;/code&gt; file. Change the &lt;code&gt;SCENE_URL&lt;/code&gt; variable to point to the URL of your published scene from the previous step. Append &lt;code&gt;/?arMode=true&lt;/code&gt; to the URL. This parameter causes the scene to render in a way that’s more amenable to an AR experience (specifically, it enables the alpha channel on the WebGL canvas and removes the UI elements).&lt;/li&gt;
&lt;li&gt;Connect your Android device. Build and run the app.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Wrapping up
&lt;/h4&gt;

&lt;p&gt;Hopefully by following all of these, you've now been able to set yourself up with an AWS Sumerian project and you've grasped the basics of how to import your own elements of a scene, and make them appear on your screen on both iOS and Android devices.&lt;/p&gt;

&lt;p&gt;While still in its infancy, the possibilities of hosting AR scenes on the web and having it be adaptable for all types of mobile devices is very exciting for me, and although this was a very shallow view of what you can do with AWS Sumerian, I invite you all to join the &lt;a href="https://amazonsumerian.slack.com"&gt;AWS Sumerian Slack page&lt;/a&gt; and become a part of this exciting initiative.&lt;/p&gt;

&lt;p&gt;My apologies if the writing of this tutorial was too messy, I'm not yet very experienced with writing articles like this, but I hope that I can improve with practice :)&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.sumerian.amazonaws.com/tutorials/create/intermediate/augmented-reality-using-sumerian-arcore/"&gt;Running AWS Sumerian with ARCore Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.sumerian.amazonaws.com/tutorials/create/intermediate/augmented-reality-using-sumerian-arkit/"&gt;Running AWS Sumerian with ARKit Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://content.sumerian.amazonaws.com/engine/latest/docs/index.html"&gt;Scripting API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>augmentedreality</category>
      <category>ios</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Rendering your first AR object with AWS Sumerian (1/2)</title>
      <dc:creator>Andre Vasconcelos</dc:creator>
      <pubDate>Mon, 17 Sep 2018 05:26:31 +0000</pubDate>
      <link>https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-12-27po</link>
      <guid>https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-12-27po</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Flnva5n1wd6lmq9edzstr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Flnva5n1wd6lmq9edzstr.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What is AWS Sumerian?
&lt;/h4&gt;

&lt;p&gt;As we've seen the introduction of Apple's ARKit, and the somewhat recent release of Google's ARCore, we're getting to see a whole new generation of apps that incorporate Augmented Reality into its stack of features.&lt;/p&gt;

&lt;p&gt;Amazon couldn't help but join the race by providing a different way in which to allow developers to create an AR environment. While in its present state developers have to create scenes into their respective applications (be it with ARKit, or ARCore), AWS has provided us with a separate option of publishing, and loading our scenes directly from the internet.&lt;/p&gt;

&lt;p&gt;This means that as long as you're willing to compromise and have your AR experience be dependent on having an internet connection (which may be a fairly big barrier to some), you can develop a single AR scene that can be quickly incorporated into native ARKit &lt;em&gt;and&lt;/em&gt; ARCore applications.&lt;/p&gt;

&lt;p&gt;In this series of articles we'll be viewing how to get started with an AR Application, then we'll look at how to add your own custom Entities to your scenes, and add a layer of interactivity to them utilizing state managements and AWS Sumerian's scripts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Requirements
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;An active &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS Account&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Getting Started
&lt;/h4&gt;

&lt;p&gt;To begin, head over to your &lt;a href="https://console.aws.amazon.com/console/home" rel="noopener noreferrer"&gt;AWS Console&lt;/a&gt;, and under the &lt;strong&gt;VR &amp;amp; AR&lt;/strong&gt; section, you'll want to click on &lt;strong&gt;Amazon Sumerian&lt;/strong&gt;. This will prompt a new tab to launch and you should be sent over to your Dashboard, now we're ready to begin!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fx5f18ivvjg61ukiyag1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fx5f18ivvjg61ukiyag1l.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  1. Creating Your Project
&lt;/h5&gt;

&lt;p&gt;Now that we're ready, notice how your screen is divided into 3 main sections. To your left you have your navigation menu, where you're able to create new projects to manage them under, in the center you'll notice a big &lt;strong&gt;Create New Scene&lt;/strong&gt; button, but let's not click on that one yet! And on the right section you have a sidebar that will throw you information about whatever you selected in the other sections&lt;/p&gt;

&lt;p&gt;What we want to start with, is to create a new project where we'll be handling all scenes and entities in our tutorial series. We'll do that by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on the &lt;strong&gt;Projects&lt;/strong&gt; option on our navigation menu&lt;/li&gt;
&lt;li&gt;Click on &lt;strong&gt;New Project&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Input &lt;strong&gt;Practice Sumerian Project&lt;/strong&gt;, or whatever your heart desires&lt;/li&gt;
&lt;li&gt;Hit the &lt;strong&gt;Create&lt;/strong&gt; button&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT: In order to be able to import a 3D asset into your AR Scene, they will need to be a part of the same project&lt;/strong&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  2. Creating your scenes
&lt;/h5&gt;

&lt;p&gt;Now that we have a project set up, we'll be wanting to create the following scenes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A 3D entity to render in AR&lt;/li&gt;
&lt;li&gt;The AR scene itself&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  3D Entity Scene
&lt;/h6&gt;

&lt;ol&gt;
&lt;li&gt;Start by going back to the &lt;strong&gt;Home&lt;/strong&gt; of your dashboard&lt;/li&gt;
&lt;li&gt;Click on &lt;strong&gt;Create New Scene&lt;/strong&gt;. AWS Sumerian will prompt you for a name, so we'll input &lt;code&gt;example_entity&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;Create&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If everything goes as expected, we'll now be sent to the editor screen with an empty scene.&lt;/p&gt;

&lt;p&gt;BUT WAIT, THERE'S MORE! &lt;/p&gt;

&lt;p&gt;In Sumerian's current version, you can't add a scene to a project at the moment it's created. To do that you'll have to do the following: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Return to your Dashboard by clicking on the top-left &lt;strong&gt;Scene&lt;/strong&gt; dropdown menu, and clicking on &lt;strong&gt;Exit to dashboard...&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click on the scene you just created (be sure not to click on the bottom part of it, as you'll be sent directly to the editor screen)&lt;/li&gt;
&lt;li&gt;On the right sidebar, look under the &lt;strong&gt;Actions&lt;/strong&gt; section, and select the &lt;strong&gt;Move&lt;/strong&gt; option&lt;/li&gt;
&lt;li&gt;Click on the project you just created and hit &lt;strong&gt;Move&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;phew!&lt;/em&gt; &lt;br&gt;
Now for the last part of setting our project up for AR!&lt;/p&gt;

&lt;h6&gt;
  
  
  AR Scene
&lt;/h6&gt;

&lt;p&gt;We're going to create our AR scene using the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go over to &lt;strong&gt;Home&lt;/strong&gt; in your dashboard, and look down at the &lt;strong&gt;Create scene from template&lt;/strong&gt; section in the middle. &lt;/li&gt;
&lt;li&gt;You'll notice we have an &lt;strong&gt;Augmented Reality&lt;/strong&gt; template all ready for us. Click on that, input a name for your scene and &lt;strong&gt;Create&lt;/strong&gt; it.&lt;/li&gt;
&lt;li&gt;Just as the previous step, you can go back to the dashboard and &lt;strong&gt;Move&lt;/strong&gt; this scene into your project&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Wrapping up
&lt;/h4&gt;

&lt;p&gt;If you've completed all the things described above you should have:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One practice project where you can manage all your scenes and assets in.&lt;/li&gt;
&lt;li&gt;One scene where you will be creating a 3D entity&lt;/li&gt;
&lt;li&gt;One AR scene where we'll import 3D assets into&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You may now proceed to &lt;a href="https://dev.to/wandererstudio/rendering-your-first-ar-object-with-aws-sumerian-22-1jn0"&gt;the second part&lt;/a&gt; of this tutorial, where we'll go over how to create 3D entities and programatically add them into AR scenes using AWS Sumerian's scripts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bonus information
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;AWS Sumerian community on Slack: &lt;a href="https://amazonsumerian.slack.com" rel="noopener noreferrer"&gt;https://amazonsumerian.slack.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official link to tutorials on AWS Sumerian: &lt;a href="https://docs.sumerian.amazonaws.com/" rel="noopener noreferrer"&gt;https://docs.sumerian.amazonaws.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Twitch tutorials on how to work with Sumerian: &lt;a href="https://www.twitch.tv/jsmeester/videos/all" rel="noopener noreferrer"&gt;https://www.twitch.tv/jsmeester/videos/all&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>augmentedreality</category>
      <category>ios</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
