Unity VR UNET使PC和VR成为同一播放器

时间:2019-09-19 06:45:46

标签: unity3d unity-networking

很抱歉,没有要显示的代码,但这是一个非常结构化的问题。

首先,我不得不说我必须使用UNET,是的,我知道它已被弃用,但是我没有做一个实际的网络游戏,它会让用户加入游戏。我会解释: 我有一个连接到硬件的项目。 PC正在运行Unity大脑,该大脑控制硬件并从中接收信息,依此类推。这部分效果很好。

问题是,我需要连接Simple VR眼镜环顾四周(只是环顾四周并“按下”开始按钮),除此之外,其他所有操作仍将由PC控制(如果运行,则将运行UNET服务器) (需要)以及移动,获取输入和执行操作的主要客户端,而VR则必须是一种“奴隶”,仅用于环顾四周。我想要UNET,因为用于该项目的单位是18.3.14f1,是的,我知道它很旧,但是它是一种遗产,我现在无法更改,并且我不需要一台可能的服务器,因为所有硬件在同一局域网中。

据我了解,在客户端/服务器中,每个客户端(PC和VR)都会生成一个新客户端,因此,当VR中的客户端不会具有与PC上相同的客户端时。这使事情变得非常复杂。

我可以拥有某种可以同时控制两者的MASTER / SLAVE吗? 如果不是,我应该在服务器上执行所有操作并将所有内容发送给两个客户端吗?还是我应该采用常规方法,将客户端上的所有内容发送给其他用户(更改应用程序中的所有代码)?

找不到答案,我不认为这是一个非常有用的案例。

10倍。

1 个答案:

答案 0 :(得分:1)

  

首先,我必须说我必须使用UNET,是的,我知道   已弃用,但我没有在做真正的网络游戏,   用户加入游戏。我将解释:我有一个项目是   连接到硬件。 PC正在运行可控制的Unity大脑   硬件并从中接收信息,依此类推。这部分正在工作   很好。

您可以使用Mirror,这样当Unity从引擎中删除UNET时不会遇到麻烦。

  

问题是我需要连接Simple VR眼镜环顾四周   (仅用于查找和“按下”启动按钮),什么也没有   否则,一切仍将由PC控制(它将运行   UNET服务器(如果需要)和移动并获取输入的主要客户端   并做事,而VR需要成为一种“奴隶”   环顾四周。

这不是UNET的工作方式。基本思想是,游戏可以在每个设备上同时运行。您的VR眼镜必须运行游戏才能进行渲染。使用UNET,您只需同步游戏状态并确保每个连接的实例都具有相同的状态。

  

据我了解,在客户端/服务器中,每个客户端(PC AND   VR)SPAWNS一个新客户端,因此当VR中的客户端将没有   PC上的同一客户端。这使事情变得非常复杂。

     

我可以拥有某种可以同时控制两者的MASTER / SLAVE吗?   如果不是,我应该在服务器上执行所有操作并将其发送到   两个客户?还是我应该采用常规方法发送   从客户端到另一端的所有内容(更改   应用程序)?

每个连接的设备都可以在游戏的每个连接实例上生成一个新的Player。我认为这将帮助您区分VR眼镜和客户端之间的同步状态。

  

找不到答案,我不认为这是一个非常有用的案例   场景。

您尚未锁定UNET。有时设置自己的TCP或UDP通信是可行的。

您的UseCase的描述不明确。 VR Glass是否应该独立运行,并且您希望PC承担所有工作量?还是连接了VR眼镜以创建共享体验? PC的作用是什么?在那里应该显示什么?