簡體   English   中英

將 Unity.Netcode 與 Starter Asset Controller(新輸入系統)一起使用時,網絡客戶端使用了錯誤的輸入設備

[英]Network Client use wrong input devices when using Unity.Netcode with Starter Asset Controller (New input system)

服務器始終使用鍵盤和鼠標就好了。

然而,客戶端總是使用“xbox 控制器”而不是鍵盤和鼠標:

下面是作為客戶端的inspector視圖:

在此處輸入圖像描述

Start Asset 輸入操作不變, 在此處輸入圖像描述

這是我嘗試過的,但客戶端仍被分配給 controller:

private void Start()
{
    if (!IsOwner)
    {
        Destroy(GetComponent<PlayerInput>());
    }
}

我該如何解決這個問題? 除了硬編碼(PlayerInput)map.SwitchCurrentControlScheme("KeyboardAndMouse");

此問題已通過禁用Player Input腳本得到解決。

並且只在 Network Spawn 上啟用它。

    public override void OnNetworkSpawn()
    {
        base.OnNetworkSpawn();
        if (IsOwner)
        {
            _playerInput = GetComponent<PlayerInput>();
            _playerInput.enabled = true;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM