C# 使用蒸汽VR控制器驾驶摩托车
对于一款VR摩托车游戏(由unity制作),我需要一个方向盘,由SteamVR控制器位置控制 我在寻找两种可能性中的一种:C# 使用蒸汽VR控制器驾驶摩托车,c#,unity3d,game-engine,htc-vive,C#,Unity3d,Game Engine,Htc Vive,对于一款VR摩托车游戏(由unity制作),我需要一个方向盘,由SteamVR控制器位置控制 我在寻找两种可能性中的一种: 向前移动控制器=向左转向;向后移动控制器=向右转向 或 向右倾斜控制器=向右转向;向左倾斜控制器=向左转向 现在,我有了这个输入脚本:(私有控制器变量和注释的steerinput只是一个尝试。没有这样做) //专用蒸汽控制器。设备控制器; 无效输入() { 速度=刚性速度大小*3.6f; //冻结Z轴旋转。 transform.eulerAngles=新矢量3(tran
现在,我有了这个输入脚本:(私有控制器变量和注释的steerinput只是一个尝试。没有这样做)
//专用蒸汽控制器。设备控制器;
无效输入()
{
速度=刚性速度大小*3.6f;
//冻结Z轴旋转。
transform.eulerAngles=新矢量3(transform.eulerAngles.x,transform.eulerAngles.y,0);
//如果崩溃了。。。
如果(!崩溃)
{
如果(!变速齿轮)
motorInput=Input.GetAxis(“垂直”);
其他的
motorInput=数学夹具(Input.GetAxis(“垂直”),-1,0);
steerInput=Input.GetAxis(“水平”);
//steerInput=controller.transform.rot.x;
}
其他的
{
电机输入=0;
输入=0;
}
//反向布尔
if(电机输入<0&&transform.InverseTransformDirection(刚性速度).z<0)
反向=真;
其他的
反向=假;
}
//private SteamVR_Controller.Device controller;
void Inputs()
{
Speed = rigid.velocity.magnitude * 3.6f;
//Freezing rotation by Z axis.
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, 0);
//If crashed...
if (!crashed)
{
if (!changingGear)
motorInput = Input.GetAxis("Vertical");
else
motorInput = Mathf.Clamp(Input.GetAxis("Vertical"), -1, 0);
steerInput = Input.GetAxis("Horizontal");
//steerInput = controller.transform.rot.x;
}
else
{
motorInput = 0;
steerInput = 0;
}
//Reverse bool
if (motorInput < 0 && transform.InverseTransformDirection(rigid.velocity).z < 0)
reversing = true;
else
reversing = false;
}