| 略語 | 用語 | 意味 |
|---|---|---|
| No | 日付 | 版数 | 変更種別 | 変更内容 |
|---|---|---|---|---|
| 1 | 2026/01/15 | 0.1 | 新規 | 新規作成 |
1. 本ドキュメントについて¶
本ドキュメントは、箱庭ドローンシミュレータのUnityアプリケーションにLiDARセンサのセンシング状態を可視化するための追加方法になります。
2. UnityアプリケーションへのLiDAR追加¶
箱庭ドローンシミュレータの既存のPJを使って、ドローンの機体に搭載されているLiDARセンサからセンシング状態を可視化するためにアセット、スクリプトを追加します。
2.1. 既存のUnityアプリケーション利用¶
最初に箱庭ドローンシミュレータの既存Unityアプリケーションを開きます。

Assets/ScenesにあるAvatar.unityを選択して開きます。
Avatarアプリを開いたら、Fileメニュー→Save As...を選択して別名で保存します。本ドキュメントでは、LiDARAvatarという名前で保存します。

2.2. LiDAR可視化用のAssets¶
箱庭ドローンシミュレータのhakoniwa-unity-droneにはLiDARを可視化するためのAssetsが用意されています。
Assets/Scripts/Hakoniwa/VisualizeにLiDARディレクトリがあるります。このスクリプトを利用してLiDARの可視化をします。

2.2.1. LiDAR可視化用のスクリプト配置¶
HierarchyのDJIAvatar/DJIAvatarLiDAR/Sensorを選択します。

SensorがLiDARセンサになります。
2.2.1.1. LiDARセンサデータ可視化用のスクリプト配置¶
HierarchyのDJIAvatar/DJIAvatarLiDAR/Sensorを選択した状態でInspecorにDrone3DLiDARVisualizer.csのスクリプトをドラッグ&ドロップで配置します。

2.2.1.2. LiDARセンサデータの可視化UI用のスクリプト配置¶
Hierarchyで、右クリックして、Create Emptyのオブジェクトを作成します。

作成したオブジェクトの名前をLiDARUIに変更して、GUIに配置します。

配置したら、LiDARUIを選択した状態で、InspecorにDroneLiDARUI.csのスクリプトをドラッグ&ドロップで配置します。

2.2.2. LiDARスクリプトの初期化¶
Assets/Scripts/Hakoniwa/HakoSim/DroneAvatar.csに配置したLiDARスクリプトの初期化コードを追加します。 以下を追加してください。
using hakoniwa.visualization.lidar;
~中略~
namespace hakoniwa.drone.sim
{
public class DroneAvatar : MonoBehaviour, IHakoObject, IDroneBatteryStatus, IMovableObject
{
~中略~
private LiDAR3DController[] lidars;
private Drone3DLiDARVisualizer[] visualizers;
~中略~
public void EventInitialize()
{
~中略~
/*
* LiDAR
*/
lidars = this.GetComponentsInChildren<LiDAR3DController>();
if (lidars != null)
{
if (droneConfig)
{
droneConfig.SetLidarPosition(robotName);
}
foreach(var lidar in lidars)
{
lidar.DoInitialize(robotName, hakoPdu);
}
}
// LiDARのポイントクラウドを読み取るため、PDUを宣言しておく
try
{
var retLidar = hakoPdu.DeclarePduForRead(robotName, "lidar_points");
if (retLidar == false)
{
Debug.LogWarning($"Can not declare pdu for read: {robotName} lidar_points");
}
}
catch (Exception ex)
{
Debug.LogWarning($"Exception while declaring lidar_points PDU: {ex.Message}");
}
/*
* LiDAR Visualizer
*/
visualizers = this.GetComponentsInChildren<Drone3DLiDARVisualizer>();
~中略~
}
}
}
2.3. 動作確認¶
ここまでの配置が完了したら、Unityにてビルドを実行するか、Playボタンで実行すると、LiDARの可視化を体験することができます。
Unityのビルドの詳細については、hakoniwa-unity-droneのビルド編などを参考にしてください。