当前位置: 首页 > news >正文

在线网站建设工程标准app 网站 区别

在线网站建设工程标准,app 网站 区别,西安全网优化 西安网站推广,椒江住房和城乡建设规划局网站提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、安装 Netcode for GameObjects二、做个小Dome1.NetcodeManageNet2.创建UI3.创建预制体4.代码介绍UI代码随机位置代码总结前言 Netcode for GameObjects 是 … 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录前言一、安装 Netcode for GameObjects二、做个小Dome1.NetcodeManageNet2.创建UI3.创建预制体4.代码介绍UI代码随机位置代码总结前言 Netcode for GameObjects 是 Unity 官方推出的一套用于开发多人网络游戏的框架旨在简化基于 Unity 引擎的多人游戏开发流程。它允许开发者轻松地在多个客户端之间同步游戏对象GameObject的状态、处理网络通信以及管理玩家连接等核心功能尤其适合中小型多人游戏项目。 链接: 官方地址 一、安装 Netcode for GameObjects 打开 Unity 项目建议使用 Unity 2021.3 或更高版本。 进入 Package ManagerWindow → Package Manager。 点击左上角 “” 图标 → Add package by name… 输入包名 com.unity.netcode.gameobjects 并安装确保勾选 “Enable Preview Packages” 以获取最新版本。 直接搜索下载也可以。 二、做个小Dome doem的内容就是一个客户端随机移动圆球位置其他客户端会同步显示变化。 1.NetcodeManageNet 创建一个场景在场景创建一个空物体挂载NetcodeManage组件,并选择UnityTransport选择后会自动挂载UnityTransport脚本 2.创建UI 创建4个按钮一个text和InputField 。并挂载脚本如下图 3.创建预制体 创建一个圆球挂载NetwrokObject和NetworkTransform NetworkTransform 的pocition Rotation Scale全部勾选(多人同步位置、旋转、大小) NetworkManage 添加这个预制件如下图 4.代码介绍 UI代码 using System.Net; using System.Net.NetworkInformation; using Unity.Netcode; using Unity.Netcode.Samples; using Unity.Netcode.Transports.UTP; using UnityEngine; using UnityEngine.UI; namespace Twq {public class UI_Init : MonoBehaviour{public Transform NetworkManager_;public Text text_IP;public Button HostBtn;public Button ServerBtn;public InputField inputField;public Button ClientBtn;public GameObject obj01;public GameObject obj02;public Button RandomBtn;private void Awake(){text_IP.text GetIP();var networkManager NetworkManager_.GetComponentNetworkManager();UnityTransport unityTransport networkManager.GetComponentUnityTransport();//服务器地址填写0.0.0.0 本地可连接外网也可链接放在云服务器上才行//其他客户端连接时 输入 服务器IP 即可HostBtn.onClick.AddListener(() {unityTransport.SetConnectionData(0.0.0.0, 7777);networkManager.StartHost();obj01.SetActive(false);obj02.SetActive(true);});ServerBtn.onClick.AddListener(() {unityTransport.SetConnectionData(0.0.0.0, 7777);networkManager.StartServer();obj01.SetActive(false);});ClientBtn.onClick.AddListener(() {if (inputField.text ! null inputField.text ! ){unityTransport.SetConnectionData(inputField.text, 7777);networkManager.StartClient();obj01.SetActive(false);obj02.SetActive(true);}else{Debug.Log(请输入服务器的IP);}});RandomBtn.onClick.AddListener(() {if (!networkManager.IsClient){Debug.Log(没有 连上);}if (networkManager.LocalClient ! null){// Get BootstrapPlayer component from the players PlayerObjectif (networkManager.LocalClient.PlayerObject.TryGetComponent(out BootstrapPlayer bootstrapPlayer)){// Invoke a ServerRpc from client-side to teleport player to a random position on the server-sidebootstrapPlayer.RandomTeleportServerRpc();}}});}private string GetIP(){string ipv4 ;foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()){NetworkInterfaceType _type1 NetworkInterfaceType.Wireless80211;NetworkInterfaceType _type2 NetworkInterfaceType.Ethernet;if (item.NetworkInterfaceType _type1 || item.NetworkInterfaceType _type2 item.OperationalStatus OperationalStatus.Up){foreach (UnicastIPAddressInformation ip in item.GetIPProperties().UnicastAddresses){if (ip.Address.AddressFamily System.Net.Sockets.AddressFamily.InterNetwork){ipv4 ip.Address.ToString();}}}}return ipv4;}} } 随机位置代码 using UnityEngine;namespace Unity.Netcode.Samples {/// summary/// Component attached to the Player Prefab on the NetworkManager./// /summarypublic class BootstrapPlayer : NetworkBehaviour{/// summary/// If this method is invoked on the client instance of this player, it will invoke a ServerRpc on the server-side./// If this method is invoked on the server instance of this player, it will teleport player to a random position./// /summary/// remarks/// Since a NetworkTransform component is attached to this player, and the authority on that component is set to Server,/// this transforms position modification can only be performed on the server, where it will then be replicated down to all clients through NetworkTransform./// /remarks[ServerRpc]public void RandomTeleportServerRpc(){var oldPosition transform.position;transform.position GetRandomPositionOnXYPlane();var newPosition transform.position;print(${nameof(RandomTeleportServerRpc)}() - {nameof(OwnerClientId)}: {OwnerClientId} --- {nameof(oldPosition)}: {oldPosition} --- {nameof(newPosition)}: {newPosition});}private static Vector3 GetRandomPositionOnXYPlane(){return new Vector3(Random.Range(-3f, 3f), Random.Range(-3f, 3f), 0f);}} } 总结 项目源码 链接
http://www.pierceye.com/news/31617/

相关文章:

  • 椒江街道招聘建设网站东莞网站建设58
  • 怎么修改自己的网站怎样做网站图清晰
  • 网站内页301重定向wordpress文章子标题
  • 怎么进行网站优化wordpress可以做电影网站吗
  • 我负责与你们公司网站建设的沟通婚庆公司网站搭建
  • 昆山网站建设网站西安哪家做网站好
  • 网站时间显示建筑信息平台网
  • 如何利用个人nas做网站安新建设局网站
  • 网站规划的特点wordpress 去版权
  • 郑州中心站百度推广关键词规划师
  • 建设电子商务系统网站徐州最大的网络平台公司
  • 广州市外贸网站建设企业关键词优化怎么写
  • 机场建设相关网站网站建设 销售提成
  • 广州微信网站建设效果搭建网站的五大步骤
  • 在线logo设计网站北京做网站定制价格
  • 济南网站建设触屏网站开发教程
  • 广西智能网站建设找哪家建站平台和网站建设的区别
  • 京东网站是刘强冬自己做的吗网站建设流量入口
  • 通化县住房和城乡建设局网站服装公司网站建设方案
  • 菏泽网站建设仕佳互联小企业网站维护一年多少钱
  • 怎么在wordpress建英文网站建设网站费用多少
  • 用宝塔给远程网站做备份维护公司
  • 外国网站架构wordpress定制器
  • 大型免费网站制作迅当网络深圳外贸网站建设
  • 凡客建站登录公司网站建设提纲
  • 长春建设信息网站六安城市网电话是多少
  • 中国最大的网站制作公司蛋糕方案网站建设
  • 桂林建网站苍南最好的网站建设公司
  • 安阳网站制作价格电商网站设计方案
  • 有关小城镇建设的网站网络系统管理与维护机考