【问题标题】:Difficulty connecting two Hololens with Unet很难将两个 Hololens 与 Unet 连接起来
【发布时间】:2020-11-10 05:12:35
【问题描述】:

我对 Unity 比较陌生,目前正在尝试在 Hololens 上构建一个多用户应用程序。目前,我只是想让两个 Hololens 使用 Unet 通过 LAN 连接。当我使用我的一个 Hololens 来托管服务器时,我的笔记本电脑可以在 Unity 编辑器的播放模式下连接到它。但是,当我尝试使用我的其他 Hololens 连接到它时,它不起作用,我不知道为什么。还有其他人有这个问题吗?如果是这样,你如何解决它?

提前致谢。

编辑:一些代码

这是网络管理器的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using System;

public class NetworkManager_Custom : NetworkManager
{

    public void StartupHost()
    {
        setPort();
        NetworkManager.singleton.StartHost();
    }

    public void JoinGame()
    {
        SetIpAddress();
        setPort();
        NetworkManager.singleton.StartClient();
    }

    private void SetIpAddress()
    {
        string Address = "192.168.2.80";
        NetworkManager.singleton.networkAddress = Address;
    }

    private void setPort()
    {
        NetworkManager.singleton.networkPort = 9001;
    }
} 

这是启动服务器按钮的代码

using HoloToolkit.Unity.InputModule;
using UnityEngine;
using UnityEngine.Networking;

public class ok : NetworkBehaviour, IFocusable, IInputClickHandler
{
    bool hasFocus;
    public NetworkManager_Custom manager;

    
    public void OnFocusEnter()
    {
        hasFocus = true;
    }

    public void OnFocusExit()
    {
        hasFocus = false;
    }

    public void OnInputClicked(InputClickedEventData eventData)
    {
        
        manager.StartupHost();
        
    }
}

这是作为客户端加入服务器的代码

using HoloToolkit.Unity.InputModule;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.NetworkSystem;

public class aegf : NetworkBehaviour, IFocusable, IInputClickHandler
{
    bool hasFocus;
    public NetworkManager_Custom manager;

    

    public void OnFocusEnter()
    {
        hasFocus = true;
    }

    public void OnFocusExit()
    {
        hasFocus = false;
    }

    public void OnInputClicked(InputClickedEventData eventData)
    {
       
        manager.JoinGame();
    }
}

【问题讨论】:

  • 这个问题可能是由各种不同的原因引起的。您需要先排查两个 HoloLens 之间的网络连接问题,最好添加一些代码来说明问题。
  • 此外,UNet 已被弃用,将来会从 Unity 中移除,因此目前不推荐使用它:UNet Deprecation FAQ。因此,PUN 是在 HoloLens 上创建共享体验的更好选择,微软发布了关于如何创建 PUN 应用的分步教程:Setting up Photon Unity Networking
  • 感谢您的回复,我添加了我使用的代码。我现在将尝试 PUN,虽然该指南似乎用于 Hololens2,而我正在使用 Hololens1。

标签: unity3d hololens unity3d-unet


【解决方案1】:

值得仔细检查您设置的功能。确保选择所有这三个:

  • 互联网客户端
  • InternetClientServer
  • PrivateNetworkClientServer

参考:https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/appxmanifestschema/element-capability

【讨论】:

  • 我都选好了
猜你喜欢
  • 2021-10-28
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多