gpt4 book ai didi

unity3d - 如何在我的汽车模拟器游戏中集成 Hand Controller HC1

转载 作者:行者123 更新时间:2023-12-05 05:30:58 26 4
gpt4 key购买 nike

我正在使用 Unity 构建汽车模拟器游戏。对于输入,我使用 Logitheck 方向盘 G29。现在我需要使用 Hand Controller 来加速或刹车。这是我的手控器手控器 HC1 Link

现在我可以查看他的输入了吗?此设备可被我的 windows 10 系统识别,但如果我尝试使用此设备开始游戏,我无法加速或破坏汽车。

我在 Unity 的 InputController 中配置了这个: enter image description here

在我的 IRDSPlayerControls.cs 文件中,我编写了这些代码行:

if (Input.anyKey)
{
foreach (KeyCode kcode in Enum.GetValues(typeof(KeyCode)))
{
Debug.Log("Joystick pressed " + kcode);
}
}
Debug.Log("Input debug acc: " + Input.GetAxis("Vertical3"));
Debug.Log("Input debug frenata: " + Input.GetAxis("Vertical4"));

在 Unity 的控制台中,我可以显示这个:

Input debug acc: -1
Input debug frenata: -1

最佳答案

您可以检测特定操纵杆上的特定按钮joystick 1 button 0, joystick 1 button 1, joystick 2 button 0 ...

或任何操纵杆上的特定按钮 joystick button 0, joystick button 1, joystick button 2 ...

查看 Input Manager

我可以在这里一步一步地解释这个,但它不会像一些在线教程那样好。我推荐this video作为一个很好的教程来做到这一点。

更新:

我认为您的手控器提供模拟值,加速/刹车按钮实际上不是按钮,而是模拟操纵杆并具有一系列值。

检查此用途Input.GetJoystickNames :

using UnityEngine;

public class Example : MonoBehaviour
{
// Prints a joystick name if movement is detected.

void Update()
{
// requires you to set up axes "Joy0X" - "Joy3X" and "Joy0Y" - "Joy3Y" in the Input Manager
for (int i = 0; i < 4; i++)
{
if (Mathf.Abs(Input.GetAxis("Joy" + i + "X")) > 0.2 ||
Mathf.Abs(Input.GetAxis("Joy" + i + "Y")) > 0.2)
{
Debug.Log(Input.GetJoystickNames()[i] + " is moved");
}
}
}
}

关于unity3d - 如何在我的汽车模拟器游戏中集成 Hand Controller HC1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74488142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com