【问题标题】:SteamVR Controller Rotation to floatSteamVR 控制器旋转浮动
【发布时间】:2017-06-26 08:18:44
【问题描述】:

我想通过左右倾斜 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' toUnityEngine.Vector3'

你有解决它的想法吗? 来自德国的问候:)

【问题讨论】:

  • 你在哪一行得到这个错误?
  • 在公共矢量3角

标签: c# unity3d htc-vive


【解决方案1】:

您的angle 变量是Vector3 的类型。

controller.transform.rot.eulerAngles.x 属性是 float 的一种类型。

你得到:

错误:无法将类型 float' 隐式转换为 UnityEngine.Vector3':

因为您要在Vector3 的属性中返回controller.transform.rot.eulerAngles.x,它是float

返回controller.transform.rot.eulerAngles,因为eulerAnglesVector3

private SteamVR_Controller.Device controller;
public Vector3 angle { get { return controller.transform.rot.eulerAngles;} }
public float steerInput = 0f;

请注意,同样的事情适用于steerInput = steerInput * angle;,但这次相反。您不能将 Vector3 转换为 float 并且也必须修复它。我不知道你到底在做什么,但你也必须修复它。

【讨论】:

  • 感谢您的回答。但这会导致同样的错误:(
  • 我认为这就是 OP 的意思。我在回答中描述了这一点。不知道 OP 试图用 steerInput = steerInput * angle; 做什么,但他为 steerInput 分配了错误的数据类型。
  • 错误在同一行。它不会解决我的问题。因为我需要 x 旋转。换句话说:控制器的 X Rotation 应该增加或减少 steerInput 的值。有任何想法吗?好像vector 3和float不能这样组合
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多