我想通过向左或向右倾斜SteamVR控制器来控制摩托车的转向。
我尝试的是:
private SteamVR_Controller.Device controller;
public Vector3 angle { get { return controller.transform.rot.eulerAngles.x; } }
public float steerInput = 0f;
void Inputs (){
steerInput = steerInput * angle;
}
我收到以下错误:无法隐式转换类型float' to
UnityEngine.Vector3'
你有想法解决它吗? 来自德国的问候:)
答案 0 :(得分:1)
您的angle
变量属于Vector3
。
controller.transform.rot.eulerAngles.x
属性类型为float
。
你得到:
错误:无法隐式转换类型float' toUnityEngine.Vector3':
因为您想要在controller.transform.rot.eulerAngles.x
的属性中返回float
Vector3
。
返回controller.transform.rot.eulerAngles
,因为eulerAngles
是Vector3
。
private SteamVR_Controller.Device controller;
public Vector3 angle { get { return controller.transform.rot.eulerAngles;} }
public float steerInput = 0f;
请注意,同样的事情适用于steerInput = steerInput * angle;
,但此时相反。您无法将Vector3
转换为float
,也必须解决此问题。我不知道你到底在做什么,但你也必须解决它。