【WebAR】初めての8th Wallチュートリアル

## はじめに
先日8th Wallのハンズオンイベント、Niantic Developer World Tour Tokyoに参加してきました。
初めて8th Wallを触ってみたので簡単なチュートリアル形式で紹介します。

### WebARとは？
Webブラウザ上で駆動することができるAR（拡張現実）です。

従来のARでは専用アプリをインストールする必要がありましたが、WebARではURLへアクセスするだけでAR体験が可能のため、ユーザがこれまでより気軽に体験することができるようになりました。

2025年までに世界人口の75%がARに頻繁に触れるようになるとも言われており、ARは今非常に注目されている分野です。

### 8th Wallとは？
8th Wallは、拡張現実ARのアプリケーションを作成するための開発プラットフォームで、
ブラウザー上で駆動するARを実装することができます。

専用のアプリをダウンロードする必要がなく、ユーザーが手軽に体験できるため
広告業界や小売業界などでもよく利用されています。

下記のQRを読み込むだけで8th WallのWebARを体験することができますので、ぜひ読み込んで体験してみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/ddf5c37a-10ca-7ad9-78e2-5eb106482e2a.png)


## チュートリアル
ここからは8th Wall開発のチュートリアルについて解説していきたいと思います。

今回は「Tap to Place Ground」という、地面をタップすることで3Dオブジェクトを配置することができるプロジェクトテンプレートをもとに、配置できる3Dオブジェクトをデフォルトのサボテンから木の3Dオブジェクトに変える方法について解説します。

![giphy.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/168a4102-8b59-10a5-3ca5-dfed6226d0cc.gif)

https://www.8thwall.com/8thwall/placeground-aframe

### プロジェクトをCloneする

8th WallにアクセスするとMy Projectsに自分のプロジェクトが並んでいます。
右上のStart a new projectからプロジェクトを追加します。
![スクリーンショット 2023-03-06 14.27.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/ad4ed435-6d92-890e-0a69-e5eb4cba4a32.png)


ワークスペースを選択します。
![スクリーンショット 2023-03-06 14.28.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/490190f4-8b41-9029-0350-3c1d47ac598f.png)


プロジェクトのURLを指定、ライセンスタイプを選択します。
プロジェクトURLは一度設定すると後から変更できないので慎重に決めてください。
![スクリーンショット 2023-03-06 14.30.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/c2d065a5-ad2b-8852-baf6-df76d815ff61.png)

createを押すとテンプレートを選択することができます。
今回は8th Wall Templatesから「A-Frame: Tap to Place Ground」を選択します。
![スクリーンショット 2023-03-06 14.32.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/20f8b2b1-834b-3f44-737c-64eb67171379.png)


「Clone Project」を押下し、プロジェクトを作成します。
![スクリーンショット 2023-03-06 14.34.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/bac8c655-4bdb-fbc4-adf7-56a81060252e.png)


こちらがクラウドエディタになります。
ファイルはhead.html、app.js、body.htmlがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/5785c8df-da93-3f1c-6d4d-1ef735add273.png)

Assetsに3Dモデルが格納されています。
ファイル名を選択するとプレビューを確認することができます。
![スクリーンショット 2023-03-06 14.35.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/50c4c130-1c5f-750e-9efa-1f1f9f6e6209.png)

### 初期状態の動作を確認する

まずは現在のプレビューを確認してみましょう。
PreviewのQRコードをスマホで読み取ってください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/81956e81-35e2-df54-c6b7-8cfe9598c332.png)

カメラが起動し、タップするとサボテンがAR上で表示されます。
ここから実際にサボテンのモデルを木のモデルに変えてみたいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/4935d34b-4501-4f8b-7b05-c4aaab737913.png)

### 3Dオブジェクトを差し替える

エディタに戻り、左側のAssetsに木のモデルをドラッグ&ドロップで追加します。
もちろんglbファイルであれば自作の3Dモデルでも大丈夫です。
![スクリーンショット 2023-03-06 14.38.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/7f6cf368-eb4c-b4c5-20ba-5fcf3607686d.png)


body.htmlのa-asset-itemのsrcをcactus.glbから先ほど追加したファイル名に変更します。
Save + Buildをしてから再度プレビューを確認してみましょう。
![スクリーンショット 2023-03-06 14.39.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/9440600e-61aa-f6c4-9b4d-9d5fc52b2493.png)


画面をタップするとサボテンではなく木が表示されるようになりました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741747/9f6802f8-8343-7bda-99b2-089dc1389d4d.png)

## 最後に
WebARを触ったのは初めてでしたが、とても簡単にAR開発ができました。
他にも様々なサンプルプロジェクトがあるので色々遊んでみたいと思います。