nreal developerページをざっと読んでみた (Discover編)

nreal developerのページをざっと流し見して、日本語でも読みやすいように補助的な記事を書いていきます。この記事はDiscover編です。

--- 
[nreal developerページをざっと読んでみた (Discover編)](https://qiita.com/iwaken71/items/4e11ebcf4bd206d3bd6b)
[nreal developerページをざっと読んでみた (Quickstart編)](https://qiita.com/iwaken71/items/d7cc1edb84713c9c4a24)
[nreal developerページをざっと読んでみた (Image Tracking編)](https://qiita.com/iwaken71/items/d7cc1edb84713c9c4a24)
[nreal developerページをざっと読んでみた (Controller編)](https://qiita.com/iwaken71/items/dd254f200b3ff9d3c3bc)

--- 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96970/ac6c9dbf-49f3-0ea7-a397-6e6b7d3d1873.png)


https://developer.nreal.ai/develop/discover/introduction-nrsdk

# 構成

- Discover
    - Introducing NRSDK
        - Spatial Computing
        - Optimized Rendering
        - Multi-modal Interactions
        - Developer Tools
        - Third-party Integration
    - Nreal Developer Kit
    - Core Features
        - Spatial Computing
            - 6DoF Tracking
            - Plane Detection
            - Image Tracking
        - Optimized Rendering
            - Warping
        - Multi-modal Integrations
            - Nreal Light Controller (3DoF)
            - Nreal Phone Controller (3Dof)
        - Developer Tools
            - Testing Tool (Emulator)
            - Observer View
        - Third-party Integration
- Develop
    - [Quickstart for Android](https://qiita.com/iwaken71/items/d7db2c246e77268d742d)
    - Image Tracking
    - Controller
    - Design Guide
    - Observer View
    - RGB Camera
    - Emulator: Testing your app
    - Video Capture
    - Customize Phone Controller


# 気になる言葉

普段聞き慣れない言葉について調べてみました (6DoF Trackingなどは自分で調べてみてね)

## Multi-modal Interactions

複数の入力モードを選択でき、インタラクションできるという意味のようです。
Nrealがカメラからの情報やハンドトラッキングだけでなく、コントローラでの入力も選択できる(しかも、Nreal Light ControllerとNreal Phone Controllerを選択できる)ということなのだと予想しています。

> 参考: http://www.jp.honda-ri.com/research_areas/ci/intelligence04/index.html

## Third-party Integration

> NRSDK is designed as an open platform and can be integrated with third-party SDKs as plug-ins. For example, data from the RGB camera is available for third-party SDKs to run face detection algorithms.
https://developer.nreal.ai/develop/discover/core-features

NRSDKはオープンなプラットフォームとして設計されるので、他のサードパーティ製のSDKとも結合可能ですよという。例えば、RBGカメラでのデータを顔検出アルゴリズムSDKなどと組み合わせることができるということですね。

NRSDKから取得できる値で面白いことしましょう！というのを感じます。





## Warping

日本語に訳すと「歪み」です。

> Instead of polling tracking data at the very beginning of each frame to render the image, NRSDK uses the last predicted position of the Nreal glasses to warp the rendered image, reproject, and send to display before every VSync.
https://developer.nreal.ai/develop/discover/core-features

Google翻訳すると

> 各フレームの最初に追跡データをポーリングして画像をレンダリングする代わりに、NRSDKはNrealメガネの最後に予測された位置を使用して、レンダリングされた画像をワープし、再投影し、すべてのVSyncの前に表示に送信します。


私はわかりませんでした...予想するに、トラッキングなど頑張ってレンダリングが遅くなると酔いが発生するのですが、それが起きないように、うまく色んなデータを使ってレンダリングの遅延が発生しないような工夫をしているようです。

# Observer View


> NRSDK's observer view allows users to share their mixed reality experience with others who are holding a phone or tablet running ARCore. These shared experiences can be streamed or recorded.
https://developer.nreal.ai/develop/unity/observer-view

簡単に言うと、Nrealでの体験をARCore機能を持つタブレットへ共有できるようです。
ARメガネだと体験者以外何が起きているのだろう、という現象がおきるのでこれは嬉しいですね！

# Next Step

次回は[Quickstart編](https://qiita.com/iwaken71/items/d7db2c246e77268d742d)！見てね