<?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: Maksum Rifai</title>
    <description>The latest articles on DEV Community by Maksum Rifai (@maksumrifai).</description>
    <link>https://dev.to/maksumrifai</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%2F246969%2F2b4884c2-3d4b-486f-b2c0-4ad0a2e4424c.jpg</url>
      <title>DEV Community: Maksum Rifai</title>
      <link>https://dev.to/maksumrifai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maksumrifai"/>
    <language>en</language>
    <item>
      <title>VoxelArt Web Augumented Reality (WebAR)</title>
      <dc:creator>Maksum Rifai</dc:creator>
      <pubDate>Sat, 23 Jan 2021 15:31:33 +0000</pubDate>
      <link>https://dev.to/maksumrifai/voxelart-web-augumented-reality-webar-2man</link>
      <guid>https://dev.to/maksumrifai/voxelart-web-augumented-reality-webar-2man</guid>
      <description>&lt;h2&gt;
  
  
  Voxel AR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u8ajbdCZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/voxelar-preview.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u8ajbdCZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/voxelar-preview.gif"&gt;&lt;/a&gt;&lt;br&gt;
For this Project, I used AR.js and Aframe.js library, Image Descriptor, and Voxel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/MaksumRifai/voxelar"&gt;https://github.com/MaksumRifai/voxelar&lt;/a&gt; (Repo) | &lt;a href="https://maksumrifai.github.io/voxelar"&gt;https://maksumrifai.github.io/voxelar&lt;/a&gt; (Live)&lt;/p&gt;

&lt;p&gt;Open Live Demo with Chrome Mobile Browser or AR/VR/XR Devices, When cam ready, Scan BekasiDev Sticker or Logo from bekasidev.org Or you can use image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l6Cz-TR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/Bekasi-Dev-Community/bekasidev/master/assets/img/brand/bekasidev-stiker.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l6Cz-TR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/Bekasi-Dev-Community/bekasidev/master/assets/img/brand/bekasidev-stiker.png" width="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note for Desktop Browser you need latest Chrome or Edge that suported and enabled for WebVR Experiences, and also good desktop camera (Webcam), Recommended use Mobile Browser.&lt;/p&gt;
&lt;h2&gt;
  
  
  Libraries
&lt;/h2&gt;
&lt;h3&gt;
  
  
  AR.js
&lt;/h3&gt;

&lt;p&gt;AR.js is a lightweight library for Augmented Reality on the Web, coming with features like Image Tracking, Location based AR and Marker tracking.&lt;/p&gt;
&lt;h3&gt;
  
  
  Aframe.js
&lt;/h3&gt;

&lt;p&gt;Web framework for building virtual reality experiences. &lt;/p&gt;
&lt;h4&gt;
  
  
  Import the library
&lt;/h4&gt;

&lt;p&gt;Import AR.js:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js"&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Import Aframe.js:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="https://cdn.jsdelivr.net/gh/aframevr/aframe@1c2407b26c61958baa93967b5412487cd94b290b/dist/aframe-master.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For this expample, we use Image Tracking Type of AR.js with Aframe.js.&lt;br&gt;
&lt;a href="https://ar-js-org.github.io/AR.js-Docs/"&gt;Further Reading&lt;/a&gt; for another types from AR.js official docs.&lt;/p&gt;
&lt;h3&gt;
  
  
  Image Tracking
&lt;/h3&gt;

&lt;p&gt;Natural Feature Tracking or NFT is a technology that enables the use of images instead of markers like QR Codes or the Hiro marker.&lt;br&gt;
It comes in two versions: &lt;a href="https://carnaux.github.io/NFT-Marker-Creator/"&gt;the Web version&lt;/a&gt; (recommended), and the &lt;a href="https://github.com/Carnaux/NFT-Marker-Creator"&gt;node.js version&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;
  
  
  Choose Good Images
&lt;/h4&gt;

&lt;p&gt;If you want to understand the creation of markers in more depth, check out the NFT Marker Creator &lt;a href="https://github.com/Carnaux/NFT-Marker-Creator/wiki/Creating-good-markers"&gt;wiki&lt;/a&gt;. It explains also why certain images work way better than others. An important factor is the DPI of the image: a good dpi (300 or more) will give a very good stabilization, while low DPI (like 72) will require the user to stay very still and close to the image, otherwise tracking will lag.&lt;/p&gt;
&lt;h4&gt;
  
  
  Create Image Descriptors:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4zyOMDBP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/photo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4zyOMDBP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/photo.jpg" width="150"&gt;&lt;/a&gt;&lt;br&gt;
We create descriptor with this picture (photo.jpg) by uploading to NFT creator web version above then return 3 files to use: .fset, .fset3, .iset.&lt;br&gt;
Each of them will have the same prefix before the file extension. That one will be the Image Descriptor name that you will use on the AR.js web app. For example: with files photo.fset, photo.fset3 and photo.iset, your Image Descriptors name will be photo.&lt;/p&gt;
&lt;h4&gt;
  
  
  Create Object
&lt;/h4&gt;

&lt;p&gt;You can download and use 3D models or object from anywhere or create your own with Blender. For this repo, I created my own model based on &lt;a href="https://bekasidev.org"&gt;Bekasidev&lt;/a&gt; Logo with MagicaVoxel, this logo vector and raster is also originaly created by me.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yec0PcM8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/ss-mv-bekdev.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yec0PcM8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/voxelar/master/ss-mv-bekdev.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can watch tutorial on my youtube channel here for DTS Kominfo Logo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=0GfNYFcDjMU&amp;amp;t=6s"&gt;10 Menit Membuat Logo 3D (Digital Talent Scholarship)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=nbfeWj46R3c"&gt;Membuat rumah dengan MagicaVoxel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=tEAuDC7SjsQ&amp;amp;t=33s"&gt;Tutorial Blender 3D Basic : View, Navigation, Transformation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Render Content to the Scene
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- Main Scene --&amp;gt;
  &amp;lt;a-scene
    vr-mode-ui="enabled: false;"
    renderer="logarithmicDepthBuffer: true;"
    embedded
    arjs="trackingMethod: best; sourceType: webcam;debugUIEnabled: false;"
  &amp;gt;
    &amp;lt;!-- we use cors proxy to avoid cross-origin problems --&amp;gt;
    &amp;lt;a-nft
      type="nft"
      url="https://arjs-cors-proxy.herokuapp.com/https://raw.githack.com/MaksumRifai/voxelar/master/photo"
      smooth="true"
      smoothCount="10"
      smoothTolerance=".01"
      smoothThreshold="5"
    &amp;gt;
    &amp;lt;!-- as a child of the a-nft entity, you can define the content to show. here's a OBJ model entity --&amp;gt;
    &amp;lt;a-entity rotation="-135 -90 90" scale="5 5 5" position="0 0 0" obj-model="obj: #tree-obj; mtl: #tree-mtl"&amp;gt;&amp;lt;/a-entity&amp;gt;
    &amp;lt;/a-nft&amp;gt;
    &amp;lt;!--Load assets to use by nft entity above--&amp;gt;
       &amp;lt;a-assets&amp;gt;
        &amp;lt;a-asset-item id="tree-obj" src="https://arjs-cors-proxy.herokuapp.com/https://raw.githack.com/MaksumRifai/voxelar/master/bekdev.obj"&amp;gt;&amp;lt;/a-asset-item&amp;gt;
        &amp;lt;a-asset-item id="tree-mtl" src="https://arjs-cors-proxy.herokuapp.com/https://raw.githack.com/MaksumRifai/voxelar/master/bekdev.mtl"&amp;gt;&amp;lt;/a-asset-item&amp;gt;
       &amp;lt;/a-assets&amp;gt;
    &amp;lt;!--End of assets--&amp;gt;
    &amp;lt;!-- static camera that moves according to the device movemenents --&amp;gt;
    &amp;lt;a-entity camera&amp;gt;&amp;lt;/a-entity&amp;gt;
  &amp;lt;/a-scene&amp;gt;
  &amp;lt;!--End of Scene--&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You can refer to &lt;a href="https://aframe.io/docs/1.0.0/introduction/"&gt;A-Frame docs&lt;/a&gt; to know everything about content and customization. You can add geometries, 3D models, videos, images. And you can customize their position, scale, rotation and so on.&lt;/p&gt;

&lt;p&gt;The only custom component here is the a-nft, the Image Tracking HTML anchor. You may see my other project for references.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;360° Image VR, Add 3D bus into 360 Degree Image (&lt;a href="https://github.com/MaksumRifai/360vr"&gt;Repo&lt;/a&gt; | &lt;a href="https://maksumrifai.github.io/360vr"&gt;Demo&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Simple Object and Animation VR, Add 3D DTS logo Into Environment (&lt;a href="https://github.com/MaksumRifai/digitaltalent"&gt;Repo&lt;/a&gt; | &lt;a href="https://digitaltalent.netlify.app"&gt;Demo&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;WebAR Image Tracking with Kumparan Logo Umbrella (&lt;a href="https://github.com/MaksumRifai/kumparan-ar"&gt;Repo&lt;/a&gt; | &lt;a href="https://maksumrifai.github.io/kumparan-ar"&gt;Demo&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://maksumrifai.github.io/360vr"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hOIYi0T5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/360vr/master/360vr-preview.gif"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://digitaltalent.netlify.app"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pij9w0zo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/digitaltalent/master/dts-preview.gif"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://maksumrifai.github.io/kumparan-ar"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ef2mhXn_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/kumparan-ar/master/kumparan-preview.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  How to use this template
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Clonning
&lt;/h4&gt;

&lt;p&gt;Run the following command to clone this template to your local directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git clone https://github.com/MaksumRifai/voxelar.git

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Download
&lt;/h4&gt;

&lt;p&gt;Use green button on my repo and click "Download Zip" or simply click &lt;a href="https://github.com/MaksumRifai/voxelar/archive/master.zip"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Customizing
&lt;/h3&gt;

&lt;p&gt;In case you want to use your own models, simply replace the &lt;a href="https://en.m.wikipedia.org/wiki/Wavefront_.obj_file"&gt;.obj .mtl .png&lt;/a&gt; files with yours. Don't forget to export your MagicaVoxel or Blender project properly.&lt;/p&gt;

&lt;p&gt;And edit this repo as you needed, you only need to replace URL/File name with yours, and the descripted files (fset, iset, fset3) you created with your own source image, use your favorite code editor, directly in web browser or github desktop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u4ji4w0A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/kumparan-ar/master/ss-vsc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u4ji4w0A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/kumparan-ar/master/ss-vsc.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For better and faster development or debugging this project, you can use &lt;a href="http://play.google.com/store/apps/details?id=io.spck"&gt;Spck Code/Git Editor&lt;/a&gt; for Android, I mainly use this way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/MaksumRifai/360vr/blob/master/360vr.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sGNhCogx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/360vr/master/360vr.gif"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; Resources
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A-Frame Boilerplate
&lt;/h3&gt;

&lt;p&gt;Web framework for building virtual reality experiences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aframevr/aframe"&gt;Github&lt;/a&gt; | &lt;a href="https://aframe.io"&gt;Website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alternatively, check out the &lt;a href="https://glitch.com/~aframe"&gt;A-Frame Starter on glitch.com&lt;/a&gt; for a more interactive way on getting started.&lt;/p&gt;

&lt;h3&gt;
  
  
  MagicaVoxel @ephtracy
&lt;/h3&gt;

&lt;p&gt;A free lightweight GPU-based voxel art editor and interactive path tracing renderer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ephtracy"&gt;Github&lt;/a&gt; | &lt;a href="https://ephtracy.github.io/"&gt;Website&lt;/a&gt; | &lt;a href="https://youtu.be/mfKx4j-C6nI"&gt;Demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tutorial Videos
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/d_WymsNdRBA"&gt;Youtube: Ephtracy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLHtmobOgsDvlikllA1MBk7pk_DWlmtR_S"&gt;Youtube: Aaron Robbins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=0GfNYFcDjMU&amp;amp;t=42s"&gt;Youtube: Maksum Rifai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Articles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.sketchfab.com/publishing-voxel-designs-from-magicavoxel-to-sketchfab/"&gt;Publishing Voxel Designs from MagicaVoxel to Sketchfab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aframe.io/docs/0.3.0/guides/building-with-magicavoxel.html"&gt;Building with MagicaVoxel and export to A-Frame (WebVR framework)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drinkdecaf.com/magicavoxel_animate"&gt;Script for animating MagicaVoxel rendering&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Support Me
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.paypal.me/maksumrifai"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr6cHYV1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn%253AANd9GcSRU16oC9ndfwmD5a14Df0X7B96ummOHmQGsg%26usqp%3DCAU" width="200"&gt;&lt;/a&gt; &lt;a href="https://invoice.xendit.co/donation/Dukungan"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kC9i6UrQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn%253AANd9GcROR5VQJr0XTxLh-kmhGyyyQA0i8ISLTxQRcg%26usqp%3DCAU" width="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/desainerhub"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JEG87hPW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/360vr/master/learn.png" width="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Bekasi-Dev-Community"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bQAOR8mU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/Bekasi-Dev-Community/bekasidev/master/assets/img/brand/bekasidev-banner.png" width="200"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>augumentedreality</category>
      <category>virtualreality</category>
      <category>webvr</category>
      <category>webxr</category>
    </item>
    <item>
      <title>VoxelArt Web Virtual Reality (WebVR)</title>
      <dc:creator>Maksum Rifai</dc:creator>
      <pubDate>Thu, 14 Jan 2021 19:29:31 +0000</pubDate>
      <link>https://dev.to/maksumrifai/voxelart-web-virtual-reality-webvr-32ha</link>
      <guid>https://dev.to/maksumrifai/voxelart-web-virtual-reality-webvr-32ha</guid>
      <description>&lt;h2&gt;
  
  
  Create Your Own Web Virtual Reality
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/MaksumRifai/digitaltalent/blob/master/dts-preview.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2l6daWeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/digitaltalent/master/dts-preview.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Virtual Reality
&lt;/h2&gt;

&lt;p&gt;I used A-Frame, A-Frame Is A web framework for building virtual reality experiences, A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift.&lt;/p&gt;

&lt;h2&gt;
  
  
  3D Model
&lt;/h2&gt;

&lt;p&gt;You can download and use 3D models or object from anywhere or create your own with Blender. For this repo, I created my own model based on DTS Kominfo Logo with MagicaVoxel, you can watch tutorial on my youtube channel here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=0GfNYFcDjMU&amp;amp;t=6s"&gt;10 Menit Membuat Logo 3D (Digital Talent Scholarship)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=nbfeWj46R3c"&gt;Membuat rumah dengan MagicaVoxel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=tEAuDC7SjsQ&amp;amp;t=33s"&gt;Tutorial Blender 3D Basic : View, Navigation, Transformation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=0GfNYFcDjMU&amp;amp;t=6s"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jX6x4uKO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i3.ytimg.com/vi/0GfNYFcDjMU/hqdefault.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Live and Preview
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Preview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/MaksumRifai/digitaltalent/blob/master/dts-preview.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pij9w0zo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/digitaltalent/master/dts-preview.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Live
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://digitaltalent.netlify.app"&gt;https://digitaltalent.netlify.app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://maksumrifai.github.io/digitaltalent/"&gt;https://maksumrifai.github.io/digitaltalent/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to use this template
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Clonning
&lt;/h3&gt;

&lt;p&gt;Run the following command to clone this template to your local directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git clone https://github.com/MaksumRifai/digitaltalent.git

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Download
&lt;/h3&gt;

&lt;p&gt;Use green button above and click "Download Zip" or simply click &lt;a href="https://github.com/MaksumRifai/digitaltalent/archive/master.zip"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Customizing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
 &amp;lt;meta charset="utf-8"&amp;gt;
 &amp;lt;title&amp;gt;Digital Talent Sholarship - VR Maksum Rifai&amp;lt;/title&amp;gt;
 &amp;lt;meta name="description" content="Digital Talent Sholarship - A-Frame VR - Maksum Rifai"&amp;gt;
 &amp;lt;!--Aframe.js Core, not the latest release but most stable for this project--&amp;gt;
 &amp;lt;script src="https://aframe.io/releases/0.9.2/aframe.min.js"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;!--Aframe environment component, you can remove it if you use custom sky and plane entity --&amp;gt;
 &amp;lt;script src="https://unpkg.com/aframe-environment-component/dist/aframe-environment-component.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
 &amp;lt;a-scene&amp;gt;
  &amp;lt;!--Load assets Object 3D, Preserve all your assets below before placing it to the scene (recommended)--&amp;gt;
  &amp;lt;a-assets&amp;gt;
  &amp;lt;!--Always Asign ID to assets item for using--&amp;gt;
   &amp;lt;a-asset-item id="dts-obj" src="/DTS.obj"&amp;gt;&amp;lt;/a-asset-item&amp;gt;
   &amp;lt;a-asset-item id="dts-mtl" src="/DTS.mtl"&amp;gt;&amp;lt;/a-asset-item&amp;gt;
  &amp;lt;/a-assets&amp;gt;
  &amp;lt;!--End of assets Object--&amp;gt;
  &amp;lt;!--Using Assets Above with assets ID, add desire position/scale/rotation and simple Animation--&amp;gt;
  &amp;lt;a-entity rotation="0 45 0" scale="0.01 0.01 0.01" position="0 0 -3" obj-model="obj: #dts-obj; mtl: #dts-mtl" animation="property: rotation; to: 0 360 0; loop: true; dur: 10000"&amp;gt;&amp;lt;/a-entity&amp;gt;
  &amp;lt;!--Add Environtment Forest Preset, alternatively use &amp;lt;a-plane&amp;gt; and &amp;lt;a-sky&amp;gt; for custom ground and sky--&amp;gt;
  &amp;lt;a-entity environment="preset: forest; dressingAmount: 500"&amp;gt;&amp;lt;/a-entity&amp;gt;
  &amp;lt;!--Add Camera with custom height (3 meter), default is 1.6 (160 cm), remove line below will inject default camera--&amp;gt;
  &amp;lt;a-entity camera look-controls position="0 3 0"&amp;gt;&amp;lt;/a-entity&amp;gt;
  &amp;lt;!--End of scene, add everything you want to show above this line--&amp;gt;
 &amp;lt;/a-scene&amp;gt;
&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In case you want to use your own models, simply replace the &lt;a href="https://en.m.wikipedia.org/wiki/Wavefront_.obj_file"&gt;.obj .mtl .png&lt;/a&gt; files with yours. Don't forget to export your MagicaVoxel or Blender project properly.&lt;/p&gt;

&lt;p&gt;For better and faster development you can use &lt;a href="http://play.google.com/store/apps/details?id=io.spck"&gt;Spck Code/Git Editor&lt;/a&gt; for Android, I mainly use this Way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/MaksumRifai/360vr/blob/master/360vr.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sGNhCogx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/360vr/master/360vr.gif"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  References &amp;amp; Resources
&lt;/h2&gt;

&lt;h2&gt;
  
  
  A-Frame Boilerplate
&lt;/h2&gt;

&lt;p&gt;Web framework for building virtual reality experiences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aframevr/aframe"&gt;Github&lt;/a&gt; | &lt;a href="https://aframe.io"&gt;Website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alternatively, check out the &lt;a href="https://glitch.com/~aframe"&gt;A-Frame Starter on&lt;br&gt;
glitch.com&lt;/a&gt; for a more interactive way on getting&lt;br&gt;
started.&lt;/p&gt;

&lt;h2&gt;
  
  
  MagicaVoxel @ephtracy
&lt;/h2&gt;

&lt;p&gt;A free lightweight GPU-based voxel art editor and interactive path tracing renderer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ephtracy"&gt;Github&lt;/a&gt; | &lt;a href="https://ephtracy.github.io/"&gt;Website&lt;/a&gt; | &lt;a href="https://youtu.be/mfKx4j-C6nI"&gt;Demo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tutorial Videos
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/d_WymsNdRBA"&gt;Youtube: Ephtracy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLHtmobOgsDvlikllA1MBk7pk_DWlmtR_S"&gt;Youtube: Aaron Robbins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=0GfNYFcDjMU&amp;amp;t=42s"&gt;Youtube: Maksum Rifai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Articles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.sketchfab.com/publishing-voxel-designs-from-magicavoxel-to-sketchfab/"&gt;Publishing Voxel Designs from MagicaVoxel to Sketchfab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aframe.io/docs/0.3.0/guides/building-with-magicavoxel.html"&gt;Building with MagicaVoxel and export to A-Frame (WebVR framework)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drinkdecaf.com/magicavoxel_animate"&gt;Script for animating MagicaVoxel rendering&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Digital Talent Scholarship (DTS) Kominfo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Copyright Notice &amp;amp; Disclaimer
&lt;/h3&gt;

&lt;p&gt;All product (DTS) and company/entity names (Kominfo) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.&lt;br&gt;
Please refer to DTS &lt;a href="https://digitalent.kominfo.go.id"&gt;official website&lt;/a&gt; for more Information.&lt;/p&gt;

&lt;h4&gt;
  
  
  Support Me
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.paypal.me/maksumrifai"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr6cHYV1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn%253AANd9GcSRU16oC9ndfwmD5a14Df0X7B96ummOHmQGsg%26usqp%3DCAU" width="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://invoice.xendit.co/donation/Dukungan"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kC9i6UrQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://encrypted-tbn0.gstatic.com/images%3Fq%3Dtbn%253AANd9GcROR5VQJr0XTxLh-kmhGyyyQA0i8ISLTxQRcg%26usqp%3DCAU" width="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/desainerhub"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JEG87hPW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/MaksumRifai/360vr/master/learn.png" width="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Bekasi-Dev-Community"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l6Cz-TR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/Bekasi-Dev-Community/bekasidev/master/assets/img/brand/bekasidev-stiker.png" width="200"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webvr</category>
      <category>augumentreality</category>
      <category>virtualreality</category>
      <category>voxelart</category>
    </item>
    <item>
      <title>15+ Apps For Create Website Mockup</title>
      <dc:creator>Maksum Rifai</dc:creator>
      <pubDate>Thu, 05 Dec 2019 12:54:13 +0000</pubDate>
      <link>https://dev.to/maksumrifai/15-apps-for-make-website-mockup-7h4</link>
      <guid>https://dev.to/maksumrifai/15-apps-for-make-website-mockup-7h4</guid>
      <description>&lt;p&gt;Creating a website mockup is an important step in the process of  web development . To facilitate collaboration in the process, the design must be made with a good design that is easy to understand. Then, using paper and pen is not enough. &lt;/p&gt;

&lt;p&gt;Currently, there are more apps that facilitate web designer to create a website mockup. In this article, we have selected the best applications 15+ can be used without the hassle own research. &lt;/p&gt;

&lt;p&gt;You can read full article here:&lt;br&gt;
  &lt;a href="https://desainerhub.com/2019/12/15aplikasi-mockup-website"&gt;https://desainerhub.com/2019/12/15aplikasi-mockup-website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mockup</category>
      <category>apps</category>
      <category>ux</category>
    </item>
    <item>
      <title>Need feedback for my personal portfolio</title>
      <dc:creator>Maksum Rifai</dc:creator>
      <pubDate>Mon, 28 Oct 2019 14:21:53 +0000</pubDate>
      <link>https://dev.to/maksumrifai/need-feedback-for-my-personal-portfolio-4o3h</link>
      <guid>https://dev.to/maksumrifai/need-feedback-for-my-personal-portfolio-4o3h</guid>
      <description>&lt;p&gt;Hello, I'm Maksum Rifai from Indonesia.&lt;br&gt;
Please take time to see/test and feedback for my personal portfolio. Thanks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://maksumrifai.github.com"&gt;https://maksumrifai.github.com&lt;/a&gt;&lt;br&gt;
&lt;a href="https://maksumrifai.netlify.com"&gt;https://maksumrifai.netlify.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>portfolio</category>
      <category>frontend</category>
      <category>bootstrap</category>
    </item>
  </channel>
</rss>
