arjs |ar

Try AR: Using AR.js to Display a wolf

toffy

Yuiko Koyanagi

Posted on August 31, 2021

Try AR: Using AR.js to Display a wolf

Hey guys! I tried AR!

Image from Gyazo

In this article, I will explain how to develop this application.

DEMO: https://yuikoito.github.io/ar-sample/
github: https://github.com/yuikoito/ar-sample

Setup

I read the following document in order to create it.

https://ar-js-org.github.io/AR.js-Docs/

There are three main types of AR.js.

  • Image Tracking. Recognizes a specific image and displays a model on top of it.
  • Location Based AR. Display a model at a specific location.
  • Marker Tracking. Displays the model at a specific marker location.

The type I use this time is Marker Tracking.

Depending on which type you use, there are slight differences in what you need to import.
Since I use Marker Tracking now, I only need to import the following.

  <script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
  <script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar.js"></script>
Enter fullscreen mode Exit fullscreen mode

Now it looks like I can use AR. Easy!

Use an original marker

AR.js has a pre-set marker called hiro and if you want to use, just write as the follows.

<a-marker preset="hiro">
Enter fullscreen mode Exit fullscreen mode

In this case, I wanted to use my own marker, so I visited to this site to create one.

You can change the image whatever you want, but now I use this one.

image

Set the downloaded marker under the assets folder.

<a-marker preset="custom" type="pattern" url="assets/pattern-marker.patt">
  // Set the model to be displayed in this.
</a-marker>
Enter fullscreen mode Exit fullscreen mode

Display an original 3D model

Even if you don't have your own model, you can use a-text to display text, or a-box to display a box, so it will be fun enough to just play with the pre-prepared ones.

This time, I downloaded a nice wolf model from Free3D, so I'll display it.

This is gltf format model, so I'll specify the id as follows.

<a-entity gltf-model="#wolf"></a-entity>
Enter fullscreen mode Exit fullscreen mode

The model should be loaded in a-assets beforehand.

      <a-assets>
        <a-asset-item
          id="wolf"
          src="assets/Wolf-Blender-2.82a.glb"
        ></a-asset-item>
      </a-assets>
Enter fullscreen mode Exit fullscreen mode

Now I can display it. Very easy.

The whole code.

  <body>
    <a-scene
      embedded
      arjs="sourceType: webcam; debugUIEnabled: false; detectionMode: mono_and_matrix; matrixCodeType: 3x3;"
    >
      <a-assets>
        <a-asset-item
          id="wolf"
          src="assets/Wolf-Blender-2.82a.glb"
        ></a-asset-item>
      </a-assets>

      <a-marker preset="custom" type="pattern" url="assets/pattern-marker.patt">
        <a-entity
          id="model"
          gltf-model="#wolf"
          position="0 0 1"
          scale="1 1 1"
          rotation="0 -90 60"
        >
        </a-entity>
      </a-marker>
      <a-entity camera></a-entity>
    </a-scene>
  </body>
Enter fullscreen mode Exit fullscreen mode

That's it!

Thanks for reading.

This is my first time to use AR, but it was really easy.
I will try more :D

๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ

Please send me a message if you need.

yuiko.dev@gmail.com
https://twitter.com/yui_active

๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ๐ŸŽ

๐Ÿ’– ๐Ÿ’ช ๐Ÿ™… ๐Ÿšฉ
toffy
Yuiko Koyanagi

Posted on August 31, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

ยฉ TheLazy.dev

About