在 Unity 中触发接近传感器时出现问题
Having issues triggering the proximity sensor in Unity
我正在尝试使用 unity remote 在 phone 中使用接近传感器。
我试着按照这个 Documentation
输入系统工作正常。我已经安装了所有东西并导入了所有示例,unity remote 也在工作并且我已经使用 Sensor Test App 在我的 android 设备上测试了传感器。
/我只想触发此脚本并测试它是否正常工作。我无法将它附加到游戏对象,因为它不是从 MonoBehaviour 派生的。/
编辑:我已将脚本更改为 MonoBehaviour.before,它源自 Sensor
这是我的新传感器脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Controls;
public class Prox : MonoBehaviour
{
public ProximitySensor proximity;
private void Start()
{
if (ProximitySensor.current != null)
{
var _ProximitySensor = ProximitySensor.current;
InputSystem.EnableDevice(_ProximitySensor);
Debug.Log("proximity sensor is working");
}
Debug.Log("proximity error");
}
void Update()
{
if (proximity != null)
{
// InputSystem.EnableDevice(proximity);
var _ProximitySensor = ProximitySensor.current;
Debug.Log(_ProximitySensor);
var _dist = _ProximitySensor.distance;
Debug.Log(_dist);
}
else
{
Debug.Log("null");
}
}
}
控制台的输出总是返回“接近错误”
这意味着我从 ProximitySensor.current 得到空值。
我想要做的是在接近传感器被触发时移动一个游戏对象(用户将 phone 放在他们的耳朵上)。
如有任何帮助,我们将不胜感激
您收到“接近错误”,因为显示它的代码在 Start() 函数中,并且它将始终被执行。你必须写:
private void Start()
{
if (ProximitySensor.current != null)
{
var _ProximitySensor = ProximitySensor.current;
InputSystem.EnableDevice(_ProximitySensor);
Debug.Log("proximity sensor is working");
}
else
{
Debug.Log("proximity error");
}
}
我正在尝试使用 unity remote 在 phone 中使用接近传感器。 我试着按照这个 Documentation
输入系统工作正常。我已经安装了所有东西并导入了所有示例,unity remote 也在工作并且我已经使用 Sensor Test App 在我的 android 设备上测试了传感器。
/我只想触发此脚本并测试它是否正常工作。我无法将它附加到游戏对象,因为它不是从 MonoBehaviour 派生的。/
编辑:我已将脚本更改为 MonoBehaviour.before,它源自 Sensor
这是我的新传感器脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Controls;
public class Prox : MonoBehaviour
{
public ProximitySensor proximity;
private void Start()
{
if (ProximitySensor.current != null)
{
var _ProximitySensor = ProximitySensor.current;
InputSystem.EnableDevice(_ProximitySensor);
Debug.Log("proximity sensor is working");
}
Debug.Log("proximity error");
}
void Update()
{
if (proximity != null)
{
// InputSystem.EnableDevice(proximity);
var _ProximitySensor = ProximitySensor.current;
Debug.Log(_ProximitySensor);
var _dist = _ProximitySensor.distance;
Debug.Log(_dist);
}
else
{
Debug.Log("null");
}
}
}
控制台的输出总是返回“接近错误” 这意味着我从 ProximitySensor.current 得到空值。 我想要做的是在接近传感器被触发时移动一个游戏对象(用户将 phone 放在他们的耳朵上)。
如有任何帮助,我们将不胜感激
您收到“接近错误”,因为显示它的代码在 Start() 函数中,并且它将始终被执行。你必须写:
private void Start()
{
if (ProximitySensor.current != null)
{
var _ProximitySensor = ProximitySensor.current;
InputSystem.EnableDevice(_ProximitySensor);
Debug.Log("proximity sensor is working");
}
else
{
Debug.Log("proximity error");
}
}