赞
踩
在Unity3d中使用现有的Netcode/Mirror组件实现Hololens、Android和Pc端的三方通信,可以指定一平台为服务器端,其他的两平台多为客户端,不过通常是进行两个平台的通信即可。在这片文章中,可以实现平移、缩放以及旋转的同步
具体步骤如下:
版本:unity2020.3LTS、VS2019
一、配置
1、加载包netcode,在window中加载netcode包使用URL:com.unity.netcode.gameobject
2、创建空的对象(命名为NetworkManager),加载NetworkManager组件,选择U-net Transport,并添加Network Transform组件,以方便实现同步。
3、创建一个目标对象,命名为Player,在对象上添加Network Object组件
4、在Project菜单里面的Assets中创建新的一个文件夹名为Scrips,并在里面添加两个新的组件,一个为HelloWorldManager一个为HelloWorldPlayer。(其中的HelloWorldManager类似之前的Network Manager Hub将键显示出来)
5、将HelloWorldManager挂在上述的空对象上,HelloWorldPlayer挂在建立的目标对象上,然后将目标对象移动到Assets新建的Prefab目录中,并将其在Hierarchy中删除。
6、将Prefabs文件中的Player对象加入至Hierarchy中的NetworkManager的NetworkMangaer组件如下属性中。
7、 修改NetworkManager对象的U-Net Transport组件中的连接的Ip地址
二、部署
1、前提准备
PC和Hololens端:打开电脑的开发者模式,并且将当前网络设置成专用网络。Vs中必须有Windows平台开发(必须选择上usb连接,否则后面部署hololens上会失败)、C++桌面开发、两个游戏开发都要有。
2、Pc部署:先转换成对应平台,修改连接的ip地址以及如下地方,然后build
Andoird部署:转换平台,修改ip后build
Hololens部署:
(1)转换平台,我使用的是Usb连接,故转换平台后的配置如下:
(2)值得注意的是,Hololens还需要进行网络上的一些配置的选择,否则不会成功,
参考:Hololens 2与PC端UDP通信遇到的问题_huahhh的博客-CSDN博客
(3)使用vs进行hololens设备上的部署,build之后打开里面的sln文件,进行如上设置之后进行生成。
在这再三强调,usb进行连接失败的原因是Vs没有下载usb连接。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。