An open API service indexing awesome lists of open source software.

https://github.com/drumath2237/immersal-server-localizer

Immersal REST APIを使用して位置合わせを行うUnityパッケージ
https://github.com/drumath2237/immersal-server-localizer

ar csharp immersal unity

Last synced: 5 months ago
JSON representation

Immersal REST APIを使用して位置合わせを行うUnityパッケージ

Awesome Lists containing this project

README

          

# Immersal Server Localizer

[![Run EditMode Test](https://github.com/drumath2237/Immersal-Server-Localizer/actions/workflows/test.yml/badge.svg)](https://github.com/drumath2237/Immersal-Server-Localizer/actions/workflows/test.yml)

## About

ImmersalのREST APIを使用して空間の位置合わせを行うUnity Packageです。

ほぼ自分用に作っちゃったので変な仕様があるかもしれませんがすみません。

## Tested Environments

- Unity 2020.3.11f
- UniTask 2.2.5
- ARFoundation 4.1.7
- Keijiro/Pcx
- Pixel 4a 5G
- Windows 10 Home

## Install

このパッケージは以下のパッケージに依存していますので、インストールをしてください。

- ARFoundation 4.1.7
- UniTask 2.2.5

Immersal
Server Localizerパッケージをインストールするためには、
PackageManagerの「Add package from git URL...」をクリックし、
`https://github.com/drumath2237/Immersal-Server-Localizer.git?path=/Packages/ImmersalServerLocalizer`とします。

もしくはmanifest.jsonを直接編集して、

```json:manifest.json
{
"dependency":{
"com.drumath2237.immersal-server-localizer": "https://github.com/drumath2237/Immersal-Server-Localizer.git?path=/Packages/ImmersalServerLocalizer",
}
}
```

を追記します。

## Usage

1. 適当なディレクトリにCreateメニューから`Immersal REST Localizer`>`ConfigurationScriptableObject`でConfigファイルを作成し、Immersal Developer TokenとマップのID配列を入力してください。
2. ARFoundationを使ってARシーンを構成します。
3. シーンを作成してImmersalという空のオブジェクトに`Immersal Server Localizer`コンポーネントをアタッチします。
4. LocalizerコンポーネントのConfigurationに、先ほど作成したImmersalのコンフィグファイルをアタッチします。
5. シーンに適当にTextMeshProのテキストオブジェクトを作成し、Log Textにアタッチします。
6. シーンにAR Spaceという空のオブジェクトを作成し、ImmersalServerLocalizerコンポーネントのAR Spaceにアタッチします。
7. CameraManagerおよびCameraTransformにAR Session Originの子オブジェクトであるARCameraをアタッチします。
8. シーンに適当にボタンを配置し、ClickイベントのCallbackにLocalizerコンポーネントのLocalize()メソッドを指定します
9. Androidビルドを実行し、位置合わせを行います。

シーン中のAR Space以下に配置したオブジェクトが
位置合わせに適用されますので、お好みでImmersalのply点群などを配置してみてください。

~~このスクリプトではunsafeなコードが存在しますので、
Project SettingsからAllow Unsafeを有効にしてください。~~

## Cahnge Log

- **2021/9/30**
- TextMeshProへの依存を消去しました
- XRCpuImage->Texture2Dへの変換をasyncメソッドに移行できました
- これによりunsafeなコードを使う必要がなくなりました
- カメラのtransformをARCameraManagerのついたオブジェクトから取得するようにしました

## Contact

何かございましたら、[にー兄さんのTwitter](https://twitter.com/ninisan_drumath)までよろしくお願いいたします。