我正在使用信标通过Unity增强现实功能显示室内路径。我从资产商店购买了一个插件。从信标中获得了RSSI(强度)。我仅使用了一个信标。我可以弹出在范围内时显示一条消息或模型。
1)如何显示从设备到信标所在的方向?我应该使用三角剖分法(需要深入的数学知识吗?)?如何实现?
2)除了使用信标之外,还有其他方法吗?我认为这是未来不使用信标的方法。 Blippar已经在为此工作(2019年)。
BluetoothLEHardwareInterface.ScanForPeripheralsWithServices(null, null, (address, name, rssi, bytes) =>
{
BluetoothLEHardwareInterface.Log("item scanned: " + address);
if (_scannedItems.ContainsKey(address))
{
var scannedItem = _scannedItems[address];
scannedItem.TextRSSIValue.text = rssi.ToString();
BluetoothLEHardwareInterface.Log("already in list " + rssi.ToString());
if (rssi > -50 && address == "65F9196B-96FE-98E5-B971-1A8EBCEAB08D")
{
Debug.Log("Near beacon is " + name + " " + rssi + " :" + address);
ShowPrefab();
}
else if (rssi < -50)
{
Debug.Log("Far");
HidePrefab();
}
}
else
{
BluetoothLEHardwareInterface.Log("item new: " + address);
var newItem = Instantiate(ScannedItemPrefab);
if (newItem != null)
{
BluetoothLEHardwareInterface.Log("item created: " + address);
newItem.transform.parent = transform;
var scannedItem = newItem.GetComponent<ScannedItemScript>();
if (scannedItem != null)
{
BluetoothLEHardwareInterface.Log("item set: " + address);
scannedItem.TextAddressValue.text = address;
scannedItem.TextNameValue.text = name;
scannedItem.TextRSSIValue.text = rssi.ToString();
_scannedItems[address] = scannedItem;
}
}
}
}, true);