Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机

文章目录

    • 1.添加基本组件
    • 2.创建NetworkManager组件
    • 3.创建Player
    • 4.创建地面
    • 5.创建GameManager
    • 6.编译运行
    • 7. 测试联机
    • 后话


1.添加基本组件

  • NetworkManager
  • Player
  • Scene

2.创建NetworkManager组件

创建一个空物体,命名为NetworkManager

选择刚刚创建的NetworkManager, 添加NetworkManager脚本


选择 UnityTransport


最后保存一下即可完成配置


3.创建Player

创建一个胶囊,命名为Player, 并添加一个Network Object组件

Assets目录下创建一个Prefabs文件夹,把刚刚创建的物体拖进去

然后按Delete删除在场景中的Player

在点击NetworkManager,把Player拖进去Player Prefab

创建个prefabs Lists, 命名为PrefabLists,双击打开把Player拖进去


创建好后在NetworkManager中导入这个

这个后续可以在创建一个角色,让每个Client可以选择角色加载


4.创建地面

打开编译设置,添加场景



5.创建GameManager

Scripts文件夹创建一个GameManager脚本

using UnityEngine;
using Unity.Netcode;public class GameManager : MonoBehaviour
{private void Update(){if (Input.GetKeyDown(KeyCode.O)){NetworkManager.Singleton.StartHost();}if (Input.GetKeyDown(KeyCode.P)){NetworkManager.Singleton.StartClient();}}
}

挂载到NetworkManager下面


6.编译运行

设置窗口化运行

然后点击Build即可


7. 测试联机

一个程序按下O键创建主机,另外一个按下P键加入主机

虽然两个角色重叠了在一起,但还是运行成功了。


后话

这边讲的很粗略,后面会慢慢更新教程

官方教程:https://docs-multiplayer.unity3d.com/netcode/current/tutorials/get-started-ngo/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/115964.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之访问者模式

文章目录 测评系统的需求传统方式的问题分析访问者模式基本介绍访问者模式的原理类图访问者模式应用实例访问者模式的注意事项和细节 测评系统的需求 将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价…

gin-基础笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1、get和post方法2、重定向3、获取第三方数据4、多形式渲染5、文件服务器6、单文件上传7、多文件上传8、自定义中间件9、登录中间件10、同步异步11、多服务器程…

UML六大关系总结

UML六大关系有:继承、关系、聚合、组合、实现、依赖。分为通过图和代码总结这些关系。 1、继承 继承(Inheritance):表示类之间的继承关系,子类继承父类的属性和方法,并可以添加自己的扩展。 继承&#x…

滑动窗口9.23

1876.长度为3且各字符不同的子字符串 1876. 长度为三且各字符不同的子字符串 - 力扣(LeetCode)https://leetcode.cn/problems/substrings-of-size-three-with-distinct-characters/?envTypelist&envId24zW97w8自写思路: 数组充当哈希表…

C语言指针变量的引用距离

本段代码&#xff0c;测试&#xff0c;C的函数传参中&#xff0c;形参是基础类型参数和地址参数&#xff0c;对于实参的值影响。 #include <stdio.h> add(int a,int b){a;b;printf("add副本a%d\n",a);printf("add副本b%d\n",b);printf("副本ca…

html怎么设置按钮返回顶部

在 HTML 中&#xff0c;我们可以通过一些代码和 CSS 样式来创建一个这样的按钮。 <button onclick"topFunction()" id"myBtn">返回顶部</button> <style> #myBtn { display: none; position: fixed; bottom: 20px; right: 30px; z-inde…

Qt QCustomPlot介绍

介绍 主要介绍qcustomplot及其用法 最新版本:QCustomPlot Patch Release 2.1.1//November 6, 2022 下载:https://www.qcustomplot.com/index.php/download 官网:https://www.qcustomplot.com/index.php 简单使用 mainwindow.h /**************************************…

Godot配置C#语言编写脚本(使用VSCode作为外部编辑器)

文章目录 Godot部分查看VSCode的所在位置配置外部编辑器 配置VSCode编写脚本中文注释 其他文章字符编码 Godot部分 打开编辑器-编辑器设置&#xff1b; 查看VSCode的所在位置 右键单击你的VScode快捷方式&#xff0c;选择属性。 这里的目标就是你的VSCode所在的位置。 配…

【算法专题突破】二分查找 - 704. 二分查找(16)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 1. 题目解析 题目链接&#xff1a;704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 题目非常简单&#xff0c;就是查找一个 target。 2. 算法原理 根据最基本的二分查找算法&#xff1a; 在一个…

swift 天气

定义不同模式主题 自定义颜色 输入框 委托和协议 扩展 协议 http 请求 调用api 闭包

#循循渐进学51单片机#UART串口通信#not.10

1、能够理解UART串口通信的基本原理和通信过程。 1&#xff09;串行通信的初步认识 并行通信&#xff1a;通信时数据的各个位同时传送&#xff0c;可以实现字节为单位通信&#xff0c;但是通信线占用资源太多&#xff0c;成本高。 串行通信&#xff1a;一次只能发送一位&…

亚马逊云科技 Amazon Lightsail :一种在云服务器上运行容器的简单方法

当向开发人员介绍亚马逊云科技云服务时&#xff0c;通常会花一点时间来介绍并演示 Amazon Lightsail 。它是迄今为止开始使用亚马逊云科技的最简单方法。使用它&#xff0c;您在几分钟内即可在自己的虚拟服务器上运行您的应用程序。而后增加了在 Amazon Lightsail 上部署基于容…