はじめに
メディアフロント・ジャパンの山本です。
私たちは、実空間を活用したインタラクティブな展示システムを多く開発しています。
今回、北陽電機(Hokuyo)の URG シリーズを Unity で手軽に扱うためのライブラリ URG-Unity を公開しました。
現時点では UST-10LX に対応しています。
できること
URG-Unityでは、UST-10LX から取得した距離データを、Prefabをシーンに配置するだけでUnity 上の入力(Pointer/Touch) として直接扱えるようになります。
主な機能
2Dスキャン平面への変換: センサの距離データを Unity 上の 2D 座標系へ変換。
ヒット点の抽出: スキャン結果から「触れた」ポイントを抽出。
Unity UI (uGUI) への直接入力: Input System Touchscreenに対応しているため、EventSystem と連携し、ボタン操作などが可能。
2. システム構成
このライブラリは、センサから取得した配列データの処理を Unity の Job System と Burst を使ってマルチスレッド化しています。
以下をジョブ化しています。
- エンコード済み SCIP データの展開
- 距離配列のデコード
- 距離値から 2D 座標への変換
- ローカル座標からスクリーン座標への変換
これにより、センサ入力の処理負荷を分散しながら、Unity 側の UI 処理や描画処理と共存しやすくしています。
3. 基本的な使い方

導入は Unity Package Manager から行えます。
https://github.com/MediaFrontJapan/URG-Unity.git?path=/Packages/com.mediafrontjapan.urg-unity
基本的な手順は次のとおりです。
- パッケージを追加する
-
SCIPInputModules.prefabをシーンに配置する -
EventSystemをシーンに置く - PC と
UST-10LXを接続する - Play Mode で
Cキーを押して設定 UI を開く - IP アドレス、位置、角度、スケールを調整する
-
Cキーをもう一度押して設定を保存する
設定値は PlayerPrefs に保存されるので、毎回ゼロから調整し直さなくて済みます。
注意点
現状の前提は次のとおりです。
- 対応センサは
UST-10LXのみ - ドラッグによるキャリブレーションは
Screen Space Overlayの Canvas 前提