Unity3d使用Netcode实现Hololens、Android和Pc端通信

在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连接。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: Unity Starter Assets是Unity官方提供的一些基础模型、贴图、声音和场景,用于帮助开发者快速搭建游戏原型或者学习Unity。 而NetcodeUnity官方推出的一款多人游戏开发工具,可以帮助开发者快速搭建基于云服务的多人游戏系统,支持多种网络连接方式和游戏类型。 将Unity Starter Assets与Netcode结合可以让开发者快速搭建一款基于云服务的多人游戏原型。开发者可以使用Unity Starter Assets中的基础模型、贴图、声音和场景,通过Netcode将多个玩家连接起来,实现多人游戏的基础功能,如玩家之间的同步、交互、碰撞检测等。同时,开发者可以根据自己的需要添加更多的游戏元素和功能,实现自己的游戏想法。 总之,将Unity Starter Assets与Netcode结合可以让开发者快速搭建多人游戏原型,节省开发时间和精力,加速游戏开发进程。 ### 回答2: Unity Starter Assets是Unity官方提供的一套通用的游戏素材和脚本库,旨在帮助开发者快速构建游戏原型。而NetcodeUnity官方的一款网络多人游戏开发工具,提供了可靠且高效的网络通信功能。 将Unity Starter Assets与Netcode结合使用,可以帮助开发者更轻松地创建基于网络的多人游戏。首先,Unity Starter Assets提供了各种有用的游戏资源,如模型、贴图、声音等,可以用来构建游戏场景和角色。这些资源可以与Netcode的网络功能结合,使得多个玩家可以在同一个场景中进行互动。 其次,Unity Starter Assets中的一些脚本库可以与Netcode的网络同步系统配合使用,确保游戏的物理属性、玩家输入和逻辑状态在多个客户端之间同步。比如,通过使用Netcode的服务器和客户端架构,可以确保玩家在不同设备上进行的操作能够实时同步,实现多人协作或对战模式。 此外,Unity Starter Assets还提供了一些示例项目和教程,使得开发者能够更快地理解和使用Netcode的功能。这些示例项目可以帮助开发者了解如何实现多人游戏中常见的功能,如玩家之间的交互、聊天功能、战斗系统等。 综上所述,将Unity Starter Assets与Netcode相结合,可以加快多人游戏的开发速度,提高开发效率。通过利用Unity Starter Assets提供的资源和脚本库,结合Netcode的网络通信功能,开发者可以轻松地构建出高质量的网络多人游戏。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值