ハッカソン参加時の備忘録 ～ 第10回：テクニカル賞の常連、xRに触れてみよう

# はじめに
こんにちは。エンジニアのきゅうです。

ハッカソンと言えばプロダクトの見た目やインパクトも重要なことから、VRゴーグルを使用するチームも多くいます。
ですので、今回から何回かに渡って、前回のハッカソンの際学んだVRのナレッジについて備忘録を残していきたいと思います。


# xR（クロスリアリティ）とは
VRやARなど耳にするようになってから結構時間が経ち、耳に馴染んできたような気がします。
当方が耳にするようになったのが、『ソードアートオンライン』というアニメがきっかけだったと思うので、もう15年位経つのではないでしょうか？
その間、VRだったりARだったり、MRだったり・・・いろいろな●Rが誕生しました。
（それらをまとめて『xR（クロスリアリティ）』と呼ぶらしいです。）
ですが、色々なxRが誕生したために、どのxRがどのようなものだか分かりずらくなってきましたので、
一旦、xRを整理したうえで、ハッカソンで使用できるxRの活用方法を備忘として残していきたいと思います。
以下、xRのイメージ図です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618971/d19d184f-e25e-8548-72e3-1e0e948e6a70.png)




# xRの種類
それではxRの種類を見ていきましょう。
<table>
    <caption>xRの違い</caption>
    <thead>
    <tr>
      <thead><th>名称</th><th>VR</th><th>MR</th><th>AR</th>
    </tr>
    </thead>
    <tr>
        <td>和名称</td><td>仮想現実</td><td>複合現実</td><td>拡張現実</td>
    </tr>
    <tr>
        <td>利用技術</td>
        <td>CG</td>
        <td>光学シースルー3D<br />ビデオシースルー3D</td>
        <td>2Dカメラ映像＋CG <br /> 光学シースルー3D</td>
    </tr>
    <tr>
        <td>デバイス</td>
        <td>Meta Quest 3 <br /> （VRゴーグル）<img src="https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcQZn0YiNTjeGUZ89ODISzUswqgJyHdRR-DN34g0UJFOYKjFFq5x4Y02QlSyi_Mc1NXQIcDDv71VFx9BVwb4i3YSYWkJcCFNpA">
        </td>
        <td>キャノンMREAL <br /> (ヘッドマウント型デバイス)<img src="https://global.canon/ja/technology/cutting-edge/mr2019/img/mr2019_img1.jpg"></td>
        <td>XREAL Air 2 <br /> （スマートグラス）<img src="https://assets.moguravr.com/uploads/2023/10/3c5dd8bd1d23b393f24dd1b741bda823-kix.fx9cd94o7cqy.png"></td>
    </tr>
    <tr>
        <td>説明</td>
        <td>VRは主にVRゴーグルなどを着用し、映し出される映像すべてがバーチャル（仮想）であり、CG等で構成された「現実ではない」空間のことで、その「現実ではない」空間に入り込んだような体験ができる技術。</td>
        <td>MRはARとVRの中間的xRで、ARをさらに拡張し、頭に装着するディスプレイを通し、実際にはその場所にないものを現実世界と仮想の世界を重ね合わせて表示（複合現実）し、自由にな位置や角度から体感できる技術。</td>
        <td>ARは主にスマートフォンやタブレット、サングラス型のARグラスを通して、リアルな現実の風景に、さまざまな情報を付け加えて見せる技術。<br />気軽に体感でき、個人で楽しめるゲームでも多く採用されている。</td>
    </tr>
    <tr>
        <td>開発環境</td>
        <td>Unity Hub</td>
        <td>Unity Hub</td>
        <td>★スマホ向け<br />
        iOS向け：Xcode<br />
        Androido向け：Android Studio<br />
        ★もともとはゲーム開発<br />
        Unity Hub<br />
        Unreal Engine<br />
        <br />
        <br />
        </td>
    </tr>
    <tr>
        <td>言語</td>
        <td>Unity：C#</td>
        <td>Unity：C#</td>
        <td>★スマホ向け★<br />
        iOS向け：Swift<br />
        Androido向け：Kotlin、Java<br />
        Unity：C#<br />
        ★Web AR★<br />
        HTML+JavaScript<br />
        </td>
    </tr>
    <tr>
        <td>ライブラリ</td>
        <td></td>
        <td>★Unity★<br />
        Mixed Reality Toolkit<br />
        ★ARグラス<br />
        Magic Leap Toolkit<br /></td>
        <td>★スマホ向け★<br />
        iOS向け：ARKit<br />
        Androido向け：ARCore<br />
        ★Web AR★<br />
        AR.js<br />
        ★Unity★<br />
        Mixed Reality Toolkit<br />
        ★ARグラス<br />
        Magic Leap Toolkit<br />
        ★そのほか★<br />
        Amazon Sumerian、Vuforia、Spark AR<br />
        <br />
        </td>
    </tr>
</table>

表にまとめてみましたが、こんな感じではないでしょうか？
当方が調査しきれていないものも十二分にありますので、この備忘録を見られた方はご自分の得意な環境や言語、ライブラリでAR・MR・VRの開発をしていただければと思います。
（TypeScriptとNode.jsを使って、WebARなるものを作っているチームもいたので、xRは無限大にバリエーションがありそうですね！！）

こちらの備忘録では、あくまで未来の当方がハッカソンに参加するときに向けての備忘録となりますので、次からはARを用いたスマホアプリと、MetaQuest3を用いたVRにフィーチャーして備忘録を書いていきたいと思います

はい。
ということで、今回の記事はここまでになります。
最後までお読み頂きありがとうございました。